八股文 / 华为 AI

华为八股文高频题 - AI 方向

持续更新中。来源:2026 暑期实习 + 秋招真实面经。


深度学习基础

Q1:CNN 与全连接相比有什么改进?

来源:26暑期实习-AI-技术面

核心改进

  1. 局部连接(Local Connectivity):全连接层每个神经元与前一层所有神经元相连,参数量 $O(n^2)$。CNN 的卷积核只看局部区域(如 $3 \times 3$),参数量大幅下降。
  2. 权值共享(Weight Sharing):同一个卷积核在整张图上滑动,所有位置共享同一组参数。一个 $3 \times 3$ 的核只有 9 个参数,不随输入大小增长。
  3. 平移不变性(Translation Invariance):权值共享使得无论目标出现在图片的哪个位置,CNN 都能用相同的特征检测器识别,天然适合图像任务。
  4. 层次化特征提取:通过多层卷积 + 池化,低层提取边缘/纹理,高层提取语义特征,形成从局部到全局的特征金字塔。

一句话总结:CNN 用局部连接和权值共享替代全连接,在保留空间结构信息的同时将参数量降低了几个数量级。


Q2:激活函数有哪些类型?各自的作用是什么?

来源:26暑期实习-AI-技术面

激活函数 公式 优点 缺点
Sigmoid $\sigma(x) = \frac{1}{1+e^{-x}}$ 输出 (0,1) 可做概率 梯度消失;输出非零中心
Tanh $\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$ 输出 (-1,1) 零中心 仍有梯度消失
ReLU $\max(0, x)$ 计算快;缓解梯度消失 负区间梯度为 0(Dead ReLU)
Leaky ReLU $\max(\alpha x, x)$,$\alpha$ 通常 0.01 解决 Dead ReLU 多一个超参数
GELU $x \cdot \Phi(x)$ Transformer 标配;平滑 计算稍慢
Softmax $\frac{e^{x_i}}{\sum e^{x_j}}$ 多分类输出概率分布 只用于输出层

激活函数的作用:引入非线性。没有激活函数,多层网络等价于一个线性变换,无法拟合复杂函数。

面试加分点:提到 GELU 是 Transformer(BERT/GPT)的默认选择,以及 Swish($x \cdot \sigma(x)$)在 EfficientNet 中的应用。


Q3:什么是过拟合和欠拟合?防止过拟合的方法有哪些?

来源:26暑期实习-AI-技术面

过拟合(Overfitting):模型在训练集上表现好、在测试集上表现差。本质是模型复杂度过高,记住了训练数据的噪声。

欠拟合(Underfitting):模型在训练集和测试集上都表现差。本质是模型复杂度不够,无法捕捉数据的真实模式。

防止过拟合的方法

方法 原理
增大数据量 / 数据增强 更多数据 → 噪声被平均掉
L1 / L2 正则化 限制权重大小,降低模型复杂度
Dropout 训练时随机丢弃神经元,防止共适应
Early Stopping 验证集指标不再提升时停止训练
Batch Normalization 稳定训练过程,有轻微正则效果
减小模型容量 减少层数/参数量
交叉验证 更可靠地评估泛化能力

Q4:L1 正则和 L2 正则的区别?

来源:26暑期实习-AI-技术面

对比维度 L1 正则(Lasso) L2 正则(Ridge)
惩罚项 $\lambda \sum \lvert w_i \rvert$ $\lambda \sum w_i^2$
权重效果 倾向于产生稀疏权重(很多 $w_i = 0$) 倾向于产生小而均匀的权重
几何直觉 约束区域是菱形,顶点在坐标轴上,解容易落在轴上(稀疏) 约束区域是圆形,解均匀缩小
应用场景 特征选择(自动丢弃不重要特征) 防止过拟合,保留所有特征
求解 不可导($w=0$ 处),需次梯度 处处可导,有解析解

一句话总结:L1 做特征选择(产生稀疏解),L2 做权重衰减(权重整体缩小)。实际中常用 Elastic Net 结合两者。


机器学习基础

待补充 — 后续面经录入后更新

Q5:非结构化数据的数据库如何提高检索效率?

来源:26暑期实习-AI-技术面

