字節跳動 飛書跨平臺客戶端開發 秋招涼經

本人雙非本科,普通211碩,非計算機專業。

共面了三次,今日(2020 08 19)收到感謝信。

祝大家好運。

整個過程全部使用飛書進行面試

一面(08 09,1h20min):

自我介紹

聊了半個小時的項目,其中牽扯到多線程同步和通訊,問了具體的實現方法

包括但不限於以下內容:

鎖和信號量的區別,進入臨界區的原則,你是如何在項目中應用這些知識的等等...

之後是基礎概念:

構造函數(可否重載,深淺拷貝,調用時機,拷貝構造調用時機,重載賦值運算符調用時機)

虛函數指針和虛函數表(數據對象還是類?如何工作?如何理解多態,虛函數指針存在什麼區)

內存分區(棧,DATA(bss,常量,堆,全局區...),代碼區)

Qt的信號和槽是如何實現的,你自己設計怎麼設計

TCP擁塞控制有什麼算法?慢啓動爲啥指數增長

如何理解滑動窗口?簡述工作機制?這種機制有沒有什麼問題?

TCP三次握手和四次揮手,及原因

TCP如何保障可靠傳輸

TCP攻擊手段

常見的編碼形式:ascii,utf8

漢字字節長度,最長多長,編碼之間的區別

new 數組,delete沒有寫方括號,會出現什麼情況?

二面(08 13,1h):

1:自我介紹

讓我共享屏幕,開始敲代碼,能寫的都要去寫出來

2:violent關鍵字的作用

3:數組指針和指針數組

4:指針常量和常量指針

5:static關鍵字作用

6:const關鍵字作用

7:作用域概念

8:繼承,重載,多態

9:函數指針

兩道算法:

1:反轉鏈表:

//單鏈表的反轉

structLinkNode{

LinkNode * next;

intval;

};

LinkNode *ReverseList(LinkNode * head){

if(head ==nullptr)returnhead;

LinkNode * Newhead;

LinkNode * pre =nullptr;

LinkNode * pcur = head;

while(pcur){

LinkNode * Next = pcur->next;

pcur->next = pre;

pre = pcur;

pcur = Next;

}

Newhead = pre;

returnNewhead;

}

2:給定一顆二叉樹,找到從根結點開始,到最深葉子節點的路徑,左子樹爲0,右子樹爲1

//二叉樹 找到最深的葉子結點 左子樹是0,右子樹是1

structTreeNode{

TreeNode* left;

TreeNode * right;

intval;

};

voidDFS_deep(TreeNode * root,intdeep);

voidDFS(TreeNode * root,stringtarget,intdeep);

intDeep =0;

vectorRes;

vector main(TreeNode * root){

if(root ==nullptr)return"";

//計算深度

DFS_deep(root,0);

//找到深度爲最深的,從根結點到葉子結點的路徑

DFS(root,"",0);

returnRes;

}

voidDFS_deep(TreeNode * root,intdeep){

if(root ==nullptr)return;

deep++;

Deep = max(Deep,deep);

DFS_deep(root->left,deep);

DFS_deep(root->right,deep);

}

voidDFS(TreeNode * root,stringtarget,intdeep){

if(deep == Deep) {

Res.push_back(target);

return;

}

if(root ==nullptr)returntarget;

stringOri = target;

if(root->left) {

Ori +='0';

DFS(root->left,Ori,++deep);

}

if(root->right) {

Ori +='1';

DFS(root->right,Ori,++deep);

}

}

第一個很簡單

第二個本人第一次遇到

以上兩道題目的代碼都是現場敲的,這裏直接貼出來

面試的時候筆記本很慢,IDE啓動了半天,最後面試官讓用記事本寫的。

三面(08 17,45min):

三面一轉前兩面的風格,面試官問的問題非常基礎,根本不深究,我回答完也基本不追問,直接下一個問題。

自我介紹

TCP三次握手和四次揮手,及原因

虛函數指針和虛表

HTTP和HTTPS

SSL加密

進程線程區別

進程通信方式

循環展開

linux相關

之後讓我看了兩道代碼題。

一個關於malloc和free

一個關於char str[] = "asdfafaf";

因爲一面時間有點久,很多問題都忘記了。

祝大家好運

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章