字节客户端开发(今日头条)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配图神器#
项目中的优化
在接触一个新的领域的时候,是怎么去了解的
项目中有没有做具体的横向调研
八股:
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配图神器#
全部评论
mark
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享