我有一個(gè)朋友的分享
秋招俏拱,有幸去字節(jié)面試了,順便拿到了offer吼句,把自己記憶中的東西寫下來(lái)锅必,供大家參考一下,有啥對(duì)不對(duì)的地方命辖,歡迎大家指正况毅!
一面 1h 左右
css 如何實(shí)現(xiàn)垂直居中?(這里我就說(shuō)了四種尔艇,包括行內(nèi)和 absolute 的情況)
position 有哪幾種尔许?分別說(shuō)一下對(duì)應(yīng)的效果和用法
css 選擇器優(yōu)先級(jí),這里忘了復(fù)習(xí)了有點(diǎn)尷尬终娃,小細(xì)節(jié)沒在意味廊,不過大概的說(shuō) 出來(lái)了也算是通過了
js 原型鏈,問了一下 js 如何創(chuàng)建對(duì)象棠耕,然后給了一個(gè)例子余佛,問這個(gè)例子的原 型鏈長(zhǎng)什么樣,代碼區(qū)打了一下窍荧,到對(duì)象和函數(shù)上層的時(shí)候有點(diǎn)卡殼辉巡,然后面試 官提醒了我一下 object 和 function 互相是循環(huán)的 (那個(gè)時(shí)候基礎(chǔ)知識(shí)真的不咋行,現(xiàn)在看看感覺真是太丟臉了 qaq)
順勢(shì)問了 new 的操作蕊退,然后實(shí)現(xiàn)了一個(gè) new 的函數(shù)(寫了一個(gè)比較乞丐的 版本郊楣,解釋了一下憔恳,還行)
然后因?yàn)槲液?jiǎn)歷上寫了會(huì) vue 就問了 MVVM 結(jié)構(gòu),聊到了頁(yè)面渲染和響應(yīng) 式净蚤,我就順便講了一下響應(yīng)式
MVVM 和 MVC的區(qū)別
Vue 生命周期钥组,在哪個(gè)階段可以獲取頁(yè)面 dom 信息
Vue 的組件通信 10. 聊到一些網(wǎng)絡(luò)相關(guān),問了 TCP 和 UDP 的區(qū)別
講一下 TCP 的三次握手和四次揮手
然后是問了 promise 有哪幾種狀態(tài)
手寫一個(gè) promise(這個(gè)我寫了一個(gè)雛形今瀑,沒具體實(shí)現(xiàn)全程梦,有點(diǎn)可惜,不過 面試官跟我說(shuō)還行 2333333 一面的氣氛真的 real 和諧充滿歡聲笑語(yǔ))
算法題:最長(zhǎng)公共前綴橘荠,這個(gè)做過屿附!開心!
算法題:多層數(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í)題影暴,不過最大的區(qū)別可能是特別強(qiáng)調(diào)實(shí)戰(zhàn)能力错邦,字節(jié)的面試全程都在手撕,提前批一面代碼區(qū)刷新了 8 回(8 個(gè)題都得寫代碼)感覺一次面試的代 碼濃度可以高過 50%這樣型宙,非常注重實(shí)戰(zhàn)撬呢。但是難度也都不是高,冷靜思考都 沒什么問題妆兑!不會(huì)了還可以跟面試官討論 2333333 面試官們?nèi)硕纪玫?/p>
二面 1h 左右
大概在一面結(jié)束之后 5-10min 吧魂拦,我先喝了幾口水……一面叨叨了一個(gè)小時(shí)沒 停真的很累,然后二面的面試官進(jìn)來(lái)了搁嗓,二面就比較涼……因?yàn)樽止?jié)是秋招我經(jīng) 歷的第一場(chǎng)面試所以 開頭問了一下項(xiàng)目的情況芯勘,根據(jù)項(xiàng)目問了一點(diǎn)我的工作,接觸前端有多久(因?yàn)?我也就一年左右的經(jīng)驗(yàn)所以其實(shí)會(huì)的不多)腺逛,在每個(gè)項(xiàng)目里學(xué)到了什么荷愕,沒做項(xiàng) 目的時(shí)候?qū)W了什么,怎么學(xué)的這樣的問題棍矛,然后開始就是實(shí)戰(zhàn)寫代碼安疗,這波我答 的就有點(diǎn)慘了……
給了一個(gè)具體的需求讓寫 html+css,需求大概是模塊水平垂直居中對(duì)齊+不 定高够委,按文字自適應(yīng)+帶灰色遮罩+彈出動(dòng)畫 都怪我 css 好久沒寫了寫的很費(fèi)勁……建議各位 css 可以多找?guī)讉€(gè) css 實(shí)例題做 做荐类!倆次面字節(jié)二面都會(huì)考具體的 css 實(shí)現(xiàn)
然后問了一下 css 的動(dòng)畫怎么做,但是我沒用過……答了一個(gè) 3D 和 rotation (dbq 我好菜)后來(lái)就順便說(shuō)了幾句 setTimeOut, setTimeInterval 和 RequestAnimiationFrame茁帽,這里感覺答得不是很好
flex 有哪些常用標(biāo)簽玉罐,我說(shuō)了幾個(gè)我用過的屈嗤,面試官反問了我兩個(gè)
又問了一下 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璧亚,寫了一下思路讨韭,面試官要我寫具體實(shí)現(xiàn),就 也沒寫得很明白癣蟋,整體拉低了不少印象分透硝。感覺字節(jié)的面試真的很看實(shí)踐!光有 思路是不夠的7杞痢)
算法:判斷鏈表內(nèi)是否存在環(huán)濒生,這個(gè)題其實(shí)我做過,但是當(dāng)時(shí)忘了……面試官 提醒了一下才知道是快慢指針……真的挺不好意思的嗚嗚嗚
總體上字節(jié)的二面特別看重具體實(shí)現(xiàn)幔欧,會(huì)說(shuō)思路不夠罪治,需要真正的寫出可以實(shí)現(xiàn) 的代碼來(lái)。一般算法就是 leetcode 的 easy/medium礁蔗,不會(huì)太難觉义,一些基本概 念也會(huì)挖的比較深,總體上說(shuō)還是很有難度浴井∩购В總之提前批止步二面了。字節(jié)的面試一般一面和二面肯定會(huì)連在一起磺浙,如果三面面試官也有時(shí)間的話三面也會(huì)連下 來(lái)洪囤,總之要是過了一陣子都沒消息基本上就是涼了 qaq 總之這次面試結(jié)束大概 過了半個(gè)月左右 hr 小姐姐又撈了我一手跟我約了正式批再來(lái)一次,還很貼心地 囑咐了我好多讓我多做點(diǎn)題哈哈哈哈哈撕氧!
正式批 一面 1h 左右
之前都是先問基礎(chǔ)瘤缩,這次很難得的從一面就開始問項(xiàng)目了!
http 請(qǐng)求的幾個(gè)常見方法
說(shuō)下 get 和 post 的區(qū)別
get 和 post 的具體應(yīng)用場(chǎng)景和一些注意事項(xiàng)(忘了這里是啥問題了呵曹,總之一 路聊到了 301,302 和 307 狀態(tài)碼款咖,聊了一下重定向的一些安全處理)
因?yàn)閯倓傉f(shuō)了在 http 跳 https 的時(shí)候存在 post 改 get 的情況所以問了一下 為什么(操作冪等性)
線程和進(jìn)程的區(qū)別(沒學(xué)過操作系統(tǒng)所以直接說(shuō)了不知道,放棄掙扎.jpg)
說(shuō)下跨域
http 簡(jiǎn)單請(qǐng)求是什么意思
瀏覽器緩存策略
TCP 和 UDP 的區(qū)別
了解流媒體對(duì) UDP 穩(wěn)定性的優(yōu)化處理嗎(不了解奄喂。但是面試官說(shuō)沒事回去 可以自己去看看)
開始聊 js铐殃,js 的基本數(shù)據(jù)類型(說(shuō)了 symbol 和 bigInt)
哪些操作是異步的?(說(shuō)了 promise setTimeout)
promise 的一些基本概念
async await 的一些用法
js 繼承的幾種方式(居然沒讓我寫代碼我都準(zhǔn)備好了……)
css 好像考了點(diǎn)啥不太重要的我忘了 dbq跨新,總之還有對(duì)項(xiàng)目細(xì)節(jié)的一些提問富腊,好像還問了一下排序算法的時(shí)間復(fù)雜度空間復(fù)雜度……(具體忘了)
做個(gè)題,實(shí)現(xiàn)鏈表尾部插入新節(jié)點(diǎn)域帐。這個(gè)我寫得挺磕磕絆絆的 233333 但是 在面試官的提醒下還是做出來(lái)了赘被,主要是考慮判斷傳入鏈表是否有頭結(jié)點(diǎn)是整,是否 為尾部指針
算法題:版本號(hào)判斷,還是挺簡(jiǎn)單的
總之基本上一面一個(gè)小時(shí)左右民假,然后叫我等了一會(huì)(大概十分鐘浮入?)來(lái)喊二面面
試官二面 1h 左右
二面面試官感覺非常的和藹,但是也很有氣場(chǎng)羊异!二面時(shí)間也差不多一個(gè)小時(shí)事秀,主要是被我寫題磨磨蹭蹭給耽誤了好多時(shí)間嗚嗚嗚
大概問了一些項(xiàng)目相關(guān)問題,比如印象比較深的技術(shù)點(diǎn)野舶,怎么學(xué)習(xí)的和解決 的 balabala
開始正式問問題:css 的垂直居中和水平居中(說(shuō)了一堆)
css 選擇器優(yōu)先級(jí)(這次我會(huì)了易迹!自豪!)
html 的 dom 樹如何生成的(一桿子捅到虛擬 dom 被友善地提醒了扯得有點(diǎn)遠(yuǎn)平道,dbq 這題我不會(huì))
小程序和 pc 頁(yè)面有什么差異(因?yàn)轫?xiàng)目里寫了小程序)
項(xiàng)目里的一些性能優(yōu)化的點(diǎn)
7.做個(gè)題睹欲,看代碼是否能完成輸出,如果不能就說(shuō)下幾個(gè)改的點(diǎn)一屋,題太長(zhǎng)了沒記 寫下幾個(gè)考點(diǎn)吧窘疮。大概是一個(gè)利用異步實(shí)現(xiàn) 1 秒輸出一個(gè)條目的一個(gè)函數(shù),生成 條目要讀取對(duì)象內(nèi)的數(shù)據(jù)冀墨,主要修改點(diǎn)是:1.for 循環(huán)內(nèi)使用 let 控制作用域 2. setTimeout 單純用 1000 無(wú)法實(shí)現(xiàn) 1 秒輸出一個(gè)需要乘以 i+1 3.作用域無(wú)法綁 定對(duì)象考余,獲取不到數(shù)據(jù)(這里說(shuō)了幾個(gè)改變 this 指向的方法比如箭頭函數(shù) bind/apply/call 這樣的)4.這個(gè)我沒想到面試官提醒我了一下 i 是從零開始的但 是條目從 1 開始打需要加 1……其實(shí)第二條的時(shí)候我還記得這個(gè)事的結(jié)果最后我 忘了有點(diǎn)尷尬 23333
代碼實(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í)不難,主要是我寫的磨磨蹭蹭的……最后想通了就寫的很快了衅胀,也很感謝面試 官的耐心等待和思路提醒2砬恰) 9. 一個(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)單的寫的也很快滚躯,被夸了思路挺清晰哈哈哈開心雏门!畢竟我算法超菜的難得碰上一個(gè)會(huì)寫 的……
基本上就這些了然后跟我說(shuō)可以等下三面。后來(lái) hr 姐姐給我打了電話說(shuō)三面面 試官有事希望能推遲一下然后說(shuō)等他回話再約我三面掸掏。然后過了半個(gè)小時(shí)左右又 打來(lái)了電話說(shuō)可以現(xiàn)在面試然后就接著面了
三面 30min 左右
其實(shí)問的東西不是很多茁影,基本上就是很常規(guī)的那種怎么學(xué)習(xí)的,項(xiàng)目里用了什么 技術(shù)丧凤,有哪些困難募闲,這里聊到了之前做的 cms 的一個(gè)登陸功能,順便問了一下 有沒有了解別的登陸的技術(shù)愿待。(對(duì)不起我太菜了沒了解過別的浩螺。)還有一些頁(yè)面路 由處理這樣的靴患。然后問了個(gè)人的發(fā)展方向,以及對(duì)前端未來(lái)發(fā)展的看法要出,最后說(shuō) 到希望能來(lái)實(shí)習(xí)鸳君,什么時(shí)候能來(lái)以及能來(lái)實(shí)習(xí)多久。感覺其實(shí)還好患蹂?三面雖然挺 緊張但不是技術(shù)面或颊,主要是感覺面試官超沉穩(wěn)就我一直在 BB 總怕說(shuō)錯(cuò)什么顯得 我超菜(害本來(lái)也菜)
hr 面 30min 左右
面完三面之后急匆匆地問 hr 小姐姐什么時(shí)候能出結(jié)果,小姐姐說(shuō)不著急的她那 邊有消息立刻通知我况脆。然后我收拾了一下準(zhǔn)備出門吃飯結(jié)果就在收拾包的時(shí)候接 到 hr 小姐姐的電話問我可不可以現(xiàn)在 hr 面(啊當(dāng)時(shí)超開心7贡觥)
hr 面也挺常規(guī)的吧,看了我的投遞記錄發(fā)現(xiàn)我來(lái)字節(jié)面了這么多次問我這幾次有什么進(jìn)步格了,學(xué)了什么(終于給我放進(jìn)去了我太難了.jpg)
字節(jié)的面試體驗(yàn)怎么樣
有沒有考研的打算看铆,為什么?
介紹一下簡(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)槿?程我都蜜汁自信就問了這個(gè))
希望能來(lái)實(shí)習(xí)心铃,大概什么時(shí)候可以來(lái)啦扬,可以來(lái)實(shí)習(xí)多久火脉? 大概結(jié)束兩天就拿到意向書了历涝,效率真的很高艾岂!辛苦字節(jié)的工作人員了 233333
寫在最后
整理這個(gè)的是一些大企業(yè)的大佬啃擦,認(rèn)真地和他們學(xué)習(xí)了很多經(jīng)驗(yàn)以及獲取了很多直觀的資料讶隐,現(xiàn)在全部拿出來(lái)奉獻(xiàn)給大家抖拦!想系統(tǒng)學(xué)習(xí)前端web的朋友鞍帝,我都整理在文件中了诫睬,可以這邊的交流裙前面912,中間629帕涌,最后057摄凡,裙子里從學(xué)生到阿里大佬都有,資源給大家拉滿蚓曼,不見不散哦亲澡!