目录

饥人谷 2019 前端押题(讲义)

答案在《完整讲义》里,这里只有题目。

押题跟 GitHub 上面的一些《面试宝典》《面试题收集》没有本质区别,唯一的区别是:我押的题目更少,而不是题海战术,所以更容易帮到你找到重点。

去年的 2018 押题帮助了不少面试者在面试中获得自信,今年增加了 TypeScript 和 React 章节,删除了一些过时的题目,并且额外讲了两个大题:『JS 垃圾回收』和『Eventloop』,目前在打折,值得购买哦。

注意事项

  1. 『很多』公司面试题都是常年不更新的,『可能』你搜该公司往年的面经,就能猜到今年的题目,比押题还准,所以推荐你优先搜往年面经
  2. 很多面试官的知识也是常年不更新的,你不要答得太『偏激』太『新颖』,应该了解大众的想法
  3. 本押题主要强调答题思路,具体答案都可以搜到(不要用百度,要用谷歌搜索)
  4. 强烈推荐面试前把『必考』题全部自己答一遍,如果有用请告诉我

HTML

  1. 必考:你是如何理解 HTML 语义化的?
  2. meta viewport 是做什么用的,怎么写?
  3. 你用过哪些 HTML 5 标签?
  4. H5 是什么?

CSS

  1. 必考:两种盒模型分别说一下。
  2. 必考:如何垂直居中?
  3. 必考:flex 怎么用,常用属性有哪些?
  4. 必考:BFC 是什么?
  5. CSS 选择器优先级
  6. 清除浮动说一下

原生 JS

  1. 必考:ES 6 语法知道哪些,分别怎么用?
  2. 必考 Promise、Promise.all、Promise.race 分别怎么用?
  3. 必考:手写函数防抖和函数节流
  4. 必考:手写AJAX
  5. 必考:这段代码里的 this 是什么?
  6. 必考:闭包/立即执行函数是什么?
  7. 必考:什么是 JSONP,什么是 CORS,什么是跨域?
  8. 常考:async/await 怎么用,如何捕获异常?
  9. 常考:如何实现深拷贝?
  10. 常考:如何用正则实现 trim()?
  11. 常考:不用 class 如何实现继承?用 class 又如何实现?
  12. 常考:如何实现数组去重?
  13. 放弃:== 相关题目(反着答)
  14. 送命题:手写一个 Promise

DOM

  1. 必考:事件委托
  2. 曾考:用 mouse 事件写一个可拖曳的 div

HTTP

  1. 必考:HTTP 状态码知道哪些?分别什么意思?
  2. 大公司必考:HTTP 缓存有哪几种?
  3. 必考:GET 和 POST 的区别
  4. Cookie V.S. LocalStorage V.S. SessionStorage V.S. Session

框架 Vue

  1. 必考:watch 和 computed 和 methods 区别是什么?
  2. 必考:Vue 有哪些生命周期钩子函数?分别有什么用?
  3. 必考:Vue 如何实现组件间通信?
  4. 必考:Vue 数据响应式怎么做到的?
  5. 必考:Vue.set 是做什么用的?
  6. Vuex 你怎么用的?
  7. VueRouter 你怎么用的?
  8. 路由守卫是什么?

框架 React

  1. 必考:受控组件 V.S. 非受控组件
  2. 必考:React 有哪些生命周期函数?分别有什么用?(Ajax 请求放在哪个阶段?)
  3. 必考:React 如何实现组件间通信?
  4. 必考:shouldComponentUpdate 有什么用?
  5. 必考:虚拟 DOM 是什么?
  6. 必考:什么是高阶组件?
  7. React diff 的原理是什么?
  8. 必考 Redux 是什么?
  9. connect 的原理是什么?

TypeScript

  1. never 类型是什么?
  2. TypeScript 比起 JavaScript 有什么优点?

Webpack

  1. 必考:有哪些常见 loader 和 plugin,你用过哪些?
  2. 英语题:loader 和 plugin 的区别是什么?
  3. 必考:如何按需加载代码?
  4. 必考:如何提高构建速度?
  5. 转义出的文件过大怎么办?

上面五题请看这个不错的参考:https://zhuanlan.zhihu.com/p/44438844

安全

  1. 必考:什么是 XSS?如何预防?
  2. 必考:什么是 CSRF?如何预防?

开放题目

  1. 必考:你遇到最难的问题是怎样的?
  2. 你在团队的突出贡献是什么?
  3. 最近在关注什么新技术
  4. 有没有看什么源码,看了后有什么记忆深刻的地方,有什么收获

刁钻题目

  1. 代码[1,2,3].map(parseInt)
  2. 代码var a = {name: 'a'} a.x = a = {} 问 a.x 是多少?
  3. (a ==1 && a== 2 && a==3) 可能为 true 吗?

超纲题

  1. JS 垃圾回收机制
  2. Eventloop 说一下

个性化题目

如果需要视频讲解,点击链接即可。

需要咨询的同学请看我知乎首页的联系方式。

饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com

本文作者:饥人谷方应杭老师