答案在《完整讲义》里,这里只有题目。
押题跟 GitHub 上面的一些《面试宝典》《面试题收集》没有本质区别,唯一的区别是:我押的题目更少,而不是题海战术,所以更容易帮到你找到重点。
去年的 2018 押题帮助了不少面试者在面试中获得自信,今年增加了 TypeScript 和 React 章节,删除了一些过时的题目,并且额外讲了两个大题:『JS 垃圾回收』和『Eventloop』,目前在打折,值得购买哦。
注意事项
- 『很多』公司面试题都是常年不更新的,『可能』你搜该公司往年的面经,就能猜到今年的题目,比押题还准,所以推荐你优先搜往年面经
- 很多面试官的知识也是常年不更新的,你不要答得太『偏激』太『新颖』,应该了解大众的想法
- 本押题主要强调答题思路,具体答案都可以搜到(不要用百度,要用谷歌搜索)
- 强烈推荐面试前把『必考』题全部自己答一遍,如果有用请告诉我
HTML
- 必考:你是如何理解 HTML 语义化的?
- meta viewport 是做什么用的,怎么写?
- 你用过哪些 HTML 5 标签?
- H5 是什么?
CSS
- 必考:两种盒模型分别说一下。
- 必考:如何垂直居中?
- 必考:flex 怎么用,常用属性有哪些?
- 必考:BFC 是什么?
- CSS 选择器优先级
- 清除浮动说一下
原生 JS
- 必考:ES 6 语法知道哪些,分别怎么用?
- 必考 Promise、Promise.all、Promise.race 分别怎么用?
- 必考:手写函数防抖和函数节流
- 必考:手写AJAX
- 必考:这段代码里的 this 是什么?
- 必考:闭包/立即执行函数是什么?
- 必考:什么是 JSONP,什么是 CORS,什么是跨域?
- 常考:async/await 怎么用,如何捕获异常?
- 常考:如何实现深拷贝?
- 常考:如何用正则实现 trim()?
- 常考:不用 class 如何实现继承?用 class 又如何实现?
- 常考:如何实现数组去重?
- 放弃:== 相关题目(反着答)
- 送命题:手写一个 Promise
DOM
- 必考:事件委托
- 曾考:用 mouse 事件写一个可拖曳的 div
HTTP
- 必考:HTTP 状态码知道哪些?分别什么意思?
- 大公司必考:HTTP 缓存有哪几种?
- 必考:GET 和 POST 的区别
- Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session
框架 Vue
- 必考:watch 和 computed 和 methods 区别是什么?
- 必考:Vue 有哪些生命周期钩子函数?分别有什么用?
- 必考:Vue 如何实现组件间通信?
- 必考:Vue 数据响应式怎么做到的?
- 必考:Vue.set 是做什么用的?
- Vuex 你怎么用的?
- VueRouter 你怎么用的?
- 路由守卫是什么?
框架 React
- 必考:受控组件 V.S. 非受控组件
- 必考:React 有哪些生命周期函数?分别有什么用?(Ajax 请求放在哪个阶段?)
- 必考:React 如何实现组件间通信?
- 必考:shouldComponentUpdate 有什么用?
- 必考:虚拟 DOM 是什么?
- 必考:什么是高阶组件?
- React diff 的原理是什么?
- 必考 Redux 是什么?
- connect 的原理是什么?
TypeScript
- never 类型是什么?
- TypeScript 比起 JavaScript 有什么优点?
Webpack
- 必考:有哪些常见 loader 和 plugin,你用过哪些?
- 英语题:loader 和 plugin 的区别是什么?
- 必考:如何按需加载代码?
- 必考:如何提高构建速度?
- 转义出的文件过大怎么办?
上面五题请看这个不错的参考:zhuanlan.zhihu.com/p/44438844
安全
- 必考:什么是 XSS?如何预防?
- 必考:什么是 CSRF?如何预防?
开放题目
- 必考:你遇到最难的问题是怎样的?
- 你在团队的突出贡献是什么?
- 最近在关注什么新技术
- 有没有看什么源码,看了后有什么记忆深刻的地方,有什么收获
刁钻题目
- 代码[1,2,3].map(parseInt)
- 代码var a = {name: 'a'} a.x = a = {} 问 a.x 是多少?
(a ==1 && a== 2 && a==3)
可能为 true 吗?
超纲题
- JS 垃圾回收机制
- Eventloop 说一下
个性化题目
- PWA
- echarts.js / d3.js
- three.js
- flutter
- SSR
如果需要视频讲解,点击链接即可。