非结构化数据(文本、图片、音频等)无法用传统 SQL 索引直接检索,核心思路是将非结构化数据转化为可索引的结构化表示

主流技术方案

技术 原理 适用场景
向量数据库 + Embedding 用模型(BERT/CLIP等)将数据编码为向量,通过 ANN(近似最近邻)检索 语义搜索、图片检索、RAG
倒排索引 对文本分词建立 token → 文档映射(Elasticsearch) 关键词搜索、全文检索
向量索引算法 HNSW、IVF-PQ、ScaNN 等,在精度和速度间权衡 大规模向量检索
混合检索 关键词检索(BM25)+ 向量检索,融合排序 RAG 系统中最常用
元数据索引 对非结构化数据的结构化属性(时间、标签、类型)建 B+ 树索引 过滤 + 检索结合

面试加分点:提到 FAISS、Milvus、Pinecone 等向量数据库的实际应用,以及 RAG(检索增强生成)中先检索再生成的范式。


Q6:讲一下对神经网络和大模型的了解

来源:26暑期实习-AI-技术面

这是一道开放题,建议按”基础 → 架构 → 大模型”分层回答:

神经网络基础

  • 由输入层、隐藏层、输出层组成,每层通过线性变换 + 非线性激活拟合复杂函数
  • 通过反向传播(BP)计算梯度,用梯度下降优化损失函数
  • 经典架构:CNN(图像)、RNN/LSTM(序列)、Transformer(通用)

Transformer 架构

  • Self-Attention 机制:$\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$
  • 多头注意力:并行多组 QKV,捕捉不同子空间的关系
  • 位置编码解决序列顺序问题
  • 完全并行化,训练效率远超 RNN

大模型(LLM)

  • 基于 Transformer Decoder 的自回归语言模型(GPT 系列)
  • 预训练(大规模语料无监督学习)+ 微调(SFT/RLHF)两阶段训练
  • 关键技术:LoRA(高效微调)、量化(INT8/INT4 推理加速)、RAG(检索增强生成)、Prompt Engineering
  • 涌现能力(Emergent Abilities):模型足够大后出现的推理、思维链等能力

面试建议:结合自己项目经历谈,比如”我在项目中用了 RAG 架构做知识问答”比泛泛而谈更有说服力。


Transformer & 大模型

Q7:Transformer 的基本架构是什么?

来源:26暑期实习-AI Infra-技术面

整体结构:Encoder-Decoder 架构(原始论文),现代 LLM 多用 Decoder-Only(GPT)或 Encoder-Only(BERT)。

Encoder 组成(N 层堆叠,原文 N=6):

输入 Embedding + 位置编码
    → Multi-Head Self-Attention
    → Add & LayerNorm(残差连接)
    → Feed-Forward Network(两层全连接,中间 ReLU/GELU)
    → Add & LayerNorm

Decoder 组成(N 层堆叠):

输出 Embedding + 位置编码
    → Masked Multi-Head Self-Attention(防止看到未来 token)
    → Add & LayerNorm
    → Cross-Attention(Q 来自 Decoder,K/V 来自 Encoder)
    → Add & LayerNorm
    → Feed-Forward Network
    → Add & LayerNorm

核心组件详解

组件 作用
Self-Attention $\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$,捕捉序列内任意两个位置的依赖
Multi-Head 将 QKV 分成 $h$ 组并行计算,拼接后线性变换,捕捉不同子空间的关系
位置编码 正弦/余弦函数注入位置信息(Transformer 本身没有序列顺序概念)
LayerNorm 对每个样本的隐藏维度归一化,稳定训练
残差连接 缓解深层网络梯度消失
FFN 两层全连接(升维 → 激活 → 降维),提供非线性变换能力

面试加分点

  • 为什么除以 $\sqrt{d_k}$?防止点积过大导致 softmax 梯度消失
  • Self-Attention 复杂度 $O(n^2 d)$,这是长序列的瓶颈,催生了 FlashAttention、稀疏注意力等优化
  • BERT 用 Encoder(双向理解),GPT 用 Decoder(自回归生成)

Q8:对 AI 最新发展有什么认识?用没用过 AI Coding?

来源:26暑期实习-AI Infra-主管面

这是开放题,建议抓 2~3 个热点深入聊,而不是面面俱到:

