歷時半年,我們整理了這份市面上最全面的前端校招面試題解析大全。
包含了騰訊、字節跳動、百度、阿里、滴滴、美團、58、拼多多、360、新浪、搜狐等一線互聯網公司面試被問到的題目。希望對大家參加前端校招有所幫助吧!
HTML
- 瀏覽器頁面有哪三層構成,分別是什么,作用是什么?
- HTML5的優點與缺點?
- Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
- HTML5有哪些新特性、移除了哪些元素?
- 你做的網頁在哪些瀏覽器測試過,這些瀏覽器的內核分別是什么?
- 每個HTML文件里開頭都有個很重要的東西,Doctype,知道這是干什么的嗎?
- 說說你對HTML5認識?(是什么,為什么)
- 對WEB標准以及W3C的理解與認識?
- HTML全局屬性(global attribute)有哪些?
- 說說超鏈接target屬性的取值和作用?
- iframe有那些缺點?
- Label的作用是什么,是怎么用的?
- 如何實現瀏覽器內多個標簽頁之間的通信?
- 談談你對canvas的理解?
- ......
CSS
- 解釋一下CSS的盒子模型?
- 請你說說CSS選擇器的類型有哪些,並舉幾個例子說明其用法?
- 請你說說CSS有什么特殊性?(優先級、計算特殊值)
- 常見瀏覽器兼容性問題與解決方案?
- 列出display的值並說明他們的作用?
- 如何居中div, 如何居中一個浮動元素?
- 請列舉幾種清除浮動的方法(至少兩種)?
- block,inline和inlinke-block細節對比?
- 什么叫優雅降級和漸進增強?
- 說說浮動元素會引起的問題和你的解決辦法
- 你有哪些性能優化的方法?
- 為什么要初始化CSS樣式?
- CSS樣式表根據所在網頁的位置,可分為哪幾種樣式表?
- 請你說說em與rem的區別?
- ......
JavaScript
- js的各種位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的區別?
- js拖拽功能的實現
- 異步加載js的方法
- js的防抖與節流
- 說一下閉包
- 說說你對作用域鏈的理解
- JavaScript原型,原型鏈 ? 有什么特點?
- 請解釋什么是事件委托/事件代理
- Javascript如何實現繼承?
- 函數執行改變this
- babel編譯原理
- 函數柯里化
- 說一下類的創建和繼承
- 說說前端中的事件流
- 如何讓事件先冒泡后捕獲
- 說一下圖片的懶加載和預加載
- js的new操作符做了哪些事情
- 改變函數內部this指針的指向函數(bind,apply,call的區別)
- Ajax解決瀏覽器緩存問題
- ......
由於篇幅有限,只能分享部分面試題,完整版面試題及答案可以【點擊我】閱讀下載哦~無償分享給大家
Vue
- Vue中 key 值的作用
- Vue 組件中 data 為什么必須是函數?
- vuex的State特性是?
- 介紹一下Vue的響應式系統
- computed與watch的區別
- 介紹一下Vue的生命周期
- 為什么組件的data必須是一個函數
- 組件之間是怎么通信的
- Vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
- Vue如何實現按需加載配合webpack設置
- 簡單描述每個周期具體適合哪些場景
- scss是什么?在Vue.cli中的安裝使用步驟是?有哪幾大特性?
- 聊聊你對Vue.js的template編譯的理解?
- Vue 路由跳轉的幾種方式
- Vue如何實現按需加載配合webpack設置?
- Vue的路由實現:hash模式和history模式
- Vue與Angular以及React的區別?
- Vue路由的鈎子函數
- 什么是Vue的計算屬性?
- ......
React
- 介紹一下react
- React單項數據流
- react生命周期函數和react組件的生命周期
- react和Vue的原理,區別,亮點,作用
- reactJs的組件交流
- 有了解過react的虛擬DOM嗎,虛擬DOM是怎么對比的呢
- 項目里用到了react,為什么要選擇react,react有哪些好處
- 怎么獲取真正的dom
- 選擇react的原因
- react的生命周期函數
- setState之后的流程
- react高階組件知道嗎?
- React的jsx,函數式編程
- react的組件是通過什么去判斷是否刷新的
- 如何配置React-Router
- 路由的動態加載模塊
- Redux中間件是什么東西,接受幾個參數
- redux請求中間件如何處理並發
瀏覽器
- 跨標簽頁通訊
- 瀏覽器架構
- 瀏覽器下事件循環(Event Loop)
- 從輸入 url 到展示的過程
- 重繪與回流
- 存儲
- Web Worker
- V8垃圾回收機制
- 內存泄露
- reflow(回流)和repaint(重繪)優化
- 如何減少重繪和回流?
- 一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發生了什么?
- localStorage 與 sessionStorage 與cookie的區別總結
- http多路復用
- cookie可設置哪些屬性?
- 正向代理和反向代理
- ......
服務端與網絡
- HTTPS和HTTP的區別
- HTTP版本
- 從輸入URL到頁面呈現發生了什么?
- HTTP緩存
- 緩存位置
- 強緩存
- 協商緩存
- 緩存的資源在那里
- 用戶行為對瀏覽器緩存的影響
- 緩存的優點
- 不同刷新的請求執行過程
- 為什么會有跨域問題
- 如何解決跨域
- 訪問控制場景(簡單請求與非簡單請求)
- withCredentials 屬性
- 服務器如何設置CORS
- URL類中的常用方法
算法與數據結構
- 二叉樹層序遍歷
- B樹的特性,B樹和B+樹的區別
- 尾遞歸
- 如何寫一個大數階乘?遞歸的方法會出現什么問題?
- 把多維數組變成一維數組的方法
- 說一下冒泡快排的原理
- Heap排序方法的原理?復雜度?
- 幾種常見的排序算法,手寫
- 數組的去重,盡可能寫出多個方法
- 如果有一個大的數組,都是整型,怎么找出最大的前10個數
由於篇幅有限,只能分享部分面試題,完整版面試題及答案可以【點擊我】閱讀下載哦~無償分享給大家