柠檬微趣-C++客户端一面凉经

#面试吐槽bot##柠檬微趣#
一、自我介绍
二、C++内存对齐,计算三个结构体的大小
三、介绍多态,虚函数、虚函数表、虚函数表指针、虚析构函数(主要就是考查内存布局)、构造函数能否为虚函数?为什么
四、多继承中多个虚函数指针是存放在数组中还是单独的指针变量(之前只大致扫了一下多继承/菱形继承问题,没想到问这么细)
五、map底层原理,是否有序,介绍一下红黑树(根叶黑/不红红/黑路同),查找/删除/插入的时间复杂度(O(logn))(习惯性直接回答成unordered_map了,重新回答了,笑死)
六、内存泄漏是什么,如何避免、检查、解决(例如析构函数调用前发生程序异常,造成内存泄漏等等,代码逻辑考虑准确、RAII手法/智能指针、valgrind)
七、介绍一下智能指针:shared_ptr/weak_ptr/unique_ptr/scope_ptr,各自特点、区别、应用场景
八、手写shared_ptr,包含六个函数:无参构造、有参构造、拷贝构造、移动构造、赋值运算符重载、析构函数
九、测试上面的所有函数,打印引用计数值(测试析构的时候,面试官给了提示)

补充:问多态的时候,也问到了一些子类、父类指针的类型转换/直接对象转换

周三面,周日感谢信;面试过程中感觉良好,都是纯C++八股,被挂了还蛮沮丧

找不到暑假实习了,挂麻了
全部评论
这问的已经挺难了,虽然也是常见面试题,但都是深度提问,要求掌握比较熟练,还有手写shead_ptr,大部分人都过不了
5 回复 分享
发布于 2025-05-19 11:32 河南
离谱,这tm是实习面试?
1 回复 分享
发布于 2025-05-22 23:58 广东
本来不想学手撕共享指针的,怎么真考啊
点赞 回复 分享
发布于 2025-06-09 21:39 黑龙江
放心兄弟起码你还有面,我有你这水平学院本面都没有
点赞 回复 分享
发布于 2025-05-27 15:31 广东
我也是,这家感觉要求好高...我感觉我也很良好,一直在手写
点赞 回复 分享
发布于 2025-05-20 17:33 重庆
byd难死了
点赞 回复 分享
发布于 2025-05-20 07:49 湖南

相关推荐

01-27 14:49
门头沟学院 Java
它回复 短期内(1-3年):不太可能被完全取代Java后端开发涉及的东西太复杂了——系统架构、业务逻辑、性能优化、安全性、与其他系统集成、处理遗留代码、在各种约束下做权衡。这些需要深度理解业务、技术债务、团队协作,AI现在还做不到这个程度。但你的工作方式会被彻底改变:写常规代码的部分会被大幅加速 - CRUD操作、单元测试、重复性代码模式,AI已经能写得很好调试和理解代码会更快 - 你可以让AI解释复杂的遗留代码初级开发者的价值会下降 - 如果你的工作主要是"按需求写简单接口",那风险较大真正的威胁不是AI直接替代你,而是:会用AI的开发者替代不会用的 - 一个熟练使用AI工具的开发者可能顶三个传统开发者公司需要的开发者总数可能减少 - 如果团队效率提高3倍,可能就不需要那么多人了你应该做什么?现在就开始深度使用AI工具 - GitHub Copilot、Claude、Cursor等,让它们成为你日常工作流的一部分往上走 - 系统架构、技术决策、业务理解这些更难被替代别只会写代码 - 理解业务价值、能跟非技术人员沟通、能做技术决策的人更安全保持学习 - 新技术、新框架,AI也在进化,你也得跟着进化同意这个观点,与AI接轨,保持同步!
当你问AI“你会取代我的...
点赞 评论 收藏
分享
评论
13
58
分享

创作者周榜

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