主题模版
模版结构
# <主题标题>
<!-- 由多个符合问题模版的结构组成一个主题 -->
<问题1>
<问题2>
主题下问题的组织顺序
核心原则是遵循认知学习规律,帮助面试者自然地构建知识体系,避免知识诅咒。 对于复杂的主题,可以进一步建立目录,按照子主题来再做拆分。 如果在一个文件中,主题参考如下原则对问题排序
提示
对于学科下主题,如果该主题下涉及多个子主题,建议拆解出升级到学科层级,比如框架等,虽然都归类为框架,但是框架本身并不是一个特定学科,所以每个框架都可以单开一个学科,然后在学科下再细分主题。
主要排序原则(由高到低优先级)
- 知识依赖关系
- 确保前置知识先于需要这些前置知识的内容出现
- 例如:先讲变量和类型,再讲类型转换
- 概念层级递进
- 从基础概念到进阶应用
- 例如:先讲基本数据类型,再讲引用类型,最后讲类型判断方法
- 复杂度递增
- 从简单到复杂
- 例如:先讲作用域,再讲闭包
- 应用频率
- 从日常高频使用概念到低频特殊场景
- 例如:先讲常规DOM操作,再讲页面性能优化
- 面试问到频率
- 在实际面试中被问到的概率高低
- 例如:事件循环比WeakMap更常被问到
示例如下,以JavaScript类型系统主题为例:
基本类型和引用类型(基础概念,无依赖)
类型判断方法(依赖于对类型的理解)
类型转换规则(依赖于对各类型特性的理解)
==和===的区别(依赖于类型转换规则)
包装类型(进阶概念,但需要基本类型知识)
Symbol和BigInt(较新的类型,复杂度较高)