腾讯二面

1. C++虚函数实现原理是什么?虚表、虚指针在内存中如何布局?多重继承、虚继承会有什么变化?
2. 智能指针有哪些?shared_ptr 的循环引用问题怎么产生、怎么解决?weak_ptr 原理是什么?
3. C++内存模型与内存泄漏常见场景。你在项目中如何定位内存泄漏?(如 Valgrind、AddressSanitizer)
4. 多线程:volatile 关键字作用与误区,mutex 原理,死锁产生条件及避免方法。
5. C++11及以后你常用哪些特性?lambda、右值引用、移动语义、完美转发分别解决什么问题?
6. TCP 三次握手、四次挥手详细过程。TIME_WAIT 状态为什么存在?大量 TIME_WAIT 如何优化?
7. epoll 的水平触发与边缘触发区别?ET 模式下为什么要非阻塞 + 循环读?
8. 手写代码:实现一个线程安全的单例模式(懒汉/饿汉/双检锁/C++11 magic static)
9. 手写代码:LRU 缓存实现(要求 O(1) 访问、淘汰),说明为什么用哈希+双向链表。
10. 项目深挖:你做过最复杂的C++项目是什么?遇到过什么性能瓶颈?怎么定位、怎么优化?(锁竞争、内存拷贝、IO、算法复杂度)
#发面经攒人品# #我的求职进度条#
全部评论
感觉问的还挺多呀
点赞 回复 分享
发布于 04-18 23:52 北京

相关推荐

1.自我介绍2.第一部分:项目深挖3.问题 1:请简单介绍一下你用 C++ 实现 RAG 系统的流程,分块、向量化、存储、检索这几个环节分别是怎么做的?是自己手写还是调用第三方库?4.问题 2:项目依赖的第三方库是如何管理的?5.问题 3:依赖库有更新时,你是如何维护的?6.问题 4:项目中遇到了哪些性能瓶颈或现实问题?7.问题 5:性能优化前后的数据对比是怎样的?精度是如何衡量的?8.问题 6:SQLite 的写操作可以是多线程的吗?如果需要并发写入怎么处理?9.第二部分:C++ 语言基础10.问题 7:C++ 中的 inline 关键字有什么作用?有什么缺点?是否可以用于虚函数11.问题 8:在头文件里定义一个全局静态变量,它存在进程地址空间的哪里?如果被多个源文件包含会怎样?12.第三部分:数据结构与数据库13.问题 9:常用的数据结构有哪些?在你的项目中用到了哪些?14.问题 10:数据库索引一般用什么数据结构?B 树和 B 加树有什么区别?15.第四部分:网络与安全16.问题 11:HTTPS 相比 HTTP 多了什么?它是如何确保连接安全的?17.反问。面试官在问第一个问题的时候,看起来表情都不是很耐烦,我就知道肯定挂了,不过不管怎么样,也算积累面试经验了。
查看12道真题和解析
点赞 评论 收藏
分享
评论
5
6
分享

创作者周榜

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