求睿联的校招笔试题

全部评论
他们的笔试简单的离谱,筛人可能得看简历内容和学校
1 回复 分享
发布于 2024-04-24 16:48 湖北

相关推荐

📍面试公司:联想(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道真题和解析
点赞 评论 收藏
分享
1. 自我介绍2. 你认为后端开发的职责是什么?3. Java怎么存32位无符号整数(这里指的是C++里的那种unsigned int,回答了可以考虑用Java里的Long的低32位来存储)4. Java传参数是怎么样的(只有值传递,基本类型的值就是本身,对象的值是内存地址)5. 接口和抽象类的区别是什么?6. OOP的多态是什么意思?(编译时多态和运行时多态,重载和重写)7. 线程池为什么不使用ThreadLocal?(因为线程池的线程是会被复用的,使用ThreadLocal的话会有内存泄漏问题)8. 抽象工厂模式和简单工厂模式的区别9. Spring的IOC和DI的关系10. IOC还有其他的实现方式吗(不知道)11. 计算机网络里的MAC地址是怎么用的?我现在和你开视频会议的时候需要知道你的MAC地址吗?(回答了不需要,对于上层来说是“透明”的)(后话,我没太明白面试官话里的“我”是指人还是指腾讯会议的这个软件)12. HTTP1.1版本的请求报文结构是怎么样的?(请求行、请求头、请求体)13. 那么作为服务端,接收HTTP请求时怎么判断是否接收完毕?(1通过HTTP请求头中的Content-Length来判断(虽然TCP、IP都有可能会对HTTP的请求报文进行切分,比如说TCP分段、IP发片,但这些对于应用层的HTTP来说都是“透明”的) 2利用特殊字符来进行末尾判断,比如说 一直读取,直到遇上“0\r\n\r\n ”)14. HTTP和HTTPS的区别?讲解一下SSL/TLS的四次握手内容(只简单讲了一下几个随机数的生成和传递过程)15. CA证书是怎么来的?客户端怎么样去验证CA证书是否合法呢?(不知道)16. 数据库中精确到秒级别的数据,应该使用什么类型来存储(时间戳类型TIMESTAMP)17. 存储金额呢?(DECIMAL,讲了一下)18. 为什么不能用FLoat和Double(精度问题)19. InnoDB的索引结构(B+树),讲解一下查询时的过程(讲了等值查询和范围查询)20. 覆盖索引是什么?21. 什么时候索引失效?22. 什么是脏读?幻读?23. 什么时候行锁会退化到表锁?( SQL 命中索引(尤其是唯一索引或主键) 时,InnoDB 会使用行级锁;全表扫描时(索引失效当然也是走全表扫描)会表锁)24. 项目里最大的挑战25. 反问:业务范围(海外事业-物联网)和面试有几轮(2技术+1HR)
查看24道真题和解析
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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