飢人谷 2019 前端押題(講義)

方應杭在飢人谷發表於2019-03-20

答案在《完整講義》裡,這裡只有題目。

押題跟 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. 轉義出的檔案過大怎麼辦?

上面五題請看這個不錯的參考: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 說一下

個性化題目

  • PWA
  • echarts.js / d3.js
  • three.js
  • flutter
  • SSR

如果需要視訊講解,點選連結即可。

相關文章