理想汽车 后端开发-C++ 一面
1.对 AI、LLM、工作流、MCP、Agent、Prompt 的理解
- AI:让机器模拟人类的理解、推理、生成、决策等智能能力。
- LLM 大语言模型:基于 Transformer 架构,通过海量文本预训练,具备语言理解、文本生成、逻辑推理能力。
- 工作流:将大模型调用流程化,包括输入解析、检索、Prompt 组装、模型调用、结果后处理。
- Agent:具备自主规划、工具调用、记忆和自我修正的智能体,可独立完成复杂任务。
- MCP:多智能体协同框架,多个 Agent 分工协作完成任务。
- Prompt:给大模型的指令,高质量 Prompt 包含角色、任务、约束、格式、示例。
2. 大模型的原理
大模型基于 Transformer 架构,核心是自注意力机制。
- 预训练:在海量文本上做下一个词预测,学习语言规律、知识和逻辑。
- 推理:采用自回归方式逐词生成,通过注意力机制捕捉上下文依赖。
- 本质:通过大规模参数学习语言分布,实现生成与理解。
3. 深挖项目
4. vector 交换资源:swap 和 move 的区别
- swap:双向交换两个 vector 的内部指针、size、capacity,O(1)。
- move:单向转移右值对象资源,原对象变为有效空状态,O(1)。
- 共同点:都不拷贝数据,效率极高。
vector<int> a = {1,2}, b = {3};
a.swap(b);
vector<int> c = move(a);
5. RVO 返回值优化策略
RVO 是 Return Value Optimization。
- 编译器直接在调用方栈空间构造返回对象,不拷贝、不产生临时对象。
- 即使删除拷贝构造,也能正常编译。
- 属于 C++ 最关键的性能优化之一。
struct A { A(){} A(const A&)=delete; };
A func() { return A(); }
6. C++11 特性 + unordered_map 哈希冲突
- C++11 常用特性:右值引用、移动语义、智能指针、thread、atomic、lambda、auto、nullptr、范围for、unordered_map。
- unordered_map 底层用拉链法解决哈希冲突:每个哈希桶对应一条链表;冲突时节点挂载到链表尾部;链表长度 ≥8 转为红黑树,≤6 退回链表。
7. unordered_map 负载因子、扩容、为什么用质数
- 默认负载因子:1
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
C++ 常考面试题总结 文章被收录于专栏
本专栏系统梳理C++方向, 大中厂高频高频面试考点 , 内容皆来自真实面试经历,从基础语法、内存管理、STL与设计模式,到操作系统与项目实战,结合真实面试题深度解析,帮助开发者高效查漏补缺,提升技术理解与面试通过率,打造扎实的C++工程能力.
查看11道真题和解析