AI 最新发展(2025~2026 热点)

方向 关键进展
推理模型 OpenAI o1/o3、DeepSeek-R1,通过思维链(CoT)在数学/代码任务上大幅提升
多模态 GPT-4o、Gemini 等原生多模态模型,文本/图像/音频/视频统一处理
Agent 基于 LLM 的自主智能体,能调用工具、规划任务、自我反思
端侧部署 量化(INT4/INT8)、蒸馏、剪枝让大模型跑在手机/边缘设备上
长上下文 128K~1M token 上下文窗口,RAG 与长上下文的融合使用

AI Coding 工具认识

  • GitHub Copilot / Cursor / Claude Code:代码补全、重构、Bug 修复
  • 实际体验:提升重复性代码效率明显,但核心架构设计和复杂逻辑仍需人判断
  • 华为视角:AI Coding 是华为 AI Infra 的重要方向,可以关联到岗位本身

模型训练 & 架构

Q9:请解释一下卷积和池化操作

来源:华为AI必背60题(中频)

卷积操作(Convolution)

卷积的本质是用一个小的权重矩阵(卷积核/滤波器)在输入特征图上滑动,每个位置做逐元素相乘再求和,输出一个标量值。

\[\text{output}(i,j) = \sum_{m}\sum_{n} \text{input}(i+m, j+n) \cdot \text{kernel}(m,n) + \text{bias}\]

关键参数

参数 含义 常见值
kernel_size 卷积核大小 $3 \times 3$(最常用)
stride 滑动步长 1 或 2
padding 边缘填充 same(保持尺寸)/ valid(不填充)
dilation 空洞率 1(标准)或 2+(空洞卷积)

输出尺寸公式:$H_{out} = \lfloor \frac{H_{in} + 2P - K}{S} \rfloor + 1$

池化操作(Pooling)

池化是对局部区域做降采样,减小特征图尺寸,降低计算量,同时增强平移不变性。

类型 操作 特点
最大池化(Max Pooling) 取局部区域最大值 保留最显著特征,最常用
平均池化(Average Pooling) 取局部区域平均值 保留整体信息
全局平均池化(GAP) 对整个特征图取平均 替代全连接层,ResNet/EfficientNet 常用

卷积 vs 池化的区别:卷积有可学习参数(权重),池化没有参数。卷积做特征提取,池化做降维。


Q10:讲讲你对大模型训练流程的了解,比如预训练数据集和微调数据集如何设计?

来源:华为AI必背60题(高频,近两年常问)

大模型训练的三个阶段

阶段一:预训练(Pre-training)

维度 说明
目标 学习语言的通用表示能力(世界知识 + 语言能力)
数据规模 万亿级 Token(GPT-4 预估 13T,LLaMA-3 用 15T)
数据来源 网页(Common Crawl)、书籍、代码(GitHub)、百科、论文
训练方式 自回归(预测下一个 Token)或掩码语言模型(MLM)
数据清洗 去重(MinHash)、质量过滤(困惑度/分类器)、去毒(安全过滤)

预训练数据设计要点

  • 多样性:混合多语言、多领域数据,防止偏科
  • 配比调参:代码数据占比高 → 推理能力强;对话数据占比高 → 对话能力好
  • 课程学习:先喂简单/高质量数据,后期加入复杂数据(类似人类学习顺序)

阶段二:监督微调(SFT - Supervised Fine-Tuning)

维度 说明
目标 让模型学会按指令格式回答问题
数据规模 数万~数十万条(远小于预训练)
数据格式 (instruction, input, output) 三元组
质量要求 高质量人工标注 > 大规模低质量数据

微调数据设计要点

  • 指令多样性:覆盖问答、摘要、翻译、代码、数学等多种任务类型
  • 长度分布均衡:短回答和长回答都要有,避免模型只会输出固定长度
  • Self-Instruct:用强模型生成指令数据,再人工审核(Alpaca 方法)

阶段三:对齐(Alignment)

方法 原理
RLHF 训练奖励模型(RM)→ 用 PPO 算法优化策略
DPO 直接用偏好对数据优化,不需要单独训练 RM,更稳定
RLAIF 用 AI 替代人工做偏好标注,降低成本

