前言
校招很重要,應屆生的身份很珍貴!在校招的時候與我們競爭的大部分都是沒有工作經驗的學生,而且校招企業對學生的包容度高,一般對企業來說,社招更看重實際工作經驗,而校招更願意“培養人”,校招招的是有基礎,願意學習的應屆生;社招招的是有經驗,可以直接上手的員工,相比較下來說,應屆生更容易在校招中拿到優質offer。
校招時間線:
前端大廠面試真題
下面是收集整理了最新的一些大廠實習面試真題,大家可以參考一下。
騰訊
- js 資料型別
- css盒模型
- css有哪些選擇器 ,選擇器優先順序
- 水平垂直居中
- 箭頭函式和普通函式的區別
- 跨域和相關解決方案
- http2 的優點和缺點,如何解決
- react 的渲染流程,diff 演算法
- 原型和原型鏈相關
- ES6 新特性有哪些
- 變數提升和暫時性死區的關係
- 事件迴圈
- 強快取協商快取
- cookie 的欄位有哪些,大小限制
- 說一下你瞭解的排序方法
- 輸入 URL 到頁面呈現經歷了什麼
- JS 檔案執行順序和頁面渲染有什麼關係嗎
- HTTP 常見狀態碼
- XSS、CSRF 介紹一下
- Vue 有哪些生命週期
- v-if 和 v-show 的差別
- 實現三列布局
- 實現一個簡單的觀察者模式
- Node 中介軟體的實現方式
- React 函式元件和類元件的區別
- React 事件合成
位元組
- 專案相關的
- 對前端的看法
- 說說JS有什麼特點和優缺點
- 怎麼解決浮點數精度問題
- es6 轉換 es5 怎麼處理 for 迴圈裡面 settimeout 列印區域性變數
- this指向
- 有哪些內建物件
- null 和 undefined 的區別
- js 執行機制和閉包(舉例子)
- 知道哪些佈局(說明特點和什麼場景適用)
- 上下左右居中除了 flex 和定位還有哪些方法
- 生成三角形
- css變數
- flex佈局
- 塊級元素、內聯元素區別,img標籤型別
- let const var區別
- 連結串列、佇列、棧的特點和實際工作中有哪些應用場景
- 演算法題:給出給定字串的迴文子串個數
- 合併有序陣列
- 對 CDN 的理解
- 對 QUIC 協議的理解
- 談談 HTTP2.0 和 HTTP1.1 的區別,服務端推送和長連線有什麼區別
- 給你一組數和一個數值,要你返回數值由陣列內的數組合而成的所有可能,陣列中的數可以無限次使用
- webpack 怎麼載入 CSS,載入器做了什麼?
- 說說 vue 路由有哪些模式和區別 ?
- 深複製的手動實現?
阿里
- http2 新特性講一下
- http2 中的長連線相比於 http1 中手動指定 keep-alive 的優勢
- vue 資料的雙向繫結原理
- vue 中有用過類似 react 中的 redux 之類的嗎?
- vuex 是什麼?實現原理知道嗎?
- vue2 和 vue3 的區別?
- node的中介軟體用過嗎?
- 檔案上傳中介軟體的前後端具體操作
- 中介軟體的實現原理
- Webpack 的 loaders 和 plugins 的區別
- 知道哪些專案最佳化手段
- 什麼東西會引起迴流重繪
- HTTP 的快取機制
- react 和 vue 的異同
- XSS 和 CSRF 的原因和解決辦法
- 模組化標準 ES6 和 CommonJS 有什麼區別?
- 箭頭函式
- 程序和執行緒
- 棧和佇列
- 閉包(是什麼,用途,缺點,解決辦法)
- this 指向以及 call、apply 的用法
- 偽類和偽元素的區別
- 盒模型
京東
- 介紹一下 webpack
- 具體說說 plugins
- 閉包
- 原型和原型鏈
- Promise 應用場景
- async 和 await
- position
- vue 響應式資料原理
- 對 vue3.0 的瞭解
- vue 的生命週期
- v-for 中 key 的作用 具體說說 diff 演算法
- vuex,為什麼要有action?
- redux 工作流程
- 說說 computed 和 watch
- vh vw rem em
- css 動畫
- jQuery和react區別
- 堆疊區別
- 排序方法有哪些 ?快排的實現思想、時間複雜度 完善歸併排序
- 防抖和節流
- 宏任務和微任務
- 對工程化的理解
點選免費領取文中前端資料
前端校招面試題精編解析大全
文件內容主要包括 HTML,CSS,前端基礎,前端核心,前端進階,移動端開發,計算機基礎,演算法與資料結構,設計模式,專案等等面試題。
HTML
- 瀏覽器頁面有哪三層構成,分別是什麼,作用是什麼?
- HTML5的優點與缺點?
- Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
- HTML5有哪些新特性、移除了哪些元素?
- 你做的網頁在哪些瀏覽器測試過,這些瀏覽器的核心分別是什麼?
- 每個HTML檔案裡開頭都有個很重要的東西,Doctype,知道這是幹什麼的嗎?
- 說說你對HTML5認識?(是什麼,為什麼)
- 對WEB標準以及W3C的理解與認識?
- HTML5行內元素有哪些,塊級元素有哪些, 空元素有哪些?
- 什麼是WebGL,它有什麼優點?
- 請你描述一下 cookies,sessionStorage 和 localStorage 的區別?
- .說說你對HTML語義化的理解?
- link和@import的區別?
- 說說你對SVG理解?
- HTML全域性屬性(global attribute)有哪些?
- 說說超連結target屬性的取值和作用?
- data-屬性的作用是什麼?
- 介紹一下你對瀏覽器核心的理解?
- 常見的瀏覽器核心有哪些?
- iframe有那些缺點?
- ......
CSS
- 解釋一下CSS的盒子模型?
- 請你說說CSS選擇器的型別有哪些,並舉幾個例子說明其用法?
- 請你說說CSS有什麼特殊性?(優先順序、計算特殊值)
- 要動態改變層中內容可以使用的方法?
- 常見瀏覽器相容性問題與解決方案?
- 列出display的值並說明他們的作用?
- 如何居中div, 如何居中一個浮動元素?
- CSS中 link 和@import 的區別是?
- 請列舉幾種清除浮動的方法(至少兩種)?
- block,inline和inlinke-block細節對比?
- 什麼叫優雅降級和漸進增強?
- 說說浮動元素會引起的問題和你的解決辦法
- 你有哪些效能最佳化的方法?
- 為什麼要初始化CSS樣式?
- 解釋下浮動和它的工作原理?清除浮動的技巧?
- CSS樣式表根據所在網頁的位置,可分為哪幾種樣式表?
- 談談你對CSS中刻度的認識?
- 請你說說em與rem的區別?
- 請你說說box-sizing屬性的的用法?
- 瀏覽器標準模式和怪異模式之間的區別是什麼?
- ......
前端基礎
- 說一下http和https
- tcp三次握手,一句話概括
- TCP和UDP的區別
- WebSocket的實現和應用
- HTTP請求的方式,HEAD方式
- 說一下web Quality(無障礙)
- 幾個很實用的BOM屬性物件方法?
- 說一下HTML5 drag api
- 說一下http2.0
- 補充400和401、403狀態碼
- fetch傳送2次請求的原因
- .Cookie、sessionStorage、localStorage的區別
- 說一下web worker
- 對HTML語義化標籤的理解
- iframe是什麼?有什麼缺點?
- Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
- Cookie如何防範XSS攻擊
- Cookie和session的區別
- 一句話概括RESTFUL
- ......
前端核心
- JSONP的缺點
- 跨域(jsonp,ajax)
- 如何實現跨域
- dom是什麼,你的理解?
- 關於dom的api有什麼
- ajax返回的狀態
- 實現一個Ajax
- 如何實現ajax請求,假如我有多個請求,我需要讓這些ajax請求按照某種順序一次執行,有什麼辦法呢?如何處理ajax跨域
- 如何實現一個ajax請求?如果我想發出兩個有順序的ajax需要怎麼做?
- Fetch和Ajax比有什麼優缺點?
- 移動應用和web應用的關係
- 知道PWA嗎
- 做過移動端嗎
- ......
前端進階
- 前端測試
- 介面文件的制定
- webpack和gulp區別(模組化與流的區別)
- redux用處
- redux裡常用方法
- angularJs和react區別
- vue雙向繫結原理
- 說說vue react angularjs jquery的區別
- node的事件方法講講看
- node的特性,適合處理什麼場景
- 你有用到Express,講講Express
- promise的狀態有那些
- ......
計算機基礎
- TCP 建立連線的三次握手過程
- cdn 原理
- HTTP 的頭部包含哪些內容。常見的請求方法(我為什麼要 說後面的 options,head,connect)
- 請求方法 head 特性
- HTTP 狀態碼,301和302 有什麼具體區別,200 和 304 的 區別
- OSI 七層模型
- TCP 和 UDP 的區別,為什麼三次握手四次揮手
- HTTP 快取機制
- websocket 和 ajax 的區別是什麼,websocket 的應用場景有哪些
- TCP/IP 的網路模型
- 知道什麼跨域方式嗎,jsonp 具體流程是什麼,如何實現 原生 Jsonp 封裝,最佳化,對於 CORS,伺服器怎麼判斷它該不 該跨域呢
- 怎麼生成 token,怎麼傳遞
- 作業系統程序和執行緒的區別
- 什麼是程序執行緒
- ......
演算法與資料結構
- 二叉樹層序遍歷
- B 樹的特性,B 樹和 B+樹的區別
- 尾遞迴
- 如何寫一個大數階乘?遞迴的方法會出現什麼問題?
- 把多維陣列變成一維陣列的方法
- 知道的排序演算法 說一下冒泡快排的原理
- Heap 排序方法的原理?複雜度?
- 幾種常見的排序演算法,手寫
- 陣列的去重,儘可能寫出多個方法
- 如果有一個大的陣列,都是整型,怎麼找出最大的前 10 個數
- 知道資料結構裡面的常見的資料結構
- 找出陣列中第 k 大的陣列出現多少次,比如陣列【1,2, 4,4,3,5】第二大的數字是 4,出現兩次,所以返回 2
- 合併兩個有序陣列
- ......