蔚来 C++ 一面 面经
1. 什么是 Agent 和 MCP?它们在 AI 系统中如何协同工作?
答案:
MCP(Multi-Component Planner):将复杂任务拆解为多个子任务,负责调度和协调任务顺序,优化资源使用。
Agent:执行具体子任务的实体模块,通常独立完成计算或操作。
协同工作流程:
用户输入 → 系统理解意图 → MCP 拆解任务 → 分配给 Agent → Agent 执行 → MCP 汇总结果 → 输出给用户。
特点:
MCP 负责宏观规划,Agent 负责微观执行,可实现多任务并发处理和自动化。
2. 请设计一个 Prompt,让 LLM 生成一个支持多线程并发、异步 I/O 的 C++11 服务器框架,并说明设计思路
答案示例:
生成一个基于 C++11 的高性能 TCP 服务器模板,要求: 1. 使用线程池管理客户端连接 2. 支持异步 I/O 3. 高效内存管理,避免多余拷贝 4. 结构可扩展,可支持插件式业务逻辑 5. 提供详细注释和接口说明
设计思路:
明确语言版本、服务器类型、并发模型、性能目标,提供接口规范和示例,保证生成的代码易读、易维护。
3. 在 C++11 中,swap、move 和拷贝构造的区别与使用场景
答案:
- swap:交换两对象的资源或内容,适用于快速交换大对象或容器。
- move:转移对象资源到新对象,原对象置空,适用于返回值、临时对象优化。
- 拷贝构造:创建新对象并拷贝原对象内容,适用于需要保留原对象时。
总结:
swap 是互换,move 是转移,拷贝构造是复制。选择策略可显著影响性能。
4. 什么是 RVO(返回值优化)?结合 C++11 的 Move 构造说明高效返回对象的方法
答案:
RVO:避免函数返回对象时产生临时拷贝,直接在调用者栈上构造返回值。
C++11:结合 Move 构造,当 RVO 不适用时,可将返回值资源迁移,减少深拷贝。
示例:
MyClass create() {
MyClass obj;
return obj; // RVO 或 move 优化,直接在调用者栈构造
}
优点:
减少对象构造和析构次数,尤其对大对象和容器性能提升显著。
5. vector 插入 N 个元素后的平均时间复杂度及原因
答案:
**均摊复杂度(Amortized Complexity)**为 O(1) 每次插入。
原因:
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
C++八股文全集 文章被收录于专栏
本专栏系统梳理C++技术面试核心考点,涵盖语言基础、面向对象、内存管理、STL容器、模板编程及经典算法。从引用指针、虚函数表、智能指针等底层原理,到继承多态、运算符重载等OOP特性从const、static、inline等关键字辨析,到动态规划、KMP算法、并查集等手写实现。每个知识点以面试答题形式呈现,注重原理阐述而非冗长代码,帮助你快速构建完整知识体系,从容应对面试官提问,顺利拿下offer。
