理想汽车 后端开发-C++ 二面

1. 项目中遇到的问题及解决方案

2. 多线程结构从有锁到无锁的改进点

  • 消除锁竞争、线程阻塞与上下文切换
  • 使用原子操作 atomic 替代锁
  • 使用 CAS 实现无锁更新
  • 无锁队列/环形缓冲区
  • 线程数据隔离,减少共享资源
  • 避免死锁、优先级反转

3. unique_lock 和 lock_guard 的共同点和区别

共同点:

  • 都是 RAII 风格,自动加锁、自动解锁
  • 防止异常导致死锁

区别:

  • lock_guard:轻量、无额外开销、不能手动解锁
  • unique_lock:灵活、支持手动 lock/unlock、可转移所有权、可配合条件变量、性能略低

4. 项目场景相关问题

5. 实习相关问题

6. 是否熟悉 CUDA 编程

了解核函数、线程块、共享内存,可用于并行计算加速,适用于模型推理、矩阵运算、图像处理等场景。

7. 短期内职业规划

深耕 C++ 高性能/高并发开发方向,专注自动驾驶领域;夯实底层原理、性能优化、高并发架构;快速成长为能独立负责核心模块的开发工程师。

8. 条件变量为什么必须配合 unique_lock?

  • 条件变量需要在等待时自动解锁、唤醒时重新加锁
  • lock_guard 不支持手动解锁,无法满足
  • 只有 unique_lock 具备 lock/unlock 能力,因此必须配合使用

9. C++ 内存序 memory_order 的作用?常用三种?

  • 解决多线程下指令重排、可见性问题
  • memory_order_relaxed:无同步,仅保证原子性
  • memory_order_acquire / release:读写屏障,解决可见性
  • memory_order_seq_cst:全局一致,默认模式,最安全

10. shared_ptr 引用计数是线程安全的吗?对象呢?

  • 引用计数是线程安全的,底层用原子操作
  • 对象本身不是线程安全的,读写对象仍需要加锁

11. epoll 水平触发 LT 与 边缘触发 ET 区别?

  • LT:只要有数据就持续触发,易用
  • ET:只有状态变化时触发,效率更高,必须非阻塞

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++ 常考面试题总结 文章被收录于专栏

本专栏系统梳理C++方向, 大中厂高频高频面试考点 , 内容皆来自真实面试经历,从基础语法、内存管理、STL与设计模式,到操作系统与项目实战,结合真实面试题深度解析,帮助开发者高效查漏补缺,提升技术理解与面试通过率,打造扎实的C++工程能力.

全部评论
二面加油,沾点喜气!
点赞 回复 分享
发布于 02-28 20:09 四川

相关推荐

现在AI技能是求职的默认必备技能,不管是传统的前后端项目还是现在AI潮流新涌出的AI应用开发工程师、AI Agent工程师以及最顶的AI 算法工程师,笔者为前端岗位,秋招投递了15+互联网大厂,收获3家大厂Offer(快手、京东、拼多多),下面聊聊个人对面试中的AI的一些idea:总结(通过JD总结要学什么)前端基础JS&算法、React&Vue框架、Vite、Monorepo、Pnpm工程化、性能优化、主流(微前端、SSR、大前端)仍为基础,全栈+AI是亮点,前端&AI学习:框架前端开发者不再只是 UI 渲染层,而是要理解大模型、Agent、多模态交互,并能在业务中落地 AI 能力。整体架构可以分为四层:AI基础知识大模型基础核心概念:LLM(大语言模型)、Token、上下文窗口、Embedding、微调(Fine-tuning)、提示工程(Prompt Engineering)。关键能力:文本生成、代码生成、多模态理解(文生图 / 文生视频)、知识问答。前端视角:如何通过 API 调用模型、如何处理流式输出(SSE/WebSocket)、如何优化 Token 消耗。Agent 与 RAGAgent:能自主规划、调用工具、完成复杂任务的 AI 实体(如 Coze 扣子、TRAE)。RAG(检索增强生成):结合私有知识库,让大模型回答更精准、可控。前端视角:如何设计 Agent 交互界面、如何展示 RAG 检索过程、如何做多轮对话管理。多模态 AI核心:文本、图像、音频、视频的融合生成与理解(如剪映的 AI 生成、实时交互)。前端视角:Canvas/WebGL 渲染、WebRTC 实时流、WebGPU 加速、多模态内容预览与编辑。AI工具链应用场景AI IDE 开发(TRAE、Cursor 方向)核心:打造端到端生成真实软件的智能协作平台。前端职责:AI 功能交互实现(代码生成、代码理解、知识问答)、IDE 内核框架开发、插件生态与工具链。技术栈:React/TypeScript、WebAssembly、Monaco Editor、WebSocket/SSE。Agent 平台开发(Coze、HiAgent 方向)核心:新一代 AI Agent 平台,支持协同办公与应用开发。前端职责:LLM 驱动的 AI Agent 框架实现、多 Agent 协同界面、可视化编排工具。技术栈:React/Vue、状态管理、可视化编辑器、实时通信。多模态创作与交互(剪映、抖音方向)核心:生成模型优化、多模态内容合成、实时交互体验提升。前端职责:AI 生成内容预览、实时滤镜 / 特效、多模态编辑界面。技术栈:WebGL/WebGPU、WebRTC、Canvas、性能优化(FPS、内存)。AI + 全栈开发(小红书、美团方向)核心:在 AI Coding 工具协助下完成前后端开发、测试、部署。前端职责:全栈开发、AI 辅助需求分析与方案设计、提升开发效率。技术栈:Node.js/Python、前后端协作、CI/CD、AI 工具深度使用。可视化与 AI 交互(同顺方向)核心:大模型应用的可视化交互、RAG/Agent 工作流演示。前端职责:可视化 Prompt 编排、多轮对话可视化、模型输出调试界面。技术栈:ECharts/D3.js、流程图库、实时数据渲染、响应式设计。工程化与能力要求前端基础扎实的 HTML/CSS/JS/TS,熟悉 React/Vue 等框架。工程化工具:Webpack/Vite、NPM/Yarn、CI/CD、自动化测试。跨端能力:WebAssembly、Electron、Taro 等。AI 工程化模型接入:OpenAI API、火山方舟 SDK、流式输出处理。性能优化:Token 压缩、缓存策略、推理延迟优化、首屏加载。安全合规:数据脱敏、隐私计算、内容审核。软能力拥抱新技术,紧跟 AI 前沿,不设边界。跨团队协作:与算法、后端、产品紧密配合。创新思维:将 AI 技术与前端体验创造性结合。
AI时代下,你的岗位要求...
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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