字节跳动 飞书跨平台客户端开发 秋招凉经

本人双非本科,普通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";

因为一面时间有点久,很多问题都忘记了。

祝大家好运

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