秋招旁蔼,有個(gè)朋友有幸去字節(jié)面試了,順便拿到了offer疙教,把自己記憶中的東西寫(xiě)下來(lái)棺聊,所以分享出來(lái)大家參考下,有啥對(duì)不對(duì)的地方贞谓,歡迎大家指正限佩!
震驚:阿里騰訊一線大廠前端面試學(xué)習(xí)經(jīng)驗(yàn),最完整面試真題分享裸弦!
震驚:阿里騰訊一線大廠前端面試學(xué)習(xí)經(jīng)驗(yàn)祟同,最完整面試真題分享!
震驚:阿里騰訊一線大廠前端面試學(xué)習(xí)經(jīng)驗(yàn)理疙,最完整面試真題分享晕城!
一面 1小時(shí)左右
- css 如何實(shí)現(xiàn)垂直居中?(這里我就說(shuō)了四種窖贤,包括行內(nèi)和 absolute 的情況)
- position 有哪幾種砖顷?分別說(shuō)一下對(duì)應(yīng)的效果和用法
- css 選擇器優(yōu)先級(jí)贰锁,這里忘了復(fù)習(xí)了有點(diǎn)尷尬,小細(xì)節(jié)沒(méi)在意滤蝠,不過(guò)大概的說(shuō) 出來(lái)了也算是通過(guò)了
- js 原型鏈豌熄,問(wèn)了一下 js 如何創(chuàng)建對(duì)象,然后給了一個(gè)例子物咳,問(wèn)這個(gè)例子的原 型鏈長(zhǎng)什么樣锣险,代碼區(qū)打了一下,到對(duì)象和函數(shù)上層的時(shí)候有點(diǎn)卡殼览闰,然后面試 官提醒了我一下 object 和 function 互相是循環(huán)的 (那個(gè)時(shí)候基礎(chǔ)知識(shí)真的不咋行芯肤,現(xiàn)在看看感覺(jué)真是太丟臉了 qaq)
- 順勢(shì)問(wèn)了 new 的操作,然后實(shí)現(xiàn)了一個(gè) new 的函數(shù)(寫(xiě)了一個(gè)比較乞丐的 版本焕济,解釋了一下纷妆,還行)
- 然后因?yàn)槲液?jiǎn)歷上寫(xiě)了會(huì) vue 就問(wèn)了 MVVM 結(jié)構(gòu),聊到了頁(yè)面渲染和響應(yīng) 式晴弃,我就順便講了一下響應(yīng)式
- MVVM 和 MVC的區(qū)別
- Vue 生命周期掩幢,在哪個(gè)階段可以獲取頁(yè)面 dom 信息
- Vue 的組件通信 10. 聊到一些網(wǎng)絡(luò)相關(guān),問(wèn)了 TCP 和 UDP 的區(qū)別
- 講一下 TCP 的三次握手和四次揮手
- 然后是問(wèn)了 promise 有哪幾種狀態(tài)
- 手寫(xiě)一個(gè) promise(這個(gè)我寫(xiě)了一個(gè)雛形上鞠,沒(méi)具體實(shí)現(xiàn)全际邻,有點(diǎn)可惜,不過(guò) 面試官跟我說(shuō)還行 2333333 一面的氣氛真的 real 和諧充滿(mǎn)歡聲笑語(yǔ))
- 算法題:最長(zhǎng)公共前綴芍阎,這個(gè)做過(guò)世曾!開(kāi)心!
- 算法題:多層數(shù)組嵌套降級(jí)谴咸,這個(gè)用了遞歸卡了一陣子……思路是對(duì)的但是轮听,實(shí)現(xiàn)上效率有點(diǎn)低,還把迭代和遞歸實(shí)現(xiàn)搞混了……(那個(gè)時(shí)候還不會(huì) reduce岭佳, 實(shí)在是菜血巍。)
因?yàn)樵谧止?jié)大概經(jīng)歷了4 次一面(兩次實(shí)習(xí)兩次秋招),一面和其他公司差不多 都是基礎(chǔ)知識(shí)題珊随,不過(guò)最大的區(qū)別可能是特別強(qiáng)調(diào)實(shí)戰(zhàn)能力述寡,字節(jié)的面試全程都在手撕,提前批一面代碼區(qū)刷新了 8 回(8 個(gè)題都得寫(xiě)代碼)感覺(jué)一次面試的代碼濃度可以高過(guò) 50%這樣叶洞,非常注重實(shí)戰(zhàn)鲫凶。但是難度也都不是高,冷靜思考都沒(méi)什么問(wèn)題衩辟!不會(huì)了還可以跟面試官討論螟炫,面試官們?nèi)硕纪玫模?/p>
二面 1小時(shí)左右
大概在一面結(jié)束之后5-10分鐘吧,我先喝了幾口水……一面叨叨了一個(gè)小時(shí)沒(méi)停真的很累惭婿,然后二面的面試官進(jìn)來(lái)了不恭,二面就比較涼……因?yàn)樽止?jié)是秋招我經(jīng)歷的第一場(chǎng)面試所以開(kāi)頭問(wèn)了一下項(xiàng)目的情況叶雹,根據(jù)項(xiàng)目問(wèn)了一點(diǎn)我的工作,接觸前端有多久(因?yàn)槲乙簿鸵荒曜笥业慕?jīng)驗(yàn)所以其實(shí)會(huì)的不多)换吧,在每個(gè)項(xiàng)目里學(xué)到了什么折晦,沒(méi)做項(xiàng)目的時(shí)候?qū)W了什么,怎么學(xué)的這樣的問(wèn)題沾瓦,然后開(kāi)始就是實(shí)戰(zhàn)寫(xiě)代碼满着,這波我答的就有點(diǎn)慘了……
- 給了一個(gè)具體的需求讓寫(xiě) html+css,需求大概是模塊水平垂直居中對(duì)齊+不 定高贯莺,按文字自適應(yīng)+帶灰色遮罩+彈出動(dòng)畫(huà) 都怪我 css 好久沒(méi)寫(xiě)了寫(xiě)的很費(fèi)勁……建議各位 css 可以多找?guī)讉€(gè) css 實(shí)例題做 做风喇!倆次面字節(jié)二面都會(huì)考具體的 css 實(shí)現(xiàn)
- 然后問(wèn)了一下 css 的動(dòng)畫(huà)怎么做,但是我沒(méi)用過(guò)……答了一個(gè) 3D 和 rotation (dbq 我好菜)后來(lái)就順便說(shuō)了幾句 setTimeOut, setTimeInterval 和 RequestAnimiationFrame缕探,這里感覺(jué)答得不是很好
- flex 有哪些常用標(biāo)簽魂莫,我說(shuō)了幾個(gè)我用過(guò)的,面試官反問(wèn)了我兩個(gè)
- 又問(wèn)了一下 position爹耗,這里具體解釋了一下 position 的屬性影響
- 還是具體實(shí)現(xiàn)耙考,給一個(gè) ul 下面插入 100 個(gè) li 應(yīng)該怎么插入,如何優(yōu)化 dom 操作
- 具體實(shí)現(xiàn):有一個(gè)有一百萬(wàn)個(gè) url 的數(shù)組潭兽,如何從這一百萬(wàn)個(gè) url 里獲得資源 (我答了 promise 和 promise.all倦始,寫(xiě)了一下思路,面試官要我寫(xiě)具體實(shí)現(xiàn)山卦,就 也沒(méi)寫(xiě)得很明白鞋邑,整體拉低了不少印象分。感覺(jué)字節(jié)的面試真的很看實(shí)踐账蓉!光有 思路是不夠的C锻搿)
- 算法:判斷鏈表內(nèi)是否存在環(huán),這個(gè)題其實(shí)我做過(guò)铸本,但是當(dāng)時(shí)忘了……面試官 提醒了一下才知道是快慢指針……真的挺不好意思的
總體上字節(jié)的二面特別看重具體實(shí)現(xiàn)视译,會(huì)說(shuō)思路不夠,需要真正的寫(xiě)出可以實(shí)現(xiàn)的代碼來(lái)归敬。一般算法就是 leetcode 的 easy/medium,不會(huì)太難鄙早,一些基本概念也會(huì)挖的比較深汪茧,總體上說(shuō)還是很有難度∠薹總之提前批止步二面了舱污。
字節(jié)的面試一般一面和二面肯定會(huì)連在一起,如果三面面試官也有時(shí)間的話三面也會(huì)連下來(lái)弥虐,總之要是過(guò)了一陣子都沒(méi)消息基本上就是涼了扩灯,總之這次面試結(jié)束大概 過(guò)了半個(gè)月左右 hr 小姐姐又撈了我一手跟我約了正式批再來(lái)一次媚赖,還很貼心地 囑咐了我好多讓我多做點(diǎn)題!
正式批
一面 1小時(shí)左右
之前都是先問(wèn)基礎(chǔ)珠插,這次很難得的從一面就開(kāi)始問(wèn)項(xiàng)目了惧磺!
- http 請(qǐng)求的幾個(gè)常見(jiàn)方法
- 說(shuō)下 get 和 post 的區(qū)別
- get 和 post 的具體應(yīng)用場(chǎng)景和一些注意事項(xiàng)(忘了這里是啥問(wèn)題了,總之一 路聊到了 301,302 和 307 狀態(tài)碼捻撑,聊了一下重定向的一些安全處理)
- 因?yàn)閯倓傉f(shuō)了在 http 跳 https 的時(shí)候存在 post 改 get 的情況所以問(wèn)了一下 為什么(操作冪等性)
- 線程和進(jìn)程的區(qū)別(沒(méi)學(xué)過(guò)操作系統(tǒng)所以直接說(shuō)了不知道磨隘,放棄掙扎.jpg)
- 說(shuō)下跨域
- http 簡(jiǎn)單請(qǐng)求是什么意思
- 瀏覽器緩存策略
- TCP 和 UDP 的區(qū)別
- 了解流媒體對(duì) UDP 穩(wěn)定性的優(yōu)化處理嗎(不了解。但是面試官說(shuō)沒(méi)事回去 可以自己去看看)
- 開(kāi)始聊 js顾患,js 的基本數(shù)據(jù)類(lèi)型(說(shuō)了 symbol 和 bigInt)
- 哪些操作是異步的番捂?(說(shuō)了 promise setTimeout)
- promise 的一些基本概念
- async await 的一些用法
- js 繼承的幾種方式(居然沒(méi)讓我寫(xiě)代碼我都準(zhǔn)備好了……)
- css 好像考了點(diǎn)啥不太重要的我忘了 dbq,總之還有對(duì)項(xiàng)目細(xì)節(jié)的一些提問(wèn)江解,好像還問(wèn)了一下排序算法的時(shí)間復(fù)雜度空間復(fù)雜度……(具體忘了)
- 做個(gè)題设预,實(shí)現(xiàn)鏈表尾部插入新節(jié)點(diǎn)。這個(gè)我寫(xiě)得挺磕磕絆絆的 233333 但是 在面試官的提醒下還是做出來(lái)了犁河,主要是考慮判斷傳入鏈表是否有頭結(jié)點(diǎn)鳖枕,是否 為尾部指針
- 算法題:版本號(hào)判斷,還是挺簡(jiǎn)單的
總之基本上一面一個(gè)小時(shí)左右呼股,然后叫我等了一會(huì)(大概十分鐘耕魄?)來(lái)喊二面面
面試官二面 一小時(shí)左右
二面面試官感覺(jué)非常的和藹,但是也很有氣場(chǎng)彭谁!二面時(shí)間也差不多一個(gè)小時(shí)吸奴,主要是被我寫(xiě)題磨磨蹭蹭給耽誤了好多時(shí)間
大概問(wèn)了一些項(xiàng)目相關(guān)問(wèn)題,比如印象比較深的技術(shù)點(diǎn)缠局,怎么學(xué)習(xí)的和解決 的 balabala
開(kāi)始正式問(wèn)問(wèn)題:css 的垂直居中和水平居中(說(shuō)了一堆)
css 選擇器優(yōu)先級(jí)(這次我會(huì)了则奥!自豪!)
html 的 dom 樹(shù)如何生成的(一桿子捅到虛擬 dom 被友善地提醒了扯得有點(diǎn)遠(yuǎn)狭园,dbq 這題我不會(huì))
小程序和 pc 頁(yè)面有什么差異(因?yàn)轫?xiàng)目里寫(xiě)了小程序)
項(xiàng)目里的一些性能優(yōu)化的點(diǎn)
-
做個(gè)題读处,看代碼是否能完成輸出,如果不能就說(shuō)下幾個(gè)改的點(diǎn)唱矛,題太長(zhǎng)了沒(méi)記 寫(xiě)下幾個(gè)考點(diǎn)吧罚舱。大概是一個(gè)利用異步實(shí)現(xiàn) 1 秒輸出一個(gè)條目的一個(gè)函數(shù),生成 條目要讀取對(duì)象內(nèi)的數(shù)據(jù)绎谦,主要修改點(diǎn)是:
- for 循環(huán)內(nèi)使用 let 控制作用域
- setTimeout 單純用 1000 無(wú)法實(shí)現(xiàn) 1 秒輸出一個(gè)需要乘以 i+1
- 作用域無(wú)法綁 定對(duì)象管闷,獲取不到數(shù)據(jù)(這里說(shuō)了幾個(gè)改變 this 指向的方法比如箭頭函數(shù) bind/apply/call 這樣的)
- 這個(gè)我沒(méi)想到面試官提醒我了一下 i 是從零開(kāi)始的但 是條目從 1 開(kāi)始打需要加 1……其實(shí)第二條的時(shí)候我還記得這個(gè)事的結(jié)果最后我 忘了有點(diǎn)尷尬
代碼實(shí)現(xiàn):設(shè)計(jì)一個(gè)任務(wù)隊(duì)列,有on窃肠,trigger 和 off 方法包个,分別完成注冊(cè)事件觸發(fā)回調(diào),觸發(fā)當(dāng)前事件全部回調(diào)冤留,和取消當(dāng)前事件的任務(wù)隊(duì)列的功能(其實(shí)不難碧囊,主要是我寫(xiě)的磨磨蹭蹭的……最后想通了就寫(xiě)的很快了树灶,也很感謝面試官的耐心等待和思路提醒!)
一個(gè)挺簡(jiǎn)單的算法實(shí)現(xiàn)糯而,在遞增數(shù)組內(nèi)尋找連續(xù)值并放進(jìn)新數(shù)組最后返回一個(gè)二維數(shù)組這樣子([1,2,3,5,6,9,10]=>[[1,2,3],[5,6],[9,10])反正挺簡(jiǎn)單的寫(xiě)的也很快天通,被夸了思路挺清晰哈哈哈開(kāi)心!畢竟我算法超菜的難得碰上一個(gè)會(huì)寫(xiě)的……
基本上就這些了然后跟我說(shuō)可以等下三面歧蒋。后來(lái) hr 姐姐給我打了電話說(shuō)三面面 試官有事希望能推遲一下然后說(shuō)等他回話再約我三面土砂。然后過(guò)了半個(gè)小時(shí)左右又 打來(lái)了電話說(shuō)可以現(xiàn)在面試然后就接著面了
三面 30分鐘左右
其實(shí)問(wèn)的東西不是很多,基本上就是很常規(guī)的那種怎么學(xué)習(xí)的谜洽,項(xiàng)目里用了什么技術(shù)萝映,有哪些困難,這里聊到了之前做的 cms 的一個(gè)登陸功能阐虚,順便問(wèn)了一下有沒(méi)有了解別的登陸的技術(shù)序臂。(對(duì)不起我太菜了沒(méi)了解過(guò)別的。)還有一些頁(yè)面路由處理這樣的实束。
然后問(wèn)了個(gè)人的發(fā)展方向奥秆,以及對(duì)前端未來(lái)發(fā)展的看法,最后說(shuō)到希望能來(lái)實(shí)習(xí)咸灿,什么時(shí)候能來(lái)以及能來(lái)實(shí)習(xí)多久构订。感覺(jué)其實(shí)還好?三面雖然挺緊張但不是技術(shù)面避矢,主要是感覺(jué)面試官超沉穩(wěn)就我一直在 BB 總怕說(shuō)錯(cuò)什么顯得我超菜(害本來(lái)也菜)
Hr面 30分鐘左右
面完三面之后急匆匆地問(wèn) Hr 小姐姐什么時(shí)候能出結(jié)果悼瘾,小姐姐說(shuō)不著急的她那 邊有消息立刻通知我。然后我收拾了一下準(zhǔn)備出門(mén)吃飯結(jié)果就在收拾包的時(shí)候接 到 Hr 小姐姐的電話問(wèn)我可不可以現(xiàn)在 HR 面(啊當(dāng)時(shí)超開(kāi)心I笮亍)
- Hr 面也挺常規(guī)的吧亥宿,看了我的投遞記錄發(fā)現(xiàn)我來(lái)字節(jié)面了這么多次問(wèn)我這幾次有什么進(jìn)步,學(xué)了什么(終于給我放進(jìn)去了我太難了.jpg)
- 字節(jié)的面試體驗(yàn)怎么樣
- 有沒(méi)有考研的打算砂沛,為什么烫扼?
- 介紹一下簡(jiǎn)歷上的三個(gè)項(xiàng)目,為什么要選這三個(gè)項(xiàng)目進(jìn)行展示碍庵?
- 在項(xiàng)目中學(xué)到了哪些東西映企,有什么心得體會(huì)
- 怎么學(xué)習(xí)前端的,怎么規(guī)劃未來(lái)學(xué)習(xí)
- 小組合作中的壓力怎么應(yīng)對(duì)的静浴,如果要面對(duì)失敗會(huì)怎么調(diào)節(jié)(可能是因?yàn)槿?程我都蜜汁自信就問(wèn)了這個(gè))
希望能來(lái)實(shí)習(xí)卑吭,大概什么時(shí)候可以來(lái),可以來(lái)實(shí)習(xí)多久马绝? 大概結(jié)束兩天就拿到意向書(shū)了,效率真的很高挣菲!辛苦字節(jié)的工作人員了
以上就是我朋友面試的整個(gè)過(guò)程富稻!希望能幫到大家拿到大廠的offer
喜歡本文可以點(diǎn)贊掷邦、收藏、評(píng)論椭赋、轉(zhuǎn)發(fā)到您的朋友圈抚岗!