面了三次字節(jié),他的一些感悟
你好,我是TianTian。
今天分享一篇小K投稿的字節(jié)面試記錄,這是他第三次面字節(jié)了,之前投稿過一次:

兩個部門,六輪面試,終與字節(jié)無緣
簡單介紹一下,小K,目前是大專,22屆畢業(yè),他接下來計劃準(zhǔn)備專升本,拿過滴滴offer,以下是正文。
在八月初的時候參加了字節(jié)的青訓(xùn)營,因為一些原因,我又對和實習(xí)和校招也沒有概念,青訓(xùn)營助理就幫我內(nèi)推的實習(xí)崗,又因為我是 22 屆,所以 hr 給我約面試的時候詢問我確定要投實習(xí)崗嗎,我問了下實習(xí)和校招的區(qū)別,我又給改成了校招,結(jié)果校招審批不過,最后還是面的實習(xí)崗位。這是我已經(jīng)第三次面試字節(jié)了,不過我又掛掉了。
技術(shù)中臺
一面
css 實現(xiàn)高度是父盒子寬度一半的盒子,可以等比例變化
縮放 padding-left 和 padding-top 的值是怎么計算的
相對于父元素的...不記的了,過吧(父元素的寬度) flex 九宮格
隱士類型轉(zhuǎn)換
事件輪詢
Node.js 事件輪詢了解嗎 不了解 xss 攻擊
頁面渲染的過程
css 會阻塞 DOM 樹渲染嗎
React 中不可變值
Hooks 的限制
webpack HMR 原理
webpack 構(gòu)建過程
寫代碼
實現(xiàn)類似模版字符串的解析 用的 for 循環(huán) 面試官:正則... 額,過吧(之前面試結(jié)束我還去看過但我還是記不住) 異步相加,假設(shè)在某個設(shè)備沒有加法,只能用給定的方法計算 面試官:不能用 for 循環(huán),這個設(shè)備沒有加法, 額,那我用下標(biāo)獲取數(shù)據(jù)? 然后面試官把限制取消了 寫完了,面試官說了幾個點,問我怎么去優(yōu)化 我根據(jù)提示說了一下怎么去做這個優(yōu)化 git pull 和 git fetch 的區(qū)別
本地有一些修改,我想發(fā)布之前的代碼
git stash
二面
平時怎么后端聯(lián)調(diào)的
怎么解決跨域
proxy 線上環(huán)境那 nginx 其他的解決跨域的方法 cookie ...(忘了,登錄鑒權(quán))
你還知道 cookie 那些字段嗎 httpOnly,不知道了 面試官 secure 設(shè)置是否只能通過https來傳遞此條cookie 跨域請求能攜帶 cookie
能啊, CSRF攻擊 怎么防范 fetch 有什么好處和缺點
fetch 可以取消嗎
本身沒提供,但是可以通過其他方法取消吧,沒了解過 HTTP 狀態(tài)碼
201、206 了解嗎 面試官講了一下關(guān)于文件下載的情況 HTTP 緩存
給你一個網(wǎng)站你怎么優(yōu)化
你怎么測量你優(yōu)化的成果 如何測試其他地域 如何獲取所有用戶指標(biāo) performace 對象有很多指標(biāo)可以通過它來計算,但是我沒背過(這一連串問題,三面又被問了一遍) 常用的性能測量 APIs-深入淺出 Performance 工具 & API 代碼 深拷貝下滑線格式變成駝峰
{
"game_id": 123,
"game_name": "halo"
}
{
"gameId": 123,
"gameName": "halo"
}
三面
面試官自我介紹了一下
好耳熟啊,青訓(xùn)營答疑直播的時候聽老師講過 你覺的 React Hooks 的作用
你常用的 Hooks
Rreact-Redux 的 Hooks 我用的也挺多要說嗎
你覺你那個理解的好也可以說
那算了,沒了解過其的原理
因為之前都是一面來問,問怎么使用,三面問的考察點就變了,當(dāng)時沒有體會到
有了解 React 18 的新特性
公眾號看的,React 18 生命周期 你覺的 HTTP 有哪些比較好的點
這跟誰比啊(我有點懵、沒懂)
面試官引導(dǎo)了一下
我覺得 HTTPS 采用混合加密的機制挺巧妙,就說了一下(沒察覺到,跑題了)
那如果不考慮性能,可以一直用 HTTPS 發(fā)請求嗎
我...不確定
面試官:加密長度有限制
那你覺的 HTTP 有哪些地方設(shè)計不好的地方
啊...沒啥想法啊
面試官有引導(dǎo)了一下說了 Expire
我說了下 Expire 為什么被替代
除了不準(zhǔn)還有什么原因
精度
忘記怎么說到 HTTP2 了,我說到 HTTP2 不是要強制使用 HTTPS 嗎
面試官:那你覺的為什么 HTTP2 要強制使用 HTTPS
我分析了下 HTTP2 的特性和 HTTPS 特性也沒發(fā)現(xiàn)什么關(guān)聯(lián)的
然后面試官給我講了的挺久的關(guān)于字節(jié)內(nèi)部的一些實現(xiàn)
這中間面試官給我提了幾點建議:
面試官說看我之前寫過的面試總結(jié),對我有一定的了解,給我?guī)c建議
面試不關(guān)心你不會什么,也不會因為你不會一兩個問題就掛掉你,是允許候選人有知識的盲區(qū)的,面試更關(guān)心你會什么,你的亮點是什么
遇到問題不要著急回答,先思考一下,就像我們平時做事,不是比誰做的更快,而是比誰做的更好
...聊到實習(xí)工作
聊著聊著,我說了一句讓面試官印象很深刻,到后面我詢問掛掉原因面試官又我聊了一下這個問題
我說和我想象中不太一樣,之前面試就難點啊亮點啊,我以為工作中會有很多挑戰(zhàn),但是實際感覺我平時自己寫代碼區(qū)別不大。
面試官就這個問題和說了挺多的
到了反問
校招的標(biāo)準(zhǔn)
校招不會那么看重項目經(jīng)驗,相當(dāng)與一到兩年左右的社招 實習(xí)多久能轉(zhuǎn)正
兩個月就可以發(fā)起轉(zhuǎn)正
base 是哪里呢
你期望是哪里 杭州啊、我人現(xiàn)在在杭州 在杭州沒有團隊,北京、上海、廣州、深圳也有不過業(yè)務(wù)不一樣,不考慮嗎 其他城市入職時間要晚一點 大約多晚
第二天收到拒信了,我人品是不是有問題,所以我給面試官發(fā)了個郵件想詢問一下原因,我當(dāng)時的郵件沒寫主題,因為我不知道該寫什么主題,變成了垃圾郵件,但面試官還是把他的微信發(fā)給了我,還和我通二十分鐘電話,這真的是我沒想到的,我以為面試官郵件不會回復(fù)或者說簡單回復(fù)一下結(jié)束了,非常感謝這個面試官。
面試官說客觀原因一是該崗位需要盡快在北京入職,二是覺得我有轉(zhuǎn)正訴求,但是轉(zhuǎn)正的幾率很小,主觀原因是覺得我缺少一些思考和深度,希望我追求極致,面試官說對我之前說感覺工作中和我平時自己寫代碼區(qū)別不大這句話比較深刻,又在這方面多給了我一些指導(dǎo)和建議。
面試
準(zhǔn)備求職
我當(dāng)時給自己先定一個時間,到這個時間我就開始投簡歷,我先根據(jù)當(dāng)前的情況先寫一份簡歷,看看自己缺失,用剩下的時間開始準(zhǔn)備把這簡歷中不足彌補上。我大一的時候看過一篇神三元的面經(jīng),我還是挺重視網(wǎng)絡(luò)、操作系統(tǒng)、編譯原理,但我聽說這個大廠才考,我也沒想過我能面到大廠,所以把這個學(xué)習(xí)久放的很靠后。
復(fù)習(xí)了一段時間,感覺有些力不從心,開始用四象限法則,適當(dāng)舍棄了一些點,最開始簡歷是寫的了解 node 的,本來我想通過后面的時間把它變成熟悉的,但是后來復(fù)習(xí)起來發(fā)現(xiàn)剩下的時間不多,想了想感覺 node 也并不是必備項,直接就刪掉了。
今年 2 月份左右吧字節(jié)也舉辦了前端訓(xùn)練營,還是什么營我記不清了,我當(dāng)時報名參加 5 道算法就一道 75% js 的怎么輸入我不知道,用的 c 語言,c 語言輸入有的需要 getchart(),不然會取值錯誤,也不能調(diào)試,就一道只輸入一個整數(shù),其他題怎么輸入我都寫不明白,開始意識到自己編碼能力很差,離開了代碼提示,不能調(diào)試,就什么都寫不出來,在那開始就去用記事本去刷 leetcode,玩轉(zhuǎn)算法面試 Leetcode真題分門別類講解,還有 js 的各種手寫。
我覺得找工作是一個很熬人的過程,需要有足夠時間和一點運氣,我希望大家能留下充足的時間和耐心做好充足的準(zhǔn)備。
寫簡歷
對于寫簡歷,B站 有很多的簡歷點評大家可以去看看Young村長大圣老師前端早早聊。
我大概說下我自己之前的簡歷吧,我的簡歷分為四個模塊個人信息、教育經(jīng)歷、技術(shù)棧、項目經(jīng)歷,一頁。
教育經(jīng)歷
對于學(xué)歷每個公司都是很看重的,對于一個沒畢業(yè)的學(xué)生,更是格外的看重,尤其我這種學(xué)歷是劣勢的,我怕它看不到所以單獨列了一個教育經(jīng)歷放在最上方,學(xué)校下面是獎學(xué)金和兩個算法比賽,我個人覺得比賽沒必要寫太多,因為大多面試官都不知道這個比賽是啥,偶而會有面試官會問一下。 技術(shù)棧
深刻理解 HTML 語義化,熟練掌握 CSS 模塊化, ES6+ 熟練掌握 React 及其周邊生態(tài),并了解其底層原理,了解 Vue 熟悉 Webpack 基礎(chǔ)配置及性能優(yōu)化,了解 Chrome DevTools、Lighthouse 等性能測量工具 掘金鏈接(這個很重要,比如有的面試官問的問題,我印象不是很清晰,比如 webpack,那些插件名我實在記不住,就告訴面試官我有篇文章是寫這個的) 我沒寫網(wǎng)絡(luò) 項目
說實話,我一直所認(rèn)為的亮點和難點,需要達到人無我有,人有我優(yōu)的地步,到現(xiàn)在我也還是這么認(rèn)為的,但是多少不現(xiàn)實,我也沒這個本事,希望以后能達到這個高度。 我覺得還多體現(xiàn)自己的一些思考吧,工作也只是重復(fù)搬磚,但你如何把這這個磚般的更快、更好、更整齊那,那就要看你自己怎么去想、怎么去做了。
投簡歷
大家可以先看看這個視頻 HR 是怎么篩你簡歷的和面試?yán)螾7告訴你怎么獲得面試機會,從1面到4面該如何應(yīng)對
在牛客網(wǎng)上有人問我的面試機會為什么會這么多,是項目還是比賽有亮點?
我個人感覺好像都沒有,但是我投簡歷的時候不看城市,投遞的時間又那么久,所以我的面試機會就翻了好幾倍
雖然說金三銀四、金九銀十,但是那只是針對大公司,但現(xiàn)在各大公司提前批一個比一個早啊,反正我在三四月份的面試很少,幾乎都是電話面試都要求要盡快入職,我學(xué)姐和我們說他們公司都要等六七月份才開始招人,因為這時候人多可以壓價。
我在 BOSS 投遞的簡歷比較多,但是 BOSS 必須要對方回復(fù)你才能發(fā)簡歷,所以我在詢問機會的時候會把我的作品鏈接和掘金鏈接都發(fā)過去,一般看到鏈接處于好奇心都會開看看。
面試
在看一遍看看不同面試官的考察點老P7告訴你怎么獲得面試機會,從1面到4面該如何應(yīng)對模擬面試看看你會不會犯同樣的錯誤饑人谷模擬面試:
緩解緊張
我印象中最開始面試的時候,我提前兩個多小時就進牛客面試間去等,讓自己到面試的時候表現(xiàn)的好一點,但是還是緊張
后來一般提前 10 分鐘到 20 分鐘吧,聽歌,干飯人,感覺能緩解一點,剛開始還是有點小緊張,問幾個問題就不緊張了
現(xiàn)在面試就不緊張了,因為我面試成功他以后就是我的同事,互聯(lián)網(wǎng)和工位和大網(wǎng)吧是一樣的,就當(dāng)是了同事同學(xué)交流了
自我介紹
我的自我介紹特意背過,很簡短,我語速比較快(因為我感覺他們不聽,我也有點緊張,緊張說話更快),背的自然就沒有然后的口頭禪
給出一些暗示,引導(dǎo)一些到一些ni方向,你
面試不關(guān)心你不會什么,也不會因為你不會一兩個問題就掛掉你,是允許候選人有知識的盲區(qū)的,面試更關(guān)心你會什么,你的亮點是什么,遇到問題不要著急回答,先思考一下,就像我們平時做事,不是比誰做的更快,而是比誰做的更好,這是三面面試官說的:
遇到不會的問題,適當(dāng)轉(zhuǎn)移話題
一些答案比較統(tǒng)一的題吧
我如果不會,就直接過(一面說的多)
或者我會一些其他與這個相關(guān)的,我就會說這個我不會但那個我比較熟(二面說的多)
一些偏思考的題,場景的,或者是寫代碼
先復(fù)述一遍題,我要是沒聽懂,或者有些點的不太明確我會再問問,要是沒思路,就會說我暫時沒什么想法了,寫代碼我就說等我在想一想。
因為我覺得代碼題會給比較長的時間,而其他題就是一個快問快答的節(jié)奏,不會就過了,讓他多問一些我會的。
現(xiàn)在看來,想法不太對,這回三面面試官也說了一下,我經(jīng)歷電話面比較多啊,電話面雙方都不說話我是感覺是很尷尬的,我一般答的就比較快,或者多復(fù)述一下題目啊盡量避免這個冷場,無論視頻和電話面,我比較忌諱冷場,但現(xiàn)在看來這個思考時間把控的就不好,希望大家能根據(jù)考察點對時間進行一個調(diào)整,尤其是電話面。
在回答結(jié)束也要告訴面試官你答完了
電話面和視頻面如果對方有些停頓,我就會問我是不是沒說明白。 適當(dāng)擴展
我回答問題,就喜歡回答關(guān)鍵點,不會描述太細節(jié),因為我覺得都會,但是實際上面試官不知道你是真實掌握還是從面經(jīng)看來的 面試不是考試,不要太死板,適當(dāng)尋求一些提示
題沒聽懂,不知道面試官想問什么
某個 API 忘了
優(yōu)化代碼代碼沒思路
反問
最后可以主動留個聯(lián)系方式,這樣在掛掉之后也可以問下原因,別一個坑栽兩次,你栽的起嗎?我栽不起。面試通過也可以問問工作,租房什么的。 hr 面
再看一遍這個視頻,加深印象 HR 是怎么篩你簡歷的和面試
實習(xí)
租房
我當(dāng)時 offer 發(fā)下來之后,面試官就加了我的微信,后面我快要入職的時候,面試官就和我說馬上要搬工位的了,并在地圖給我畫了幾個位置,在牛客加了滴滴租房的群,很快就找到了距離工位比較近房子,群里有幾個實習(xí)生都租錯地方,入職之后發(fā)現(xiàn)工位不對,因為我們辦理入職的地方和辦公的地方是不一樣的,他們又都沒有面試官的聯(lián)系方式,hr 也不清楚,就很麻煩。最好租的近一點,周末還能去蹭個空調(diào)學(xué)學(xué)習(xí)。
融入環(huán)境
先根據(jù)郵件地點辦理入職,會講一些公司辦公的軟件,考勤,答疑什么的,電腦要由導(dǎo)師申請,第一天沒權(quán)限,安了一天環(huán)境,第二天改改文案錯誤、熟悉項目代碼,下午就開始搬工位,周末就放假了,下周來還是熟悉項目代碼、寫組件的文檔,過了幾天 PRD 評審,評審一半給我發(fā)消息說讓我進去也聽一下,我進去,這干啥那?啊,結(jié)束了,說啥了?給我分了點任務(wù),開始寫昨天評審的頁面。后端培訓(xùn)回來給出接口文檔,我看著接口文檔,設(shè)計圖顯示要分類,這一堆,我怎么分類啊,我就去問后端,后端說分類是產(chǎn)品定義的,后端不管,啥?還有產(chǎn)品?好吧。
后面開發(fā)完部署,產(chǎn)品體驗就提了一堆 bug,我寫的是圖表展示一些后端的指標(biāo),涉及很多單位,單位的轉(zhuǎn)化和數(shù)字的截取(保留小數(shù)點后幾位),這些都沒做,這些細節(jié)在 UI 沒有畫,但是在 PRD 評審的時候會說,我也沒聽,也不知道。這個時候我明白 PRD 評審是干嘛的,再之后工作就是重復(fù)之前的過程。
在這個過程主要體現(xiàn)兩個問題 溝通 我之前都是自己寫后端,根據(jù)頁面也來去寫數(shù)據(jù),我對后端的一些設(shè)計理念,也不了解,再加上我一個剛來的實習(xí)生,他對我的的能力可能也是存在一些質(zhì)疑,所以我在剛開始和后端溝通接口文檔的時候,他每次都要把我的導(dǎo)師叫過來,再問一遍,好多的時間都花在了溝通上了。 我當(dāng)時總是問一些反問句,因為我當(dāng)時覺得這個數(shù)據(jù)不太對,但是他這么設(shè)計是有什么考慮嗎,反問句可能會給人帶來一種質(zhì)疑感覺吧,有點不太好,現(xiàn)在也是熟了一些,有問題我就直接說,這么設(shè)計會有什么樣的問題。 經(jīng)驗不足 因為這個項目沒有引入什么適配的方案,我當(dāng)時還問了一下,說不用考慮寬高等比例變化,問的可能有點不太明白,我就把最外層容器直接固定,只考慮屏幕小的時候怎么展示更好一點,結(jié)果大屏就涼了,外層又改的百分比,我當(dāng)時應(yīng)該縮放瀏覽器,多測測的 文字的截取(老大看我代碼提的),后端正常返回幾個字,但是后端不正常返回給我?guī)兹f個字,那第一眼看去就是前端問題 不聽 PRD 評審,我當(dāng)時對產(chǎn)品也沒有概念,PRD 評審是干嘛的我當(dāng)時也不知道,結(jié)果開發(fā)完被提了一堆問題 雖然都是小問題,但是這些問題不應(yīng)該出現(xiàn)
逐漸思考
業(yè)務(wù)思考
一個流程下來,我也對業(yè)務(wù)和環(huán)境也比較熟悉了,但經(jīng)歷這么長時間的面試一直就項目亮點和難點的,我真的以為實習(xí)工作是充滿挑戰(zhàn)的,不然哪來的亮點和難點啊,來之前我還一直在想我勝任不了這份工作,而實際上工作中我也并沒有感覺到什么難點和亮點。真的和我平時自己寫代碼區(qū)別不大(我平時對自己代碼的要求還是很高的),只是多了一些流程。
這樣工作讓我感受到了一點點的危險,我對轉(zhuǎn)正答辯不了解,但我感覺和晉升答辯差不多,而我現(xiàn)在又沒什么特別的貢獻和成績,轉(zhuǎn)正?不可能。我也不想我現(xiàn)在沒有選擇,以后也沒有,我又應(yīng)該如何提升自己?
學(xué)新技術(shù)、看源碼?沒實習(xí)前我一直都這么做,結(jié)果就是盲目學(xué)習(xí),這個比較火,那個面試常考,最后不過是多背了一些東西,收獲一些 API,過兩天就忘了,反而帶來一些焦慮,實際意義和收獲并不大。
實習(xí)之后我的思考點也有所轉(zhuǎn)變,更想去解決一些實際問題,帶著問題去學(xué)習(xí),比如我現(xiàn)在想到的問題就是我們現(xiàn)在項目的彈窗,統(tǒng)一用 redux 進行管理的,而這個每次的創(chuàng)建注冊的過程,怪麻煩的,那我好像可以寫一個 cli 通過命令來執(zhí)行這些操作。
時間管理
雖然我們組下班比我想象中要早的多,每天晚上八九點大家就都走了,但是我本身加時間觀念不強,再加上有一些惰性,和一些額外的事情,時間就顯得有些割裂,每天學(xué)習(xí)就感覺有些碎片化,不能像在學(xué)校的時候?qū)P膶W(xué)習(xí),其他都不管不顧。
未來規(guī)劃
準(zhǔn)備專升本考試
加強時間管理
劃分優(yōu)先級,四象限管理法
整理知識點、制定學(xué)習(xí)計劃
利用碎片時間,但碎片化的學(xué)習(xí),我感覺學(xué)不到什么,反而會讓我更焦慮,所以我會用這個時間關(guān)注一些新的特性或者一些稀奇古怪的小點,如果遇到一些比較重要,先劃分優(yōu)先級,再考慮系統(tǒng)的去學(xué)習(xí)
打好基礎(chǔ),提高自己的專業(yè)技能
網(wǎng)絡(luò)、操作系統(tǒng)、編譯原理
多刷題,帶著一些問題,去看源碼,學(xué)習(xí)其中的編程思路和設(shè)計思想
之前跟小K的交談過,可以感受到他求職之旅很艱辛,這是他第三次面字節(jié)了,我相信未來某一天,他會跟我說,他已經(jīng)拿下字節(jié)offer的!