面试加分点:提到数据飞轮(模型上线 → 收集用户反馈 → 标注 → 迭代微调)和 Scaling Law(数据量、模型参数、计算量的幂律关系)。


Q11:你了解 MoE(混合专家)模型吗?比如包含几个专家?这些专家的能力有何异同?

来源:华为AI必背60题(中频,近两年常问)

MoE 核心思想:把一个大的 FFN 层拆分为多个”专家”(Expert),每个 Token 只激活其中少数几个专家,从而在参数量增大的同时保持计算量不变

架构组成

输入 Token
    → Router(门控网络)→ 选择 Top-K 个专家
    → 被选中的 Expert_1, Expert_2, ... 并行计算
    → 加权求和输出

关键设计参数

参数 典型值 说明
专家总数 8~128 个 DeepSeek-V2 用 160 个,Mixtral 用 8 个
每次激活数(Top-K) 2 个 Mixtral 8x7B 每个 Token 只激活 2/8 个专家
Router 类型 线性层 + Softmax 输出每个专家的概率分布

专家的能力异同

  • 初始化时相同:所有专家结构一样(都是 FFN),参数随机初始化
  • 训练后分化:通过梯度更新,不同专家自动学会处理不同类型的 Token
  • 经验性观察:部分专家擅长处理代码 Token,部分擅长自然语言,部分擅长数学符号(但边界模糊,不是严格划分)

MoE 的优缺点

优点 缺点
参数量大但推理计算量小(稀疏激活) 显存占用大(所有专家参数都需加载)
训练效率高(更好的 Scaling Law) 负载均衡问题(部分专家被过度使用)
易于扩展(增加专家数) 通信开销大(分布式训练时专家分布在不同 GPU)

代表模型:Mixtral 8x7B(8 个专家取 2)、DeepSeek-V2/V3(细粒度专家 + 共享专家)、GPT-4(传闻 MoE 架构)。

面试加分点:提到负载均衡损失(Load Balancing Loss),用辅助损失函数防止 Router 总把 Token 发给同一个专家。


Q12:请介绍 RAG(检索增强生成)项目的相关内容

来源:华为AI必背60题(高频,近两年常问)

RAG 核心思想:LLM 的知识固化在参数中,存在幻觉和知识过时问题。RAG 在生成前先从外部知识库检索相关文档,将检索结果作为上下文注入 Prompt,让模型”带着参考资料回答问题”。

RAG 标准流程

用户提问
    → Query 编码(Embedding)
    → 向量检索(从知识库中找最相关的 Top-K 文档)
    → 拼接 Prompt:[检索到的文档] + [用户问题]
    → LLM 生成回答

离线索引阶段(构建知识库):

步骤 说明
文档切分(Chunking) 按段落/句子/固定长度切分文档,典型 chunk_size = 512 tokens
向量编码(Embedding) 用 Embedding 模型(BGE/E5/text-embedding-3)将每个 chunk 编码为向量
向量存储(Vector Store) 存入向量数据库(FAISS/Milvus/Pinecone),建立 ANN 索引

在线检索阶段

步骤 说明
Query Embedding 将用户问题编码为向量
相似度检索 通过 ANN(HNSW/IVF-PQ)找到 Top-K 相似 chunk
重排序(Re-ranking) 可选,用 Cross-Encoder 对检索结果精排
Prompt 构建 将检索到的文档和问题拼接成 Prompt
LLM 生成 模型基于上下文生成答案

RAG 的优化方向

方向 具体技术
检索优化 混合检索(BM25 + 向量)、查询改写(HyDE)、多路召回
Chunking 优化 语义切分、滑动窗口重叠、父子 chunk 策略
上下文优化 压缩上下文(LongLLMLingua)、Lost in the Middle 问题处理
生成优化 引用溯源(标注答案来自哪个文档)、自我反思(Self-RAG)

RAG vs 微调

维度 RAG 微调
知识更新 实时更新(改文档即可) 需要重新训练
成本 低(只需维护知识库) 高(GPU + 标注数据)
幻觉控制 好(有据可查) 一般(仍可能幻觉)
适用场景 知识密集型 QA、客服 风格适配、特定任务

