某跳動面試涼經
面試題
以前也只是聽說大廠面試要手撕程式碼,今天確實親身體會了,接下來就奉獻出機會不多的經驗
1.自我介紹完,聊一下做過的專案,(我這裡說了我在某訊開發部署的經驗,所以這裡聊了下)
2.簡單的出個題,用兩個棧Stack實現一個佇列Queue,棧用陣列模擬(手寫程式碼而且是,你寫一行面試官就能看見一行的那種)
//兩個陣列模擬棧的行為
var stack1=[],//儲存棧
stack2=[];//輔助棧
//棧是後入先出(LIFO,last in first out),佇列是先入先出(FIFO,first in first out)
//佇列插入元素函式
function push(ele)
{
//模擬佇列的push操作,直接往儲存棧stack1中推入即可
//但是要考慮輔助棧stack2中還存在值的情況,需要先將輔助棧中的值推回儲存棧中
while(stack2.length !== 0){
stack1.push(stack2.pop());
}
stack1.push(ele);
}
//佇列刪除元素函式
function pop()
{
//模擬佇列的pop操作則要考慮棧的後入先出特性,需要先將儲存棧stack1中的陣列,推入輔助棧stack2,然後輔助棧彈出元素
while(stack1.length !== 0){
stack2.push(stack1.pop());
}
return stack2.pop();
}
當然我是沒能寫出來,一直在寫專案,沒有複習過資料結構的面試題,以為只問專案,是我單純了,
3.那我們換一個,斐波那契數列計算出fn(100)吧
function fb1(n){
if(n <= 2){
return 1;
}else{
return fb1(n-1) + fb1(n-2);
}
}
這個就還好,不記得現做也行,然後問這個實現的時間複雜度是多少
我:???
正解:o(2^n)
4.三次握手,四次揮手分別是什麼
三次握手
首先客戶端,服務端,TCP三次握手:
握手過程中使用了TCP的標誌,SYN和ACK。
初始化狀態:客戶端處於close關閉狀態,伺服器處於Listen監聽狀態。
第一次握手:客戶端傳送請求報文將 SYN=1 同步序列號和初始化 seq=x傳送給服務端,服務端從初始化狀態,建立連線,等待客戶端,確認接收後的狀態為SYN_Receive。這個時候客戶端處於等待狀態為SYN_Send。
第二次握手,伺服器接收到報文後(SYN=1,seq=x)收到請求後請求報文變為同步序列號SYN=1,初始化序列號seq=1,確認號ACK=1,ack=x+1,伺服器為SYN_Receive狀態,傳送端的狀態為:SYN_Send。
第三次握手,客戶端收到服務端的資料包(收到響應後),然後傳送同步序列號ack=y+1和資料包的序列號seq=x+1和ACK=1確認包作為應答(第三次握手:ACK=1,seq=x+1,ack=y+1),客戶端和服務端變化為established狀態。
四次揮手
第一次揮手
客戶端設定seq和 ACK ,向伺服器傳送一個 FIN=1報文段。此時,(第一次揮手,FIN=1,seq=u)客戶端進入 FIN_WAIT 狀態,表示客戶端沒有資料要傳送給服務端了。
第二次揮手
服務端收到了客戶端傳送的 FIN 報文段,向客戶端回了一個 ACK 報文段。
第三次揮手
服務端向客戶端傳送FIN 報文段,請求關閉連線,同時服務端進入 LAST_ACK 狀態。
第四次揮手
客戶端收到服務端傳送的 FIN 報文段後,向服務端傳送 ACK 報文段,然後客戶端進入 TIME_WAIT 狀態。服務端收到客戶端的 ACK 報文段以後,就關閉連線。此時,客戶端等待 2MSL(指一個片段在網路中最大的存活時間)後依然沒有收到回覆,則說明服務端已經正常關閉,這樣客戶端就可以關閉連線了。
到這基本已經涼了,我問不問點別的嗎?
5.那做個this的指向題吧
var length = 10;
function fn() {
console.info(this.length)
}
fn(); // A 10
let Person = {
len: 5,
say: function() {
fn(); // B 10
arguments[0](); // C 1
}
}
Person.say(fn);
細細品嚐,你品,
相關文章
- 可以算是Flutter面試涼涼經吧Flutter面試
- 剛面完位元組跳動,估計涼了。
- 位元組跳動ios面經iOS
- 前端面試(3)之吉位元一面涼經前端面試
- Android 開發網易面試涼涼經,面試官:基礎不牢,技術不夠深入,無緣offerAndroid面試
- 「面經」你可能需要的位元組跳動三輪面經
- 2020最新位元組跳動面試經驗分享,已拿到offer (4輪技術面+hr面)面試
- 對線面試官 | 位元組跳動一面面試
- 因為實現不了Promise.all,一場面試涼涼了Promise面試
- 位元組跳動web前端面試經歷Web前端面試
- 位元組跳動視訊編解碼面經
- 兩年經驗前端:位元組跳動系—石墨文件面經前端
- 詩悅網路 秋招一面涼經
- 面經-自動化測試
- 位元組跳動前端研發面經-2020春招技術面前端
- 面試前:各方面都匹配 面試後:恐怕是涼了面試
- 記一次位元組跳動Java研發崗的面試經歷,跪了Java面試
- 面試題:面試經面試題
- 位元組跳動-後端開發崗實習面經後端
- 讓渡居涼經
- 位元組跳動總監某乎獲贊過萬的Java開發筆記、簡歷模板、面試真題Java筆記面試
- 位元組跳動後端開發 面經(已收到意向書)後端
- 位元組跳動實習面經分享(已拿offer附攻略)
- Java面經 面試經驗 網際網路公司面試經驗 後端面試經驗Java面試後端
- 1307頁位元組跳動Java面試全套真題解析火了,Java面試問題集合Java面試
- 騰訊Android開發面試涼涼,2021年這些高頻面試知識點最後再發一次,先收藏了Android面試
- 大四菜雞的第一次面試經歷,我的後端日常實習面經,已經拿了位元組跳動和B站offer!面試後端
- 大三實習生,位元組跳動面經分享,已拿Offer
- 涼了呀,面試官叫我設計一個排行榜。面試
- 鏈家面試面經面試
- 位元組跳動三輪涼涼後,懸樑刺股一個多月,終於拿下了網易Java崗的Offer!Java
- 面試經歷面試
- 面經-測試
- 面試真經面試
- 【面經】美團複試-前端&移動端前端
- 偽經驗;不稱職面試官的面試經面試
- 廣州某小公司:ThreadLocal面試thread面試
- 大廠面經: 位元組跳動 iOS開發實習生-飛書iOS