前言
筆者應屆生,參加今年春招實習面試,順利拿到了offer,給大家分享面試經歷和麵試題,供大家參考一下。希望大家都能順利透過面試。
前端位元組(實習)
一面
自我介紹
介紹專案
滑動懶載入如何實現
如果出現了問題怎麼辦
http狀態碼
講一下http快取
promise
設計方法清理快取
爬樓梯
vue響應式原理
瞭解react嗎
二面
介紹一下做過的專案
看題說輸出: 原型鏈,this,promise
實現[[‘a’, ‘b’], [‘n’, ‘m’], [‘0’, ‘1’]] => [“an0”, “an1”, “am0”, “am1”, “bn0”, “bn1”, “bm0”, “bm1”]
實現事件代理
輸入url到頁面渲染
三面
自我介紹
根據自我介紹的內容進行提問
js 和 java 的區別
作用域 和 this 相關的題目
一道js程式設計題
對 css 的瞭解
css 樣式優先順序
前端效能衡量指標
前端效能最佳化方法
hr面
自我介紹
為什麼學前端
職業規劃
實習目的
入職時間
對部門的瞭解
反問
2021前端位元組跳動真題解析
內容大綱包括:HTML(5),CSS(3) 基礎,JavaScript 基礎,Vue框架,計算機網路基礎,演算法
HTML
HTML5 有哪些新特性?
Doctype作⽤? 嚴格模式與混雜模式如何區分?它們有何意義?
如何實現瀏覽器內多個標籤頁之間的通訊?
⾏內元素有哪些?塊級元素有哪些? 空(void)元素有那些?⾏內元 素和塊級元素有什麼區別?
簡述⼀下src與href的區別?
cookies,sessionStorage,localStorage 的區別?
HTML5 的離線儲存的使用和原理?
怎樣處理 移動端 1px 被 渲染成 2px 問題?
瀏覽器是如何渲染頁面的?
iframe 的優缺點?
Canvas 和 SVG 圖形的區別是什麼?
meta 標籤?
CSS 基礎
請你講一講 CSS 的權重和優先順序
介紹 Flex 佈局,flex 是什麼屬性的縮寫:
CSS 怎麼畫一個大小為父元素寬度一半的正方形?
CSS實現自適應正方形、等寬高比矩形
實現兩欄佈局的方式
實現三列布局的方式
CSS 動畫有哪些?
用css2和css3分別寫一下垂直居中和水平居中
visibility 和 display 的差別(還有opacity)
opacity 可以有過渡效果嘛?
BFC 與 IFC 區別
BFC會與float元素相互覆蓋嗎?為什麼?舉例說明
瞭解box-sizing嗎?
什麼是 BFC
瞭解盒模型嗎?
說一下你知道的position屬性,都有啥特點?
兩個div上下排列,都設margin,有什麼現象?
清除浮動有哪些方法?
JavaScript 基礎
問:0。1 + 0。2 === 0。3 嘛?為什麼?
JS 資料型別
JS 整數是怎麼表示的?
Number() 的儲存空間是多大?如果後臺傳送了一個超過最大自己的數字怎麼辦
寫程式碼:實現函式能夠深度克隆基本型別
事件流
事件是如何實現的?
new 一個函式發生了什麼
new 一個建構函式,如果函式返回 return {} 、 return null , return 1 , return true 會發生什麼情況?
symbol有什麼用處
閉包是什麼?
閉包產生的本質
一般如何產生閉包
閉包的應用場景
什麼是作用域?
什麼是作用域鏈?
NaN 是什麼,用 typeof 會輸出什麼?
JS 隱式轉換,顯示轉換
瞭解 this 嘛,bind,call,apply 具體指什麼
手寫 bind、apply、call
setTimeout(fn, 0)多久才執行,Event Loop
手寫題:Promise 原理
js指令碼載入問題,async、defer問題
如何判斷一個物件是不是空物件?
外部js檔案先載入還是onload先執行,為什麼?
怎麼加事件監聽
事件傳播機制(事件流)
說一下原型鏈和原型鏈的繼承吧
說下對 JS 的瞭解吧
陣列能夠呼叫的函式有那些?
如何判斷陣列型別
函式中的arguments是陣列嗎?類陣列轉陣列的方法瞭解一下?
用過 TypeScript 嗎?它的作用是什麼?
PWA使用過嗎?serviceWorker的使用原理是啥?
ES6 之前使用 prototype 實現繼承
如果一個建構函式,bind了一個物件,用這個建構函式創建出的例項會繼承這個物件的屬性嗎?為什麼?
箭頭函式和普通函式有啥區別?箭頭函式能當建構函式嗎?
知道 ES6 的 Class 嘛?Static 關鍵字有了解嘛
事件迴圈機制 (Event Loop)
手寫題:陣列扁平化
手寫題:實現柯里化
手寫題:陣列去重
let 閉包
變數提升
instance 如何使用
Vue框架
active-class是哪個元件的屬性?巢狀路由怎麼定義?
怎麼定義vue-router的動態路由?怎麼獲取傳過來的動態引數?
vue-router有哪幾種導航鉤子?
scss是什麼?在vue。cli中的安裝使用步驟是?有哪幾大特性?
mint-ui是什麼?怎麼使用?說出至少三個元件使用方法?
v-model是什麼?怎麼使用? vue中標籤怎麼繫結事件?
axios是什麼?怎麼使用?描述使用它實現登入功能的流程?
axios+tp5進階中,呼叫axios。post(‘api/user’)是進行的什麼操作?axios。put(‘api/user/8′)呢?
什麼是RESTful API?怎麼使用?
vuex是什麼?怎麼使用?哪種功能場景使用它?
mvvm框架是什麼?它和其它框架(jquery)的區別是什麼?哪些場景適合?
自定義指令(v-check、v-focus)的方法有哪些?它有哪些鉤子函式?還有哪些鉤子函式引數?
說出至少4種vue當中的指令和它的用法?
vue-router是什麼?它有哪些元件?
導航鉤子有哪些?它們有哪些引數?
Vue的雙向資料繫結原理是什麼?
請詳細說下你對vue生命週期的理解?
請說下封裝 vue 元件的過程?
你是怎麼認識vuex的?
vue-loader是什麼?使用它的用途有哪些?
請說出vue。cli專案中src目錄每個資料夾和檔案的用法?
vue。cli中怎樣使用自定義的元件?有遇到過哪些問題嗎?
聊聊你對Vue。js的template編譯的理解?
Vuex是什麼?為什麼使用Vuex?
vuejs與angularjs的區別?
vue為什麼不直接操作dom?
你怎麼理解vue是一個漸進式的框架?
Vue宣告元件的state是用data方法,那為什麼data是透過一個function來返回一個物件,而不是直接寫一個物件呢?
說下vue元件之間的通訊?
vue中mixin與extend區別?
計算機網路基礎
HTTP 快取
HTTP 常用的狀態碼及使用場景?
你知道 302 狀態碼是什麼嘛?你平時瀏覽網頁的過程中遇到過哪些 302 的場景?
HTTP 常用的請求方式,區別和用途?
你對計算機網路的認識怎麼樣
HTTPS 是什麼?具體流程
三次握手和四次揮手
在互動過程中如果資料傳送完了,還不想斷開連線怎麼辦,怎麼維持?
你對 TCP 滑動視窗有了解嘛?
WebSocket與Ajax的區別
瞭解 WebSocket 嘛?
HTTP 如何實現長連線?在什麼時候會超時?
Fetch API與傳統Request的區別
POST一般可以傳送什麼型別的檔案,資料處理的問題
TCP 如何保證有效傳輸及擁塞控制原理。
http知道嘛?哪一層的協議?(應用層)
OSI七層模型和TCP/IP四層模型
TCP 協議怎麼保證可靠的,UDP 為什麼不可靠?
HTTP 2 改進
DDOS 攻擊
演算法
連結串列
前序遍歷判斷迴文連結串列
反轉連結串列
合併K個升序連結串列
K 個一組翻轉連結串列
環形連結串列
排序連結串列
相交連結串列
字串
【面試真題】最長迴文子串【雙指標】
最長公共字首【雙指標】
無重複字元的最長子串【雙指標】
【面試真題】最小覆蓋子串【滑動視窗】
陣列問題
【面試真題】俄羅斯套娃信封問題【排序+最長上升子序列】
最長連續遞增序列【快慢指標】
最長連續序列 【雜湊表】
【面試真題】盛最多水的容器【雜湊表】
尋找兩個正序陣列的中位數【雙指標】
刪除有序陣列中的重複項【快慢指標】
和為K的子陣列【雜湊表】
nSum問題【雜湊表】
【面試真題】接雨水【暴力+備忘錄最佳化】
跳躍遊戲【貪心演算法】
二叉樹
二叉樹的最近公共祖先
二叉搜尋樹中的搜尋
刪除二叉搜尋樹中的節點
完全二叉樹的節點個數
二叉樹的鋸齒形層序遍歷
排序演算法
用最少數量的箭引爆氣球
合併區間【排序演算法+區間問題】
二分查詢
判斷子序列【二分查詢】
在排序陣列中查詢元素的第一個和最後一個位置【二分搜尋】
動態規劃
最長遞增子序列
【面試真題】 零錢兌換
【面試真題】 最長公共子序列
編輯距離
【面試真題】最長迴文子序列
【面試真題】最大子序和
【面試真題】 買賣股票的最佳時機
BFS
開啟轉盤鎖
二叉樹的最小深度
棧
最小棧【棧】
下一個更大元素
【面試真題】有效的括號
簡化路徑
DFS
島嶼的最大面積
相同的樹
回溯演算法
N皇后
全排列
括號生成
復原 IP 地址
子集
太多了所以只展示了部分內容截圖,完整版的面試題文件已經打包完畢,希望對你們學習有幫助!