腾讯C++一面

1. 个人情况

自我介绍

2.  基础

多态的实现机制——(静态多态也就是重载,动态多态(虚函数,虚函数表,不同子类调用同一函数的效果不同,虚函数指针))

如何保证并发安全?——(回答了加锁、互斥、读写,共享,间隙,和原子操作)

了解CAS操作吗?(答到原子操作和自旋,造成CPU忙等待,但不会嵌入内核)

CAS的问题了解吗?(答到了)

ABA问题了解吗?(答到了,但是不熟练)

内核态和用户态的区别是?(硬件访问权限和资源访问权限)

协程有了解过吗?(没写过,但知道是用户态的线程,并发性极强)

HTTP和TCP和UDP是什么,有什么区别,介绍一下?(应用层/传输层,HTTP的版本,HTTP基于TCP,TCP的可靠交付?)

TCP用什么保证可靠交付?(回答了序列号,ACK,重传,拥塞控制和接收窗口返回)

HTTP可以基于UDP实现吗?(正常不行,除非UDP内部实现了可靠)

UDP为什么可以用在游戏传输?(可接受一些损耗,因为可以补帧,但延迟卡顿会非常明显)

3. 项目拷打:

缓存系统是本地的吗?

怎么实现的?

LRU怎么实现?

LRU-K进阶在哪?

内存泄露怎么解决?

了解垃圾回收吗?(这个答的不好,记得垃圾回收有三个限制只能达到两个,C++实现了性能最优,因此要手动管理,Java的GC自动管理,因此性能会稍差)

shared_ptr的引用计数原理?什么时候被清理的?

工作负载剧烈变化场景是怎么个变化?(项目细节)

如果缓存系统加上TTL呢?你怎么实现?

Redis的LRU策略了解吗?

缓存击穿是什么?解决方案有什么?

QPS怎么测的?具体在什么环境下测量的?

具体测QPS需要考虑哪些指标?比如CPU核数?

哈希倾斜了解吗?

分片的时候出现哈希倾斜怎么解决?

raft从哪里学习的?

MCP了解吗?

SKILL了解吗?(没怎么了解,未深入)

了解哪些分布式一致性算法?(raft?ZAP?)

哪些场景需要这些分布式一致性算法?或者说协议?

Protobuf 和 Json 在网络传输中怎么抉择?(包体大小,反序列和序列化,可读性)

CAP的一致性和数据库事务的一致性对比一下?

CAP的CA,CP,AP各自是什么,有哪些协议,用在哪些场景。

4. 怎么学习的?当前的安排是?

力扣题:

19. 删除链表的倒数第 N 个结点(因为做过,说了思路,然后扩展,可以类比哪种数据结构解决,说了栈,说对了)

402. 移掉 K 位数字

(这道题手写,写了可能得有15分钟...微调得有点久,一些细节没考虑好...)

反问环节

1. 业务范围?
2. 表现评价:
   - 面试官反馈:基础扎实,但项目细节还需深挖。
   - 面试官人很好,收获良多!期待二面,但未必能二面(一成把握)
全部评论

相关推荐

评论
3
4
分享

创作者周榜

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