金三銀四的招聘旺季,作為前端工程師的你想要跳槽大廠,但不知道大廠前端面試究竟考些什么——
- HTTP 返回的狀態碼有哪些?
- 什么是虛擬 DOM?
- 如何寫一個 babel 插件?
- 請描述一下 Vue 的生命周期?
......
前端學習內容復雜、網上資料良莠不齊,想要靠自己梳理清楚確實不容易,為了幫助想要跳槽進大廠的你在金三銀四順利通過前端面試,我們為你專門梳理了各個大廠前端工程師常考必考的面試題型,總結出這「400 道前端工程師常考必考面試題 + 詳細解答」
前端開發面試知識點大綱:
HTML&CSS:
對Web標准的理解、瀏覽器內核差異、兼容性、hack、CSS基本功:布局、盒子模型、選擇器優先級及使用、HTML5、CSS3、移動端適應
JavaScript:
數據類型、面向對象、繼承、閉包、插件、作用域、跨域、原型鏈、模塊化、自定義事件、內存泄漏、事件機制、異步裝載回調、模板引擎、Nodejs、JSON、ajax等。
其他:
HTTP、安全、正則、優化、重構、響應式、移動端、團隊協作、可維護、SEO、UED、架構、職業生涯
HTML&CSS
- 你是怎么理解HTML語義化
- 你用過哪些HTML5標簽
- metaviewport是做什么用的,怎么寫?
- label標簽的作用
- 行內元素有哪些?塊級元素有哪些?空(void)元素有那些?
- a標簽中如何禁用href跳轉頁面或定位鏈接
- canvas在標簽上設置寬高和在style中設置寬高有什么區別
- 介紹一下CSS的盒子模型
- CSS選擇符有哪些?
- CSS3新增偽類有哪些
- 什么是cssHACK?
- Less/Sass/Scss的區別
- 請解釋一下CSS3的flexbox(彈性盒布局模型),以及適用場景?
- ......
JavaScript
- 請解釋什么是事件委托/事件代理
- Javascript如何實現繼承?
- 函數執行改變this
- babel編譯原理
- 函數柯里化
- 說一下類的創建和繼承
- 說說前端中的事件流
- 如何讓事件先冒泡后捕獲
- 說一下圖片的懶加載和預加載
- js的new操作符做了哪些事情
- 改變函數內部this指針的指向函數(bind,apply,call的區別)
- Ajax解決瀏覽器緩存問題
- ......
VUE
- vue.js的兩個核心是什么?
- vue的雙向綁定的原理是什么?
- vue生命周期鈎子函數有哪些?
- 請問v-if和v-show有什么區別?
- vue常用的修飾符
- 什么是vue生命周期
- 數據響應(數據劫持)
- virtualdom原理實現
- Proxy相比於defineProperty的優勢
- vue中key值的作用
- ......
數據結構與算法
- 哈希
- ⼆叉樹
- 鏈表
- 數組
- 排序
- 堆與棧
- ⾼級算法
- 動態規划