京东移动端笔试

第一题签到(想不起来一点)
第二题二维数组操作(也基本是签到,但过了90%+,那会头疼异常debug好久。
第三题木棍三角形,一眼滑动窗口,但要考虑时间复杂度的话还要维护两个优先队列(一个最大一个最小)
第二题花时间太多debug,第三题就没维护优先队列写暴力过了0.7
全部评论
佬,状态变了吗,为啥我现在还是待笔试的状态
点赞 回复 分享
发布于 2024-08-26 09:44 辽宁
能解释下第三题样例1给[1,2]为什么是可以的嘛,是可以重复吗但是重复取的话好像[1,1,2]并不能构成三角形
点赞 回复 分享
发布于 2024-08-25 23:08 浙江

相关推荐

📍面试公司:联想(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.原子操作?C++11,C++14,C++17了解吗?2.智能指针,举例写代码出现的循环引用问题?shared-ptr?weak-ptr?unique-ptr?shared-ptr是线程安全的吗?3.tcp最大长度是多少?4.tcp有粘包问题吗?udp呢?如何避免粘包?三次握手四次挥手讲一下?为什么需要三次握手四次挥手?第三次握手可以传递消息吗?5.当你一个tcp携带的内容很大,接受区怎么操作?6.指针和引用的区别?C++定义一个空类?空类里面有什么函数?7.多态?静态多态和动态多态?动态多态具体咋实现的?静态多态中函数重载C语言可以吗?8.静态多态中函数重载,操作系统如何判断实际要调用的是哪一个函数?9.了解哪些常用的数据结构?数组,链表,队列的应用场景?他们的迭代器有什么不同?map和unordered-map怎么实现的?哪个效率更好?10.内存了解吗?内存越界的情况?会用什么内存工具吗?11.栈溢出了解吗?爆栈除了递归还有什么情况?栈的大小可以手动调试吗?12.编写程序出现的异常怎么操作的?如何定位的?假如项目上线?除了通过日志定位异常发生位置?你怎么知道项目哪里出现问题,如何快速解决?13.单例函数具体怎么实现的?假设多个线程同时调用单例函数?会发生什么?14.了解锁吗?是自己手动实现,还是用C++库p-mutex15. ET模式,为什么用ET?和LT的区别在哪?16. epoll和select,poll的区别?他们三者的时间效率怎么评估?不是时间复杂度。。。?select的最大长度是多少,如果超过了最大长度会怎么办?17.平常用什么开发语言?会python吗?并不会,全靠大模型代码生成。。。。18.反问?做什么业务?类似软件SDK服务,可移植性到不同开发平台,Linux,Windows,MAC,比如人脸识别啥的?和嵌入式不搭边,不和硬件打交道19.面试评价?表达能力还行,主要是逗面试官笑,自己也放松面,秋招随缘,还得了解更多底层原理,体现知识深度,东西都是根据简历问的,就一个Webserver,云存储那个项目没问,实习银行的也没问,竞赛科研也没问,和做的方向不搭边。20.java会吗,我说java不记得了,面试官听成了java不重要,给人家逗笑了,给我也逗笑了。面试体验还是很好的,看着面试官点头就愿意继续说,问的很宽很广,面试多注重简历,其他人的面经参考性质不大。
查看18道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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