# 说说面试的那些事儿
# 1. 前端面试重要考点
- html、css
- 原型、作用域、异步
- DOM事件、Ajax、跨域
- 性能优化
- 各种手写代码
- HTTP协议
# 2. 知识点
- CSS
- 布局
- 定位
- 移动端响应式
- ES语法
- 原型、原型链
- 作用域、闭包
- 异步、单线程
- webApi
- DOM、BOM
- Ajax跨域
- 事件存储
- 开发环境
- 版本管理
- 调试抓包
- 打包构建
- 运行环境
- 页面渲染
- 性能优化
- web安全
- 网络通讯
- headers
- RestfulApi
- 缓存策略
# 3. 关于面试
# 3.1. 面试层级
- 基层工程师:基础知识
- 高级工程师:基础知识+项目经验
- 架构师:解决方案能力
# 3.2. 关于基础
- 工程师的自我修养:基础知识
- 扎实的基础知识能让你高效地学习新技术
# 4. 面试题
# 4.1. 系列1
- typeof能判断哪些类型
- 何时使用===,何时使用==
- window.onload和DOMContentLoaded的区别
# 4.2. 系列2
- JS创建10个
<a>
标签,点击的时候弹出对应序号 - 手写节流throttle、防抖debounce
- Promise解决了什么问题
# 5. 思考
- 拿到一个面试题,第一时间看到的是什么
- 如何看待网上搜出来的永远做不完的题海
- 如何对待接下来遇到的面试题
# 6. 如何搞定所有面试题
解决上面的问题
- 拿到一个面试题,第一时间看到 => 考点
- 如何看待网上搜出来的永远做不完的题海 => 不变应万变
- 题可变,考点不变
- 如何对待接下来遇到的面试题 => 题目到知识点,再到题目
# 7. 判断之前面试题的考点
# 7.1. 系列1
- typeof能判断哪些类型
- 考点:JS变量类型
- 由考点延伸出的知识点
- 值类型和引用类型的区别
- 引用类型的拷贝如何去做深拷贝
- 如何判断一个数据是不是数组或是不是对象
- ......
- 何时使用===,何时使用==
- 考点:强制类型转换
- 由考点延伸出的知识点
- 字符串拼接有强制类型转换
- if{}else{}逻辑判断的时候会有强制类型转换
- ......
- window.onload和DOMContentLoaded的区别
- 考点:页面加载过程
- 由考点延伸出的知识点
- 为什么我们要把css加载放到head里面,把js加载放在body下面
# 7.2. 系列2
- JS创建10个
<a>
标签,点击的时候弹出对应序号- 考点:JS作用域
- 由考点延伸出的知识点
- 闭包
- ......
- 手写节流throttle、防抖debounce
- 考点:性能、体验优化
- 由考点延伸出的知识点
- 其他的解决性能和体验优化的方法有哪些
- ......
- Promise解决了什么问题
- 考点:异步
- 由考点延伸出的知识点
- 异步和同步有什么区别
- 为什么会有异步,异步的应用场景是什么
- 定时器该如何去使用
- ......
# 8. 一面中涉及到的前端知识体系
# 8.1. 什么是知识体系
- 知识体系:结构化的知识范围
- 涵盖所有知识点
- 结构化、有组织、易扩展
- 高效学习三部曲:找准知识体系、刻意训练、及时反馈
- 只要是一个以知识以技术组成的行业,就必定有他自己的知识体系
- 在一个行业领域,都要先找准知识体系
- 针对知识体系里面的每一个知识点每个动作,一个一个地反复练习,不要偷懒
- 工作、实际做项目、面试、写文章供别人评论,或者在社区里面交流,通过这些途径,输出自己的学习成果,接收到别人对你的评价,即及时反馈
# 8.2. 从哪些方面梳理
- 从行业标准去思考:W3C标准
- ECMA 262标准
- js的语法规范,诸如ES6、ES7规范
- 开发环境
- 我们需要在什么基础上写一些代码(脚手架之类)
- 运行环境
- 我们的代码需要在哪些地方运行
- 运行的时候会不会出现什么问题,以及该如何去优化
# 9. 知识体系目录
- CSS基础知识
- JS基础语法
- 原型、异步……
- JS-Web-Api
- js如何去操作dom、bom、如何去做数据通讯,如何添加dom事件……
- 开发环境
- 运行环境
- HTTP协议
# 10. 思维导图
# 11. 使用http-server启前端服务
npm install -g http-server
- cd到某个目录
http-server -p 8881
~End~