字节客户端提前批三面面经(技术面,视频,1.5h)
三面面试官明显能感觉是个大佬,没有自我介绍,直接进入主题,面完之后感觉自己还是菜,许多技术的底层不了解(尤其是多线程这块),思考题先是问了一道,不会,然后又出了一道,还是不会,心态爆炸,后面出编程题时,脑袋已经懵了,看题目的时候明明有思路,但是就是写不出来,我问面试官能不能直接讲思路,太紧张写不出来,面试官说要看我最终代码,让我放松不要去想别的,不要轻易放弃,最后终于撕出来了...
感觉字节面试官还是很友好的,有些题目没有思路,面试官也会试图引导你,另外就是心态一定要稳,要是我这题写不出来,直接就凉了。希望最后能拿到offer吧。
1.C++
(1)move语义是怎么实现的?
(2)shared_ptr里引用计数器是怎么实现共享的?
(3)shared_ptr是线程安全的吗?(不会)
(4)了解atomic吗?(不会)
(5)static是线程安全的吗(不会)
(6)让你实现malloc和free的内存分配和释放,你怎么设计,考虑内存碎片问题?(链表,内存块从小到大排列,但会存在内碎片)
(7)外碎片如何处理?(内存块合并)
2.OS
(1)mmap了解吗?(不会)
(2)线程池怎么设计?
(3)线程池里的同步和调度怎么做?(不会)
(4)读写锁是怎么实现的?(不会)
(5)CAS介绍下
3.网络
(1)假设客户端和服务器通过TCP通信,这时客户端突然断电,服务器是如何关闭这个连接的?(超时重传超过阈值后,主动断开连接)
(2)接(1)问,服务器TCP具体怎么断开连接的?发了什么包?
4.数据结构
(1)C++ vector是如何实现扩容的?
(2)priority_queue底层是怎么实现的?(堆)
(3)priority_queue插入一个元素,底层怎么做的?
5.设计模式
(1)单例模式介绍下
(2)口述懒汉式
(3)懒汉式是线程安全的吗?
(4)怎么实现线程安全的懒汉式?
6.数据库
(1)Redis跳表介绍下?(不会)
7.思考题
(1)三维空间中,如何判断两个三角形是垂直的?(不会)
(2)如何用rand5实现rand7?(不会)
8.手撕代码
(Leetcode 113)给定一个sum,找出从根结点到叶子结点的路径和 = sum的所有路径
9.反问
(1)部门、业务、技术栈?
影像团队,做剪映、轻颜等工具类App开发,技术栈有音视频、图像、架构等
(2)我看广州和深圳都有这个团队,在业务上有啥区别?
没区别,深圳这边人更多一点,广州HC少
全部评论
(10) 回帖