校招 未知部门 / 后端-C++ / 一面

[面试日期] 2026-04-09 [面试时长] 未知
[学校背景] 浙江大学 | 985 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>蔚来 C++ 一面 面经</h2> <h1>1. 什么是 Agent 和 MCP?它们在 AI 系统中如何协同工作?</h1> <p><strong>答案:</strong></p> <p><strong>MCP(Multi-Component Planner)</strong>:将复杂任务拆解为多个子任务,负责调度和协调任务顺序,优化资源使用。</p> <p><strong>Agent</strong>:执行具体子任务的实体模块,通常独立完成计算或操作。</p> <p><strong>协同工作流程</strong>:</p> <p></p> <p>用户输入 → 系统理解意图 → MCP 拆解任务 → 分配给 Agent → Agent 执行 → MCP 汇总结果 → 输出给用户。</p> <p><strong>特点</strong>:</p> <p></p> <p>MCP 负责宏观规划,Agent 负责微观执行,可实现多任务并发处理和自动化。</p> <h1>2. 请设计一个 Prompt,让 LLM 生成一个支持多线程并发、异步 I/O 的 C++11 服务器框架,并说明设计思路</h1> <p><strong>答案示例:</strong></p> <pre>生成一个基于 C++11 的高性能 TCP 服务器模板,要求: 1. 使用线程池管理客户端连接 2. 支持异步 I/O 3. 高效内存管理,避免多余拷贝 4. 结构可扩展,可支持插件式业务逻辑 5. 提供详细注释和接口说明 </pre> <p><strong>设计思路:</strong></p> <p></p> <p>明确语言版本、服务器类型、并发模型、性能目标,提供接口规范和示例,保证生成的代码易读、易维护。</p> <h1>3. 在 C++11 中,swap、move 和拷贝构造的区别与使用场景</h1> <p><strong>答案:</strong></p> <ul> <li><strong>swap</strong>:交换两对象的资源或内容,适用于快速交换大对象或容器。</li> <li><strong>move</strong>:转移对象资源到新对象,原对象置空,适用于返回值、临时对象优化。</li> <li><strong>拷贝构造</strong>:创建新对象并拷贝原对象内容,适用于需要保留原对象时。</li> </ul> <p><strong>总结:</strong></p> <p></p> <p>swap 是互换,move 是转移,拷贝构造是复制。选择策略可显著影响性能。</p> <h1>4. 什么是 RVO(返回值优化)?结合 C++11 的 Move 构造说明高效返回对象的方法</h1> <p><strong>答案:</strong></p> <p><strong>RVO</strong>:避免函数返回对象时产生临时拷贝,直接在调用者栈上构造返回值。</p> <p><strong>C++11</strong>:结合 Move 构造,当 RVO 不适用时,可将返回值资源迁移,减少深拷贝。</p> <p><strong>示例:</strong></p> <pre>MyClass create() { MyClass obj; return obj; // RVO 或 move 优化,直接在调用者栈构造 } </pre> <p><strong>优点:</strong></p> <p></p> <p>减少对象构造和析构次数,尤其对大对象和容器性能提升显著。</p> <h1>5. vector 插入 N 个元素后的平均时间复杂度及原因</h1> <p><strong>答案:</strong></p> <p>**均摊复杂度(Amortized Complexity)**为 <code>O(1)</code> 每次插入。</p> <p><strong>原因:</strong></p> <p></p> <p></p>
AI 推荐面试题