获赞
49
粉丝
27
关注
8
看过 TA
221
东南大学
2019
C++
IP属地:江苏
暂未填写个人简介
私信
关注
📍面试公司:小鹏汽车🕐面试时间:8.31💻面试岗位:效能部门bazel c++❓面试问题:1.自我介绍2.开场讨论​​:我们聊了聊​​普通消费者对自动驾驶的认知​​,以及​​L1~L5级别自动驾驶的区别​​。3.C++基础​​:volatile​​关键字​​的作用(防止编译器优化,适用于多任务共享变量或寄存器状态判断)、​​多态的实现原理​​(涉及虚函数表Vtbl和虚表指针Vptr)、​​多重继承下的多态​​、​​右值引用​​(主要用于移动语义和完美转发)以及​​智能指针​​(unique_ptr, shared_ptr, weak_ptr 的区别和RAII思想4.效能部门的构建系统(如Bazel)需要充分利用多核资源谈谈你如何使用C++的​​多线程库​​(如std::thread, std::async)或​​同步原语​​(如std::mutex, std::atomic)来优化编译、测试或资源调度任务的并行性,并如何避免死锁和数据竞争。5.请阐述你对Bazel​​核心概念​​(如WORKSPACE, BUILD文件,依赖图)的理解。是否有过扩展Bazel(如编写自定义规则或宏)来满足特定项目构建、测试或部署需求的经验?6.如何利用​​机器学习模型​​(如基于历史代码库训练的模型)对代码质量、测试覆盖率或潜在性能瓶颈进行​​静态分析​​并提供智能修复建议?7.设计一个高效的 CI/CD 流水线​​请从​​系统架构​​角度,描述如何为大型C++项目设计一个高效、可靠的CI/CD流水线。你会考虑哪些关键环节(代码检查、编译、单元测试、集成测试、部署)?如何确保其​​可扩展性和稳定性​​?🙌面试感想:问的问题和部门的工作内容高度相关,需要深入理解基础​​,确保对C++​​核心机制​​(内存模型、对象生命周期、多态实现、模板等)和​​现代特性​​有扎实理解,此外还需要​​熟悉效能领域​​,复习​​构建系统​​(特别是Bazel)、​​编译器原理​​(如编译、链接过程)、​​并发编程​​和​​性能分析工具​​的相关知识。最后​​思考AI的结合点​​,多思考AI技术(机器学习、深度学习、强化学习)可以如何应用于​​软件开发生命周期​​的各个环节以提升效能,并准备一些具体的设想或案例。
查看11道真题和解析
0 点赞 评论 收藏
分享
📍面试公司:联想(Lenovo)🕐面试时间:2025年08月23日💻面试岗位:C++研发工程师❓面试问题:一、现代C++特性与语言演进 (C++11/14/17/20)1.​​右值引用与移动语义​​:解释std::move和std::forward的区别?完美转发是如何实现的?2.​​智能指针进阶​​:std::shared_ptr的线程安全性如何?std::weak_ptr如何解决循环引用?3.​​C++17/20新特性​​:谈谈你对std::optional, std::variant, std::string_view的理解。C++20的Coroutines(协程)有什么优势?4.​​类型推导与模板​​:auto和decltype有什么区别?模板参数包(Parameter Pack)如何展开?二、内存管理新范式1.​​内存池技术​​:如何自己实现一个内存池?2.​​检测与优化​​:除了Valgrind,还有哪些工具(如ASAN、MSAN)可用于检测内存问题?如何重载new和delete来跟踪内存分配?三、并发编程与现代多线程1.​​原子操作与内存模型​​:std::atomic<T>是如何保证原子性的?解释一下内存序(Memory Order):memory_order_relaxed、memory_order_acquire、memory_order_release的区别和应用场景。2.​​无锁编程​​:什么是无锁(Lock-Free)数据结构?尝试实现一个无锁的队列或栈。3.​​协程​​:C++20的协程底层机制是什么?co_await、co_yield、co_return分别做了什么?四、STL容器与算法新特性1.​​新容器​​:std::unordered_map的负载因子和再哈希策略是怎样的?C++23引入了哪些新容器?2.​​算法复杂度与选择​​:std::sort用的是哪种排序算法?什么情况下会退化为O(n²)?如何避免?五、系统设计与性能优化1.​​设计线程安全的LRU缓存​​:要求get和put操作的时间复杂度为O(1),并考虑高并发场景。2.​​零拷贝技术​​:如何在Linux下使用sendfile或splice实现零拷贝文件传输?3.​​高性能日志系统​​:如何设计一个每秒处理千万级日志条目且保证零丢失的采集系统?六、设计模式与架构演进1.​​现代C++下的设计模式​​:如何使用移动语义和智能指针实现单例模式、工厂模式?2.​​分布式系统概念​​:如何理解分布式缓存中的缓存击穿、雪崩和穿透?如何设计一个防护系统?七、手撕代码题目更新1.​​实现一个移动语义优化的字符串类​​(MiniString),要求支持拷贝构造、移动构造、析构。2.​​实现一个简化版的std::shared_ptr​​(MySharedPtr),模拟引用计数。3.​​实现一个线程安全的环形缓冲区(Ring Buffer)​​,支持多生产者和多消费者。🙌面试感想:联想的C++面试很​​现代化和深度化​​。面试官不仅考察传统的语言特性和底层原理,还会深入询问​​C++17/20的新特性、无锁编程、协程、高性能系统设计​​等前沿话题。手撕代码环节的题目综合性更强,常要求实现一个小型的数据结构或系统组件,并考虑线程安全和性能。项目经验部分问得非常细,要求候选人能清晰说明技术选型、性能优化证据链和故障排查路径。整体感觉面试官水平很高,乐于追问,氛围既有挑战性又很专业。
查看19道真题和解析
0 点赞 评论 收藏
分享
📍面试公司:小米🕐面试时间:8.21💻面试岗位:c++开发工程师❓面试问题:1.自我介绍2.C++中malloc和new的区别?delete和delete[]能混用吗?3.什么是虚函数表?多重继承下的虚函数表结构是怎样的?4.智能指针有哪几种?shared_ptr的线程安全性如何?循环引用怎么解决?5.如果类中有const成员或引用成员,能否自动生成移动构造函数?为什么?6.std::vector的扩容机制是什么?扩容时代价多大?如何避免频繁扩容?7.什么是内存对齐?为什么需要内存对齐?如何手动控制结构体的内存对齐?8.如何使用Valgrind或ASAN排查内存泄漏和越界问题?你在项目中用过吗?9.说说std::map和std::unordered_map的底层实现及时间复杂度10.如何用GDB调试死锁?thread apply all bt 这个命令有什么用?11.进程和线程的区别?进程间通信有哪些方式?哪种效率最高?12.线程同步有哪些机制?std::mutex、std::lock_guard、std::unique_lock的区别?13.什么是虚假共享(False Sharing)?如何避免?14.讲一下TCP拥塞控制机制?TIME_WAIT状态的作用是什么?15.Epoll的水平触发和边缘触发有什么区别?使用场景是什么?16.手撕:实现一个线程安全的环形队列(支持多生产者多消费者)17.手撕:二叉树锯齿形层次遍历(Zigzag Level Order)18.项目深挖:🙌面试感想:面经题并不刁钻,主要以项目为主,问了很多项目的细节
查看18道真题和解析
0 点赞 评论 收藏
分享
九月一到,空气里飘的不是桂花香,而是“我该考研还是找工作”的灵魂拷问!考研党抱着肖四狂背,咖啡当水喝,内心OS:现在秃头三年,未来少被学历卡脖子三十年!毕竟某些大厂门口立着隐形学历墙:“硕士以下?简历机筛再见!” 就业党也没闲着,秋招像开盲盒:投100份简历换3个面试,最后offer写着“薪资面议”?但早打工的快乐你想象不到:从此理直气壮喊“本打工人下班勿扰”,还能把花呗还清!工科学姐付静靠一手建模神技斩获4个offer,霸气宣言:“调剂的学校我不爱,不如直接赚钱!” 更别说销售、电商、新媒体——这些赛道经验才是硬通货,早入行早当大佬! 纠结派还在路口当“思想者雕像”,狠人早已开辟隐藏路线:白天图书馆刷高数,晚上偷溜秋招会,拿个保底offer再战考场,上岸失败也有班可上(亲测有效!) 或者学那位土木硕士小哥,把烤炉当画板,用空间想象力雕出网红烧饼,两个月吸粉40万——毕竟这届年轻人的信条是:只要我乐意,煎饼果子都能摊出SCI!所以别问“选哪条路对”,要问“哪条路让你两眼放光”!清华学霸李永乐拒当996打工人,跑去中学讲物理段子,结果学生追着喊“老师下节讲黑洞吗?”——人间清醒的秘诀就一句:拒绝用别人的地图,走自己的路! 九月行动纲领:管它图书馆还是写字楼,先迈腿的总能看到新风景,毕竟站着不动只能吃灰啊!拒绝用别人的地图,走自己的路! 九月行动纲领:管它图书馆还是写字楼,先迈腿的总能看到新风景,毕竟站着不动只能吃灰啊!
九月了,是考研还是就业?
0 点赞 评论 收藏
分享
实习离职怎么跟领导说
0 点赞 评论 收藏
分享
面试太紧张了怎么办?
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务