每個人通過自己的努力,最后都能收獲滿意的成績~
看似尋常最奇崛,成如容易卻艱辛。
共勉!
文中鏈接
[1]. 常用的性能測量 APIs: https://juejin.cn/post/6953220613104205855#heading-16
[2]. 神三元的面經(jīng): https://juejin.cn/post/6844904106537009159
[3]. 玩轉(zhuǎn)算法面試 Leetcode真題分門別類講解: https://coding.imooc.com/class/82.html
[4]. 簡歷點評-Young村長 Leetcode真題分門別類講解: https://space.bilibili.com/480140591/?spm_id_from=333.999.0.0
[5]. 大圣老師: https://space.bilibili.com/26995758/dynamic?spm_id_from=444.41.0.0
[6]. HR是怎么篩你簡歷的和面試: https://www.bilibili.com/video/BV1Uf4y1h7g7?spm_id_from=333.999.0.0
[7]. 前端早早聊: https://space.bilibili.com/35528472/dynamic?spm_id_from=444.41.0.0
[8]. 老P7告訴你怎么獲得面試機會,從1面到4面該如何應(yīng)對: https://www.bilibili.com/video/BV1bL4y1Y7iS?spm_id_from=333.999.0.0
[9]. 老P7告訴你怎么獲得面試機會,從1面到4面該如何應(yīng)對: https://www.bilibili.com/video/BV1bL4y1Y7iS?spm_id_from=333.999.0.0
[10]. 饑人谷模擬面試: https://space.bilibili.com/388802312/channel/detail?cid=79171&ctype=0