面试加分点:结合项目经验谈,比如”我在项目中用 LangChain 搭建了 RAG pipeline,遇到了 chunk 太长导致噪声多、太短导致上下文断裂的问题,最终用 512 token + 128 token 重叠的策略取得了最好效果”。


Q13:向量数据库和知识图谱有什么区别?

来源:华为AI必背60题(中频,需深度思考)

对比维度 向量数据库 知识图谱
数据表示 高维向量(如 768/1536 维浮点数组) 三元组 (实体, 关系, 实体),如 (北京, 首都_of, 中国)
存储内容 非结构化数据的语义表示 结构化的实体关系网络
查询方式 近似最近邻(ANN):给一个向量,找最相似的 K 个 图查询(SPARQL/Cypher):沿关系路径推理
核心能力 语义相似度匹配(”苹果手机” ≈ “iPhone”) 关系推理(”张三的老师的学校是?”沿路径查询)
构建成本 低(用 Embedding 模型自动编码) 高(需要实体抽取、关系抽取、人工校验)
典型系统 FAISS、Milvus、Pinecone、Weaviate Neo4j、JanusGraph、ArangoDB
应用场景 语义搜索、RAG 检索、图片检索、推荐 风控关联分析、医疗诊断推理、知识问答

本质区别

  • 向量数据库回答的是”什么和这个最像“(相似性)
  • 知识图谱回答的是”什么和这个有关系,关系是什么”(因果/逻辑)

互补使用(GraphRAG)

  • 向量检索擅长模糊语义匹配,但缺乏推理能力
  • 知识图谱擅长多跳推理,但构建和维护成本高
  • GraphRAG = 向量检索 + 图结构,先用向量召回候选实体,再沿知识图谱做关系推理,两者互补

面试加分点:提到 Microsoft 的 GraphRAG 框架,以及”知识图谱解决的是 RAG 中多跳问题检索效果差的痛点”。


面经记录

面经 1:26暑期实习 AI方向(双机位)

技术面(55min)

  • 自我介绍
  • 手撕代码:Hot100 岛屿数量(DFS/BFS),ACM 模式,本地 IDE 共享屏幕
  • 八股文:CNN vs 全连接、激活函数、过拟合/欠拟合、L1/L2 正则
  • 项目追问
  • 反问:部门具体工作内容

主管面(25min)

  • 自我介绍
  • 项目概括性问题:有没有独立完成项目、从无到有的流程、有没有用 AI 辅助工具
  • 对华为文化有没有了解
  • 无反问环节

面经 2:26暑期实习 AI岗(3.22投递 → 4.17入池)

时间线:3.22 投递 → 4.8 机试+测评 → 4.16 技术面+主管面 → 4.17 入池

技术面(60min)

  • 自我介绍
  • 学校课程相关提问
  • 八股:非结构化数据库检索优化技术
  • 实习经历追问
  • 八股:对神经网络/AI的了解、大模型相关知识
  • 项目追问 + 围绕项目问八股
  • 机试复盘(两道编程题)
  • 手撕代码:LC 130. 被围绕的区域
  • 无反问

主管面(30min)

  • 自我介绍
  • 能实习多久?为什么选 AI 岗?就业地偏向?
  • 实习/学校项目做了什么?
  • 有没有快速学习新技术的经历?怎么学的?
  • 为什么选华为?其他意向公司?
  • 反问:组里业务 & 实习生培养方案

面经 3:26暑期实习 AI Infra(3.19投递 → 4.18入池)

背景:C9 AI本硕,无对口实习,非对口论文+项目各一

时间线:3.19 投递 → 3.20 过初筛 → 4.8 笔试 → 4.9 综测过 → 4.17 技术面+主管面 → 4.18 入池

技术面

  • 手撕代码:LC 394. 字符串解码
  • 项目追问
  • 八股:CNN 基本原理、Transformer 基本架构
  • HR 反馈面评不错

主管面

  • 项目追问:遇到什么问题,如何解决
  • 对华为产品和文化的认识
  • 对 AI 最新发展的认识,用没用过 AI Coding
  • 本科成绩和排名相关
  • 反问:对应届生的建议、看中应聘者什么

个人总结:华为更看重解决问题的能力而非对口知识的多寡,熟悉项目比什么都强。