字节后端开发一二三面hr面面经(已OC)
一面3.18下午3:30(50min)
1、自我介绍
2、epoll与select区别
3、reactor与普通的IO的区别 (重要的一点:减小IO的次数)
3、TCP与udp的区别以及应用场景
4、三次握手过程中SYN同步位的变化
5、输入一个url发生的过程
6、C++的泛型函数
7、引用与指针的区别
8、哈希冲突的解决办法
9、内存缺页(内存)
10、为啥有缺页这种现象
11、缺页之后有哪些置换算法
12、线程与进程的区别
13、了解过设计模式嘛(没有)
14、算法题:一个链表是否有环。(因为链表要自己定义,结果输入没写对)
二面3.23下午3:00 (1h10min)
1、自我介绍
2、reactor模式的好处(除了reactor模式还了解其他模式嘛)
3、边沿触发与水平触发的区别
4、边沿触发的缺点
5、C++面向对象的三大特性
6、讲一下多态
7、二叉搜索树
8、二叉平衡树
9、红黑树
10、介绍一下哈希表
11、怎么解决哈希冲突
12、哈希冲突中开放定址法的线性探测法
13、map与unordered_map应用场景
14、B+树的特点
15、B+树的应用场景
16、OSI七层模型
17、应用层有哪些协议
18、http中状态码(具体的确实不太了解,还得再看看)
19、解释一下重定向
20、ip转换为mac地址的协议(arp)为啥要有ip地址和mac地址
21、ping命令的作用?什么协议
22、straceroute的作用
23、输入一个url找不到ip地址是什么原因?(dns解析错误)
24、智能指针有哪几种(auto_ptr、unique_ptr、shared_ptr、weak_ptr)
25、unique_ptr中移动拷贝构造与常规的复制构造函数有啥区别
26、实现一下unique_ptr的移动拷贝构造(伪代码)
手撕算法:判断一个二叉树是不是二叉搜索树(中序遍历)
好久没做二叉树的题了,一下子不知道思路,想了几分钟,最后还是面试官提示的用遍历。
三面 4.2 下午2:00 50min
1、自我介绍
2、问了一些项目中的问题
3、进程与线程的区别
4、讲讲三种排序算法
5、一道概率题:a、b、c三扇门,其中一扇门后面有人,若选了a,此时排除b,此时若坚持选择a还是选择c的概率哪个更大?
6、外加一些闲聊
无手撕
hr面 4.2晚9:00 20min
闲聊吧,啥时候能入职之类的
已发offer邮件,打算就去字节了!