理想汽车 后端开发-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++工程能力.

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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