1年工作經(jīng)驗(yàn)8月份大廠面試全記錄
本文來(lái)自讀者@AaronKwong 投稿。
他參與了四期源碼共讀,說(shuō)對(duì)找工作很有幫助。于是聯(lián)系他把最近大廠面試總結(jié)下來(lái)投稿。今天是他的生日,所以選擇在今天發(fā)文。
筆者@AaronKwong 2020.6 畢業(yè)于廣州某高水平大學(xué),計(jì)算機(jī)學(xué)院,軟件工程專業(yè)。大四上學(xué)期開(kāi)始實(shí)習(xí)并一直工作到時(shí)下。
2021.3 老東家在線教育項(xiàng)目解散,轉(zhuǎn)崗并開(kāi)始復(fù)習(xí)。
8 月下旬開(kāi)始投簡(jiǎn)歷,boss 投遞 + 朋友內(nèi)推,先后投遞了拼多多,yy 直播,歡聚,字節(jié)跳動(dòng),虎牙,基本上每天都在面,白天上班晚上面試,大概持續(xù)了兩周左右
面經(jīng)
拼多多商家端一面(40 分鐘)
簡(jiǎn)歷項(xiàng)目問(wèn)詢 - 細(xì)節(jié)
垂直水平居中
一個(gè)簡(jiǎn)單請(qǐng)求的 header 會(huì)有什么字段
map, filter, reduce 都怎么用
symbol 有了解嗎
ES5 繼承,ES6 類繼承,靜態(tài)方法
Promise 超時(shí)控制
DFS 找節(jié)點(diǎn)
node 有什么特性,適合用來(lái)做什么
midway 對(duì)比 egg 有什么優(yōu)勢(shì)
typescript 有沒(méi)有實(shí)踐過(guò)
平時(shí)有用什么設(shè)計(jì)模式嗎
平時(shí)打包工具 - Webpack 相關(guān)
你有沒(méi)有哪些我沒(méi)問(wèn)到你想說(shuō)的
緩存相關(guān),cdn 緩存處理
你有什么想問(wèn)的
拼多多商家端二面(65 分鐘)
壓力面,質(zhì)疑觀點(diǎn)
拍平數(shù)組
const?flatten?=?(list,?level?=?+Infinity)?=>?{
??//?...
};
const?array?=?[1,?[2,?[3,?4,?[5]],?3],?-4];
const?list1?=?flatten(array);
const?list2?=?flatten(array,?2);
console.log(list1);?//?[1,?2,?3,?4,?5,?3,?-4]
console.log(list2);?//?[1,?2,?3,?-4]
promise
const?myPromise?=?val?=>?Promise.resolve(val);
const?delay?=?duration?=>?{
??//?...
};
myPromise(`hello`)
??.then(delay(1000))
??.then(val?=>?console.log(val));?//?一秒之后輸出?hello
拼多多商家端三面(30 分鐘)
項(xiàng)目細(xì)節(jié)問(wèn)詢
Vue 源碼有讀嗎 - 響應(yīng)式原理,nextTick
最近有沒(méi)有研究什么新技術(shù)
項(xiàng)目?jī)?yōu)化有哪些實(shí)踐
V8 如何執(zhí)行一段代碼
72-編輯距離
226-翻轉(zhuǎn)二叉樹(shù)
性能優(yōu)化的實(shí)踐
有其他想問(wèn)的嗎
歡聚一面(90 分鐘)
項(xiàng)目細(xì)節(jié),ci/cd 詳細(xì)問(wèn),重構(gòu)詳細(xì)問(wèn),詳細(xì)介紹題目錄入
vue 的 history 和 hash 模式區(qū)別,hash 與 ssr
https 基本原理
ca 證書(shū)怎么確保真實(shí)性
cors 是什么,同域又是什么
怎么解決前后端通信跨域
可以 node 轉(zhuǎn)發(fā)繞過(guò)跨域,為什么瀏覽器還是要做 cors
除了 webpack proxy ,nginx,后端配 cors 頭,還有什么跨域方案
xss 攻擊怎么防范,除了轉(zhuǎn)譯呢,轉(zhuǎn)譯出來(lái)的那個(gè)叫什么
es6 的二進(jìn)制操作?
說(shuō)一下思路怎么去實(shí)現(xiàn)一個(gè) promise
promise 怎么能夠保證 then 的順序執(zhí)行
worker 有了解過(guò)嗎
ssr 的原理?
性能優(yōu)化有哪些實(shí)踐
有沒(méi)有在研究什么
手寫(xiě):min 到 max 的隨機(jī)數(shù),整數(shù)和小數(shù)的方案
場(chǎng)景:多個(gè)屬性,每個(gè)屬性都是數(shù)組,求屬性聚合結(jié)果
場(chǎng)景:用戶點(diǎn)擊按鈕沒(méi)反應(yīng),怎么去定位錯(cuò)誤(除開(kāi) QA 環(huán)節(jié)能檢查到的錯(cuò)誤)
有什么想問(wèn)的
歡聚二三面
二面部門終面,三面 hr 面,現(xiàn)場(chǎng)一天面完,主要是和部門領(lǐng)導(dǎo)交流,關(guān)于項(xiàng)目組以及負(fù)責(zé)的模塊;了解薪酬福利相關(guān)
yy 直播一面(30 分鐘)
項(xiàng)目的 CI/CD 怎么配置的,jenkins 怎么部署,為何沒(méi)有直接部署單獨(dú)機(jī)器,內(nèi)網(wǎng)互通去傳送文件發(fā)布,git 權(quán)限怎么配的
vue-router hash/history 區(qū)別
vuex 里面有哪些東西,分別用來(lái)干嘛的
vuex 分了模塊,有全局通用的內(nèi)容是怎么配置的
除了直接調(diào)用命名空間模塊還有辦法直接訪問(wèn)需要放在全局模塊下的東西嗎
Vue 的響應(yīng)式原理
子組件的 data 變化,那么父子組件的更新是怎么樣進(jìn)行的
雙向綁定,那么視圖數(shù)據(jù)更新怎么影響到 data 里的數(shù)據(jù)
Vue 的生命周期有哪些
項(xiàng)目?jī)?nèi)怎么通信 - (EventBus/emit-on/vuex)
EventBus 實(shí)現(xiàn)原理,有沒(méi)有多條事件總線的情況,怎么解決可能重名的問(wèn)題
移動(dòng)端里的單位 - rem/vh/vw
postCss rem=>px,設(shè)計(jì)稿上 750 寬度是怎么去算的
移動(dòng)端有什么性能優(yōu)化的點(diǎn) - 虛擬滾動(dòng)
typescript 有寫(xiě)過(guò)嗎有了解嗎
說(shuō)一下你理解的泛型
webpack loader 項(xiàng)目里有用哪些?
一個(gè).mp4 文件加載的話需要用哪些 loader
有開(kāi)發(fā) webpack 插件嗎?是要怎么開(kāi)發(fā)
http 有多少版本
http 1 2 3 的版本區(qū)別
http2 和 1 的區(qū)別,解決了什么東西
http3 解決了 http1 和 2 什么問(wèn)題
http3 什么問(wèn)題沒(méi)想起來(lái)
http 緩存
cdn 緩存是強(qiáng)緩存還是協(xié)商緩存
字節(jié)跳動(dòng) 一面
輸出結(jié)果
var?a?=?3;
var?total?=?0;
var?result?=?[];
function?foo(a)?{
??var?i?=?0;
??for?(;?i?3;?i++)?{
????result[i]?=?function?()?{
??????console.log(i,?a);
??????total?+=?i?*?a;
??????console.log(total);
????};
??}
}
foo(1);
result[0](?"0");
result[1](?"1");
result[2](?"2");
Promise 輸出順序
給一個(gè) n,生成一個(gè)
[0, n-1)亂序數(shù)組這個(gè)時(shí)間復(fù)雜度是多少,能進(jìn)行優(yōu)化嗎
看你寫(xiě)的這個(gè)有用 sort,為什么是 O(nlogn)呢
還能再優(yōu)化下嗎
說(shuō)一下快排原理?
三路快排是怎么個(gè)三路法
還了解其他一些排序嗎
詳細(xì)說(shuō)下歸并排序
穩(wěn)定和不穩(wěn)定排序怎么界定?
了解一些時(shí)間順序相關(guān)的 api 嗎
requestAnimationFrame 有了解過(guò)嗎
setImmediate 和 setTimeout 和 setInterval?
項(xiàng)目細(xì)節(jié),最有成就感的需求是哪個(gè)?
base64 是怎么樣轉(zhuǎn)碼的
為何轉(zhuǎn)了 json 協(xié)議之后可以優(yōu)化圖片上傳
如果公網(wǎng)上傳的話,怎么防止不被人拿來(lái)做圖床
xss 的話怎么防止
Vue 的生命周期有哪些
created 和 beforeMount 有何區(qū)別
render 函數(shù)和 jsx
Vue 怎么轉(zhuǎn) js 代碼的?
computed 里面的懶更新是怎么實(shí)現(xiàn)的
字節(jié)跳動(dòng) 二面(47 分鐘)
自我介紹
最有成就感的項(xiàng)目細(xì)問(wèn)
react fiber 原理
求藍(lán)色區(qū)域的寬 高
<html>
??<style>
????.box?{
??????padding:?2px;
??????margin:?2px;
??????width:?10px;
??????height:?10px;
??????background:?blue;
??????border:?1px?solid?black;
????}
????#content-box?{
??????box-sizing:?content-box;
????}
????#border-box?{
??????box-sizing:?border-box;
????}
??style>
??<body>
????<div?class="box"?id="content-box">div>
????<div?class="box"?id="border-box">div>
??body>
html>
輸出結(jié)果
var?length?=?10;
function?fn()?{
??return?this.length?+?1;
}
var?obj1?=?{
??length:?5,
??test1:?function?()?{
????return?fn();
??},
};
obj1.test2?=?fn;
console.log(obj1.test1());
console.log(fn()?===?obj1.test2());
拍平數(shù)組,去重,排序
leetCode 103 + 拍平結(jié)果
字節(jié)跳動(dòng)三面(65 分鐘)
(看到前面兩面的內(nèi)容/評(píng)價(jià))問(wèn):是不是有專門準(zhǔn)備過(guò)?
項(xiàng)目細(xì)節(jié),實(shí)現(xiàn)原理,痛點(diǎn)解決方案,可以優(yōu)化的方案,怎么實(shí)現(xiàn)這個(gè)優(yōu)化的方案
題庫(kù)整個(gè)的實(shí)現(xiàn)原理,移動(dòng)端 table 虛擬滾動(dòng)不定高的實(shí)現(xiàn)原理
平時(shí)和產(chǎn)品怎么交流;不相同意見(jiàn)的時(shí)候怎么處理
前面幾面面試體驗(yàn)怎么樣;有哪些問(wèn)的東西難倒你了
一個(gè)二維數(shù)組對(duì)應(yīng)骰子的上下兩面,其他四面已被磨平,兩面的數(shù)字都是 1-6 隨機(jī)一個(gè)數(shù),但不會(huì)重復(fù),想要所有的上面或者下面都是同一個(gè)數(shù)字,最少需要翻幾次
字節(jié)跳動(dòng) 換部門 加面(60 分鐘)
題庫(kù)和重構(gòu)細(xì)節(jié)
題庫(kù)的優(yōu)化迭代有沒(méi)有具體的數(shù)據(jù)可以支撐?
前面幾輪有沒(méi)有碰到特別難的不會(huì)的點(diǎn)?
https tls 連接詳情,幾個(gè) rtt
promise 優(yōu)缺點(diǎn)
promise 怎么控制異步
閉包
繼承
promise 輸出順序
typescript 泛型
首頁(yè)白屏優(yōu)化
算法
字節(jié)換部門 hr 面(50 分鐘)
自我介紹
最有成就感的需求
這個(gè)需求有沒(méi)有可以優(yōu)化的點(diǎn)
希望是一個(gè)怎么樣的工作環(huán)境
覺(jué)得自己的優(yōu)點(diǎn)是什么
放到市場(chǎng)上自己的優(yōu)勢(shì)在哪里
平時(shí)學(xué)習(xí)的途徑
可以說(shuō)下你關(guān)注了哪些技術(shù)公眾號(hào)嗎
家常
期望薪資
工作地區(qū)相關(guān)
部門相關(guān)
總結(jié)
代碼相關(guān):JavaScript 基礎(chǔ)重中之重,工程化方向的了解和實(shí)踐也必不可少,這次面試下來(lái)還是發(fā)現(xiàn)到自己對(duì)于 Node,TypeScript,Webpack 等會(huì)有短板存在。
業(yè)務(wù)相關(guān):對(duì)自己負(fù)責(zé)的業(yè)務(wù)模塊一定要做好總結(jié)和復(fù)盤,尋找優(yōu)、缺點(diǎn),漏洞,思考優(yōu)化/解決方案。
給自己一個(gè)時(shí)間點(diǎn),到了這個(gè)點(diǎn)就開(kāi)始投,不然沒(méi)有時(shí)間限制,這里復(fù)習(xí)一下,那里學(xué)一下,復(fù)習(xí)進(jìn)度就會(huì)拖慢。
面試官們也都很友好,遇到卡住的情況會(huì)嘗試引導(dǎo)你去做,實(shí)在想不出來(lái)也可以說(shuō)說(shuō)自己大概的思路。
