字节跳动 飞书跨平台客户端开发 秋招凉经
本人双非本科,普通211硕,非计算机专业。
共面了三次,今日(2020 08 19)收到感谢信。
祝大家好运。
整个过程全部使用飞书进行面试
一面(08 09,1h20min):
自我介绍
聊了半个小时的项目,其中牵扯到多线程同步和通讯,问了具体的实现方法
包括但不限于以下内容:
锁和信号量的区别,进入临界区的原则,你是如何在项目中应用这些知识的等等...
之后是基础概念:
构造函数(可否重载,深浅拷贝,调用时机,拷贝构造调用时机,重载赋值运算符调用时机)
虚函数指针和虚函数表(数据对象还是类?如何工作?如何理解多态,虚函数指针存在什么区)
内存分区(栈,DATA(bss,常量,堆,全局区...),代码区)
Qt的信号和槽是如何实现的,你自己设计怎么设计
TCP拥塞控制有什么算法?慢启动为啥指数增长
如何理解滑动窗口?简述工作机制?这种机制有没有什么问题?
TCP三次握手和四次挥手,及原因
TCP攻击手段
常见的编码形式:ascii,utf8
汉字字节长度,最长多长,编码之间的区别
new 数组,delete没有写方括号,会出现什么情况?
二面(08 13,1h):
1:自我介绍
让我共享屏幕,开始敲代码,能写的都要去写出来
2:violent关键字的作用
3:数组指针和指针数组
4:指针常量和常量指针
5:static关键字作用
6:const关键字作用
7:作用域概念
8:继承,重载,多态
9:函数指针
两道算法:
1:反转链表:
//单链表的反转 struct LinkNode{ LinkNode * next; int val; }; LinkNode * ReverseList(LinkNode * head){ if(head == nullptr) return head; LinkNode * Newhead; LinkNode * pre = nullptr; LinkNode * pcur = head; while(pcur){ LinkNode * Next = pcur->next; pcur->next = pre; pre = pcur; pcur = Next; } Newhead = pre; return Newhead; }
2:给定一颗二叉树,找到从根结点开始,到最深叶子节点的路径,左子树为0,右子树为1
//二叉树 找到最深的叶子结点 左子树是0,右子树是1 struct TreeNode{ TreeNode* left; TreeNode * right; int val; }; void DFS_deep(TreeNode * root,int deep); void DFS(TreeNode * root,string target,int deep); int Deep = 0; vector<string>Res; vector<string> main(TreeNode * root){ if(root == nullptr) return ""; //计算深度 DFS_deep(root,0); //找到深度为最深的,从根结点到叶子结点的路径 DFS(root,"",0); return Res; } void DFS_deep(TreeNode * root,int deep){ if(root == nullptr) return; deep++; Deep = max(Deep,deep); DFS_deep(root->left,deep); DFS_deep(root->right,deep); } void DFS(TreeNode * root,string target,int deep){ if(deep == Deep) { Res.push_back(target); return; } if(root == nullptr) return target; string Ori = 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";
因为一面时间有点久,很多问题都忘记了。
祝大家好运