1. 程式人生 > >位元組跳動前端面試反思總結

位元組跳動前端面試反思總結

事情起因
碰巧在群裡看到老師分享的位元組跳動宣講會的連結,是有去頭條的學長回來招實習生的,想著都大三了也是時候考慮實習的事了,就隨便報了個名去看看,當時看了給的幾個職位,感覺自己什麼都不會,就隨便報了個前端。
筆試
聽完宣講會先是做了一下筆試題,40分鐘,一共三道題,具體內容記不太清,不過難度也不太大,兩道用的貪心演算法,一道智商題,都是要求寫程式,當時我做出來一道,一道寫了一半程式,還有一道只寫了思路,結果就通過了筆試,進入面試。
面試
面試用的視訊面,面試官挺和善,問的內容也挺基礎的,大概回憶著記錄一下。

1.TCP和UDP的區別。
TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線
TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付
TCP面向位元組流,實際上是TCP把資料看成一連串無結構的位元組流;UDP是面向報文的
UDP沒有擁塞控制,因此網路出現擁塞不會使源主機的傳送速率降低(對實時應用很有用,如IP電話,實時視訊會議等)
每一條TCP連線只能是點到點的;UDP支援一對一,一對多,多對一和多對多的互動通訊
TCP首部開銷20位元組;UDP的首部開銷小,只有8個位元組
TCP的邏輯通訊通道是全雙工的可靠通道,UDP則是不可靠通道
2.說一下你對http協議的理解

這個我只講了個三次握手和四次揮手的內容,面試官貌似不太滿意
3.get和post的區別這個回答的也不太全,其中我提到了資料儲存在request body,面試官又問了我request body儲存get和post的區別,emmmm…實在不會就下一題了
4.css實現一個左側固定20px,右側響應式的佈局這個就矇蔽了,因為我用的bootstrap是自帶的響應式佈局,不太瞭解原生css。回答的面試官也不太滿意。
5.css實現水平垂直居中基礎題
**6.jQuery選擇器是如何實現的,例如$(#a.b…)**對於jquery我當時也只是停留在使用層面,沒去了解過實現原理,結果也沒答上來
7.談一下對事件流的瞭解
大概講了一下事件的冒泡和捕獲的區別,然後面試官又問了一下冒泡最後會到哪裡,我不太確定說了到<body>,面試官又問我確不確定,我說不太確定。
8.最後給了一道演算法題。大概是字串的模式識別的題我寫了一個最簡單的,然後面試官要求優化複雜度,這個我當時隱約記得個kmp演算法,就講了一下思路,結果面試官要求寫出實現程式碼,這磨蹭了半天也沒寫出來emmmmm…(順帶一提,當時面試用的是同學的電腦,不知道他裝的IDE在哪,只好用的記事本寫程式碼,痛苦)
總結
說實話當時我根本啥都不會,網頁都沒寫過,只是硬著頭皮看了三四天菜鳥教程和w3cschool上的教程,順帶看了個同學的一個GIS的專案,瞭解一下幾個常用的框架就去面試了,結果也是不出意外的被拒了。
大廠很看重基礎,考的都是原生css原生js和一些計算機網路、資料結構的內容,我瞭解的那些框架問題都沒用上。回去之後想了想,前端這方面學校基本都是不教的,大家都是自學的,我大三開始學可能有點晚了,但俗話說“種一棵樹的最好時間一是十年前二是現在”,所以打算從現在開始正式學習前端,就開了這部落格來記錄一下我這個小白的學習歷程。