9.4 B站C++一面

岗位:C++开发工程师(多媒体剪辑)

  • 两个线程,一个不停打印a,一个不停打印b,那么如何操作,使得可以在输出时a、b交替输出
  • 互斥锁和自旋锁的区别,使用场景分别是什么
  • 实习公司有给正式offer吗,为什么投b站这个职位
  • 递归时没有写退出条件会导致程序报错,原理是什么
  • 在竞赛中承担的角色
  • 讲讲熟悉的排序算法,时间复杂度、空间复杂度、稳定性
  • 如果想先打印a,再打印b,怎么实现
  • 除了学校的知识,你有系统学过某个知识吗,自学有什么方法
  • 手撕:输入一个正数数组,找出第一个不连续的数,例子:12 33 42 50 4 8 7 5 6,输出:9
  • 反问
  • #发面经攒人品#
    全部评论
    那个题我都么看明白,为啥输出是9
    点赞 回复 分享
    发布于 09-08 21:28 陕西

    相关推荐

    📍面试公司:联想(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道真题和解析
    点赞 评论 收藏
    分享
    📍 面试公司:汇川技术🕐 面试时间:2025年9月9日💻 面试岗位:C++开发工程师❓ 面试问题:1.  自我介绍与项目深挖◦   详细介绍实习/项目经历,面试官会从技术实现、难点解决、团队协作等角度深度追问,并关注项目是否涉及工业控制、自动化设备通信等场景。2.  C++基础与高级特性◦   智能指针的实现原理:std::shared_ptr的引用计数如何保证线程安全?std::unique_ptr的所有权转移机制是怎样的?◦   C++11新特性:右值引用与移动语义(std::move)的应用场景,以及Lambda表达式的捕获列表区别。◦   多态的实现原理:虚函数表(vtable)的内存布局,以及多重继承下的虚表结构。3.  系统与网络编程◦   Linux进程与线程:如何查看进程的线程数量及CPU占用率(top -H、ps -T);线程同步中自旋锁与互斥锁的适用场景区别。◦   TCP粘包问题的解决方案(如定长报文、分隔符、长度字段),以及HTTP/1.1的长连接与管线化机制。4.  汇川业务相关◦   工业自动化场景:实时控制系统对线程优先级的处理;CAN总线协议在工业设备通信中的常见数据帧格式。◦   出差接受度:能否接受高频出差(如设备调试需驻厂1-3个月)?若客户现场出现软件崩溃,如何快速定位并修复?5.  设计模式与架构◦   在工业控制软件中,如何应用观察者模式处理设备状态变更?◦   单例模式的线程安全实现(懒汉式与饿汉式),并说明其在工业控制中的适用场景。🙌 面试感想:•   难度中等:问题覆盖C++底层机制(内存管理、多态)、系统编程(Linux、网络),且紧密结合工业自动化场景(如实时性、协议处理)。面试官会从项目描述中挖掘深度问题,需确保对项目中的每个技术选型和数据细节都熟悉。•   强调业务适配性:需熟悉工业自动化常见需求(如设备通信、稳定性保障),并了解汇川核心产品(伺服驱动器、PLC)及行业解决方案(新能源电池产线、电梯控制)。•   出差接受度是关键筛选点:汇川业务需紧密对接客户现场(如设备部署、运维),面试官会明确询问出差意愿与持续时间。
    查看10道真题和解析
    点赞 评论 收藏
    分享
    评论
    2
    4
    分享

    创作者周榜

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