前言
校招很重要,應屆生的身份很珍貴!在校招的時候與我們競爭的大部分都是沒有工作經驗的學生,而且校招企業對學生的包容度高,一般對企業來說,社招更看重實際工作經驗,而校招更願意“培養人”,校招招的是有基礎,願意學習的應屆生;社招招的是有經驗,可以直接上手的員工,相比較下來說,應屆生更容易在校招中拿到優質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
- 合並兩個有序數組
- ......
前端校招面試題、學習筆記、大廠面試題等 PDF(含答案解析)均可分享,加入這邊的Q裙:【624369675】免費領取!