字节客户端开发(今日头条)C++一面

问项目
项目中的优化
在接触一个新的领域的时候,是怎么去了解的
项目中有没有做具体的横向调研

八股:
1、介绍虚函数
2、虚函数的实现,vptr、vtable
3、能不能在构造函数中调用虚函数(可以,但是派生类没有构造完成时,调用虚函数并不会呈现多态)
4、为什么父类的析构函数要定义为虚函数
5、多态的实现
6、介绍线程和进程的区别,在项目中有没有用过多线程?如何确保线程的安全?
7、线程死锁,如何打破死锁(互斥、不可剥夺、循环等待、占有等待)
8、TCP头格式(port、seq、ack、校验和、头部长、保留、码元比特、紧急指针)
9、TCP为什么必须是3次握手(2的ACK->1的SYN,3的ACK->2的SYN,连接本质是两个套接字维护的有限状态机,同时到达establish之后,才能发送数据)。
10、TCP可靠的实现(流控+拥控+差错)。为什么TCP的ISN必须是随机值(防止IP假冒攻击)
11、拥塞控制
12、TCP和UDP的区别
13、介绍智能指针(auto/unique/shared/weak)
14、shared_ptr的实现(实现的思路)
15、shared_ptr是不是线程安全(引用计数是线程安全的,但多线程访问shared_ptr指向的对象不一定安全)
16、weak_ptr和shared_ptr的搭配使用
17、shared_ptr所存在的问题(1、创建/销毁的性能开销,频繁的话,考虑使用unique_ptr。2、循环计数问题:加入weak_ptr)
18、mutex实现的思路
做题

反问:
转正机会#牛客AI配图神器#
全部评论
佬你的项目写的是什么
点赞 回复 分享
发布于 2025-06-04 16:32 黑龙江
mark
点赞 回复 分享
发布于 2025-04-27 16:19 广西
好东西,收藏
点赞 回复 分享
发布于 2025-04-14 20:16 广东

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
9
70
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务