0 问题集合
0 问题集合
Section titled “0 问题集合”一、编程与工程基础
Section titled “一、编程与工程基础”Python 基础语法
Section titled “Python 基础语法”- python里的函数是不是对象
- python的装饰器是什么, 有哪些常见的装饰器?
- 全局锁是什么, python 中多线程有什么问题?
- 怎么写并行, io 怎么写?
- python 里数据结构有哪些?
- python 里面的进程和线程有什么区别?dataloader 中的 num_workers 你是否了解?
Python 业务与并发
Section titled “Python 业务与并发”- python 多线程 + LLM API 批处理 百万级别的 prerequest 数据,优化代码并发吞吐量仍然受限制,任务速度不稳定,如何优化?
- 调用大模型,使用 sdk 是什么,openai 又是什么
- 项目中多线程和批次处理怎么写的
- 生产者 / 消费者是怎么写和设计的?消息队列是怎么设计的?
C++ 基础
Section titled “C++ 基础”- cpp 的编译原理和过程
- 软链接是什么
- 模型推理部署的时候用的什么框架,对这方面了解多少,vllm,sglang
- SSE 和 非流式处理是什么?
- vLLM 部署时如何实现 2k tokens/s 级别的吞吐?prefill / decode、continuous batching、并行策略、显存利用率和请求形态通常怎么分析?
- 并发与压力测试如何设置?压测流量模型、输入长度分布、首 token 时延 / 端到端时延 / 吞吐等指标应该怎么定义,如何定位系统瓶颈?
二、机器学习 / 深度学习基础
Section titled “二、机器学习 / 深度学习基础”- 矩阵的秩怎么算,特征值怎么算
- 泊松分布和高斯分布的公式?特点是什么?
损失函数与优化
Section titled “损失函数与优化”- BCE / CE / MSE 公式
- 什么时候用 MSE,什么时候用 CE / Cross Entropy,它们的区别是什么,为什么大模型训练通常用交叉熵?
- Softmax + Cross Entropy 梯度
- 怎么理解 Cross Entropy,所谓的熵又是什么
- 常见 loss function,你项目里用过哪些损失函数,为什么这么选?
- 什么是 KL 散度,交叉熵和 KL 散度什么关系,为什么需要 KL 散度而不是 MSE?
- 如果样本标签分布极不均衡,通常有哪些数据、loss 和采样层面的处理方法?
- 有哪些优化算法,分别优势是什么?你项目里用过哪些优化器,训练轮次通常怎么设?
- Softmax 公式,作用是什么,为什么能有这个作用
- 项目里的 loss 一般怎么写伪代码?设计一个 loss 时应该如何分析它可能带来的优化问题,并给出改进思路?
- 回归预测问题什么时候不能直接用 Cross Entropy?什么时候可以把回归问题转成分类问题来做?
- 视频预测任务常见的 loss 有哪些?像素级重建、感知、对抗、时序一致性等 loss 分别适用于什么场景?
- 分类任务常用的评测指标有哪些?Accuracy、Precision、Recall、F1、ROC-AUC / PR-AUC 分别适用于什么场景,P / R / F 的计算公式是什么?
网络基础模块
Section titled “网络基础模块”- 为什么要激活函数,什么时候会使用?常见激活函数有?种类分别是?
- SIGMOD 的缺点是什么
- ReLU 和 sigmoid 有什么区别?梯度分别是什么?
- Batch Norm 是什么,为了做什么,推理和训练的时候是什么区别?
- 欠拟合和过拟合分别是什么?通常如何判断与解决?有哪些数据、训练和模型层面的常见方法?
- 梯度消失 / 梯度爆炸为什么会出现?分别有什么办法?
- NLP 是什么机制
- Dropout 算法
- sum pooling 和 mean pooling 分别适用于什么情况?
经典机器学习算法
Section titled “经典机器学习算法”- 半监督,监督,无监督学习,强化学习的区别+对应的代表算法
- 介绍常见机器学习算法,Clustering、KNN 和 KMeans 有什么区别?KNN 的 n_neighbors 作用是什么?决策树、随机森林、GBDT 分别属于什么范式?
- RNN 和 LSTM 是什么区别?LSTM 相较 RNN 有什么优势?什么时候 LSTM 可能比 Transformer 更合适,分别有什么特性?
- 逻辑回归是什么?它和一般分类任务是什么关系,有什么假设、优缺点和适用场景?
- 什么是端到端系统?和 pipeline 式方案相比有什么优缺点,通常怎么实现?
- 特征通常如何选择?需要考虑哪些统计特性、业务约束和模型适配性?
- PCA 算法特性?
三、Transformer / LLM 核心
Section titled “三、Transformer / LLM 核心”Transformer 结构与注意力
Section titled “Transformer 结构与注意力”- 它讲了什么,有什么贡献,相对于 CNN、RNN 的优势在哪里,为什么 Transformer 要引入注意力机制?
- 详细解释 Transformer 的整体架构,编码器和解码器分别由哪些模块组成?
- MHA 的运行机制是什么?常见注意力机制有哪些,为什么要用多头注意力?
- Transformer 的整体时间复杂度是什么?单层 Transformer 内部各模块的时间复杂度分别是多少,Attention 的占比如何?
- 三角位置编码(sin / cos)的优势和用处是什么?为什么通常使用 10000 作为基底,对于 123 这种硬编码的好处是?为什么需要位置嵌入,常见做法为什么更偏向加法而不是直接拼接?
- ROPE是相对位置编码还是绝对位置编码,原理是什么
- MHA 的后续发展是什么呢(MQA, GQA),它们和 MHA 的区别、作用分别是什么?
- Transformer 掩码注意力机制具体如何做的,为什么 Decoder 自注意力需要 causal mask,三种注意力里哪些需要 mask,如何实现?
- 为什么用 Layer Norm 而不是 Batch Norm,Transformer / LLaMA 中归一化设计有什么区别,RMSNorm 又是什么
- Self-Attention 和 Cross Attention 的区别,分别应用在哪里?Cross Attention 的 Q / K / V 分别来自哪里?
- Q、K、V 机制和注意力公式是什么?为什么要除以 ,这和数值稳定性 / 梯度有什么关系?
- 什么是kv cache,为什么需要kv cache
- 有哪些优化注意力计算的方法?Flash Attention 和 DeepSpeed 分别在优化什么,GPU 运算瓶颈在哪里?
- self Attention 如何处理长文本权重分散?
- 位置编码问题如何影响意图判别?
- QKV 为什么要使用独立的线性投影,而不是输入嵌入?
- 计算注意力得分的时候 QK 都是归一化之后的吗?为什么需要 token 位置编码?
- Transformer / LLaMA 等模型中的 FFN 设计有什么变化?ReLU、GELU、SwiGLU 有什么区别?
- Transformer 训练一次时,哪些参数会参与更新?embedding、QKV 投影、FFN、LayerNorm、输出层分别如何反传?
- Encoder 中每个 token 都能看到全部 token,这种全局感受野一定越大越好吗?什么时候更大的或更小的感受野更合适?
- encoder only、decoder only 和 encoder-decoder 有什么区别?分别适合什么任务?
- BERT 的预训练任务有哪些?输入 embedding 是如何构成的?
LLM 基础
Section titled “LLM 基础”- Temprature 的作用是什么,公式怎么算
- top_p 核采样是什么
- 常见 LLM decode 策略有哪些?Greedy Search 和 Beam Search 的区别是什么,Greedy Search 是最优的吗?
- 位置编码都有哪些?正余弦、可学习位置编码(如 BERT)、RoPE 分别是什么,它们的差异和适用场景是什么?
- 要会算参数数量,并能说明自己使用过的 Transformer / LLM 大概有多大参数规模
- 灾难性遗忘、复读机和概率坍缩分别是什么?SFT 的复读机问题通常由什么导致,为什么数据重复会诱发这个问题?
- BF16 和 FP16 的区别是什么
- 一个 14B 的模型使用 FP32,推理的时候显存占用是多少
- 主流 LLM 模型结构设计有什么共同特点?从 Transformer 到现代 LLM 在归一化、Attention、FFN 等模块上发生了哪些结构变化?
- 文本从输入大模型到输出的整体过程是什么?embedding、位置编码、attention、FFN 和 decoding 各自做了什么?
- 你了解哪些前沿 / 国内 LLM?它们各自的特点和差异是什么?
- LLM 推理能力的天花板目前大致到什么程度,瓶颈主要在哪里?
- Transformer 在时序建模上的较新工作你了解哪些?和传统时序模型相比在建模方式上有什么变化?
四、训练与适配
Section titled “四、训练与适配”预训练与 SFT
Section titled “预训练与 SFT”- LLM 怎么评估,评估哪些指标?预训练和 SFT 的评估分别看什么,无幻觉率怎么评估?
- 什么是模型的困惑度(PPL),公式是什么
- 预训练 / SFT 的数据清洗流程一般怎么设计?预训练数据处理通常包含哪些环节?
- 数据质量过滤通常用哪些规则、模型或打分器?
- 什么样的数据更利于模型学习?数据筛选、去重和课程式组织通常怎么做?
- 数据配比如何设计?如何量化评估一个数据配比方案是否合理?
- 训练 LLM 最大的困难通常是什么?
- 训练使用过哪些硬件,如何衡量和提升硬件利用率?
- DeepSpeed / ZeRO 有哪几个阶段?各自分片什么,代价是什么?
- 模型训练时间如何估计?
- DP 和 DDP 的区别是什么?实际接触过哪些分布式训练 / 并行方案?
- 训练过程中如何做模型监控?你会重点关注哪些指标?
- 训练时 loss 震荡可能是什么原因造成的?通常如何定位是数据、学习率、batch size、混合精度、分布式同步还是优化器设置导致的问题?
- 你如何看待 LLM 的未来发展趋势,当前主要的优化方向有哪些?
- 一个模型训练通常会经历哪些阶段,比如 pre-train、post-train / alignment?各阶段常用什么 loss 或训练方式?
- 大模型 SFT 和预训练的 loss、目标和数据差异是什么?一个 SFT 流程通常怎么做,SFT 数据通常如何构建,SFT 常见问题有哪些,为什么具体任务里会选择 SFT?
- r 和 是什么,一般如何设置 LoRA 的秩和缩放系数?
- LoRA会对模型推理有什么影响
- LoRA 在微调的时候是加到哪里的
- 具体的微调中是怎么实现的?LoRA 的初始化通常怎么做,训练 / 推理的计算复杂度如何变化,梯度这些是怎么算出来的?
- LoRA 微调的原理是什么?为什么低秩更新通常能够起作用?
- PPO / GRPO 公式是什么?它们属于 on-policy 还是 off-policy,为什么需要 clip?PPO 和 DPO 的区别是什么,什么时候会选择 DPO 而不是 PPO / GRPO?KL 散度前的系数(如 beta)有什么含义,通常应该怎么设置?
- GRPO / Flow GRPO 的训练数据和奖励函数如何设计,整体训练流程怎么做?
- GRPO 和 PPO 在计算优势函数过程中有哪些不同?
- GRPO 的优势函数和 reward 有什么不同?
- RLHF 和 SFT 的区别是什么?
- 什么是 reward hacking?在 GRPO 等 RL 训练中通常如何识别、缓解和评估?
- GRPO 训练出现熵崩怎么办?通常从奖励尺度、KL 约束、采样温度、优势归一化和学习率等哪些角度排查?
- Flow GRPO 中的 ODE 和 SDE 过程公式能不能推导一下?
- 精调 sft/grpo 参数有哪些?如何设置,为什么?
- 精调的指标如何设置,如何判断,多个模型选哪个最优?
- 分别学习一下 PPO、DPO、GRPO:DPO 属于 on-policy 还是 off-policy,和 PPO / GRPO 有什么相似和不同,为什么会使用 DPO,DPO 又有哪些问题?
- 如果训练 DPO 时正例和负例的 loss 都在下降,应该如何判断这是正常现象、数据问题、参考模型问题还是优化目标设置问题?通常怎么排查和修正?
- DPO 和 SFT 的区别是什么,可以先 DPO 后 SFT 吗,为什么?
- 如果把 DPO 用在第一轮对话中,你会如何构造偏好数据集?多轮对话场景下,数据分布通常应该怎样设计?
- 什么是量化,量化具体过程是什么?
- QAT和PTQ有什么区别,QAT具体过程是什么 Per-Channel,Per-Head量化是什么,为什么这么做
- 是否知道蒸馏?具体是什么?
五、模型专题
Section titled “五、模型专题”- 常见降维方法有哪些?VAE 是在解决什么问题?和 AE 有什么本质区别?
- VAE 的整体结构是什么?
- VAE 的目标函数是什么?(ELBO)
- 什么是 reparameterization trick?
- KL 散度理解,为什么
- VAE vs GAN?
ViT & CLIP
Section titled “ViT & CLIP”- CLIP 如何构造正负样本对,如何执行对比学习\
- 详细画一下 vit 的架构图
BLIP-2
Section titled “BLIP-2”- 解释 Q-former 机制,其中可学习的 query 有什么意义
- Qformer 原理,他和两层 MLP 的区别是什么?在不同场景下偏好是什么?
- 现在大多情况下已经使用两层 MLP 来做视觉投影,你认为是为什么?
QwenVL
Section titled “QwenVL”- Qwen 2.5 VL 以及 Qwen 3 VL 对比
- Qwen 2.5 VL 怎么做的动态分辨率处理的图片或者视频,对比 intervl 两者有什么不一样的
- Qwen 2.4 VL 里面的 MROPE 怎么实现的
- Qwen 2.5 VL 的图像 ViT 部分是什么结构,图文 embedding 怎么做对齐的?
- Dense、MMOE、MoE 这类结构各自是什么?Dense 和 MoE 的区别在哪里?
- 介绍一下基于 MoE 的模型架构:router、shared expert / routed expert、top-k 路由、capacity factor 分别起什么作用?
- 标准 MoE 和 MMoE 有什么区别?分别适用于什么场景?
- MoE 的专家数量通常如何选择?应该从任务相关性、模型容量、路由负载和过拟合风险等角度如何分析?
- 如果基于 MoE 的模型在训练时负载均衡不好怎么办?通常看哪些监控指标,辅助 loss、capacity factor、token dropping、路由温度等手段分别解决什么问题?
CNN 与目标检测
Section titled “CNN 与目标检测”- 介绍一下CNN,CNN 的每一层都在做什么
- 说一下YOLO模型的架构
- 了解哪些常见推荐系统算法?协同过滤、矩阵分解、双塔、DIN / DSSM、序列推荐各适用于什么场景?
- 传统 DDPM 的前向扩散和反向去噪过程是怎么实现的?
- 是否了解过多模态大模型(MLLM)?可以简单介绍几类常见多模态大模型及其核心差异吗?
六、RAG / Agent 应用
Section titled “六、RAG / Agent 应用”推理 / Prompt
Section titled “推理 / Prompt”- 了解ToT或者GoT吗,什么区别?
- 如何设计 prompt?你认为好的 prompt 范式是什么?
- 如果工具调用超时或返回空值,你如何设计Prompt让Agent反馈用户?
- 介绍一下 RAG,它的作用是什么,为什么大模型会出现幻觉,RAG 能缓解哪些问题、不能解决哪些问题?
- 对于RAG,既然向量检索已经计算了相似度,为什么还要用引入交叉编码器进行重排?
- 向量数据库检索出来的历史信息,如果语义相关但时间太久,能直接用吗?
- Rerank的Top-k数量怎么确定?
- 长文档切片的粒度你一般怎么选择?
- 如何评估Rerank的有效性?有什么指标吗?
- BM25和向量检索融合你是如何设置权重的?
- 讲一下Ragas评测?
- RAG 用什么数据库?如果召回不准怎么办
- 讲一下 embedding 过程
- 讲一下 rank 的过程
- 多路召回策略下,如何分别评估各召回通道返回文档的质量?如何判断某一路召回是在补充覆盖、制造噪声,还是和其他通道高度重叠?
- 是否有成熟的评价体系衡量召回质量?离线和在线分别看哪些指标,怎样把召回质量和最终回答质量关联起来?
- 如果召回出来的答案不是想要的,应该从 query 改写、切片策略、embedding、索引召回、融合策略、rerank 和知识库时效性等哪些环节排查?
Agent 设计
Section titled “Agent 设计”- 讲一下Agent中的短期记忆和长期记忆分别怎样存储?
- 如何定义循环终止条件防止Agent陷入逻辑死循环?(你的安全护栏是关键词匹配,还是调了专门的模型?调用的什么模型?)
- A2A 协议是什么?
- 多 agent 工作流怎么搭建
- 怎么优化 agent 的效果
- MCP 是什么
- Agent 架构中具体有什么东西呢?分别是什么作用
- 调用大模型的脚本主要需要设置什么字段呢?
- Multi Agent 越多越好吗?端到端大模型和多个小模型协同各自有什么优缺点?有哪些拓扑结构?分别什么优缺点?
- 多 Agent 系统里的 query 改写怎么做?如果要训练 query rewrite 模块,如何挑选训练 query,并在上线前后设计离线和线上评估指标?
- 工具调用(tool calling / function calling)一般怎么实现?
- MCP 协议相较于 Function Call 的优势是什么?在工具注册、上下文管理、跨客户端复用和工程解耦上分别体现在哪里?
七、代码手撕
Section titled “七、代码手撕”LeetCode 手撕
Section titled “LeetCode 手撕”- 合并多个链表
- 手写 AUC
- 二叉树最大路径和
- 给定一个正整数数组和 target,求和大于 target 的子数组数量
- 用梯度下降求根号 3
- 三数之和
- 岛屿的数量
- 二叉树的右视图
- 买卖股票的最佳时机(含冷冻期)
- 买卖股票的最佳时机
- 求根节点到叶节点数字之和(LeetCode 129)
基础 DL 手撕
Section titled “基础 DL 手撕”- Linear, Softmax, Cross Entropy
- ReLU / GELU / SiLU / SwiGLU
- Dropout / Embedding
- BatchNorm / LayerNorm / RMSNorm
- Self-Attention / Multi-Head Attention / Cross-Attention / MLP / FFN,手撕 MHA 时补充 causal mask、
torch.triu、contiguous()、除以\sqrt{d_k}的作用,以及 attention 公式为什么这样设计 - LoRA
进阶 DL 手撕
Section titled “进阶 DL 手撕”- 用线性层实现一个简单的 MoE / MMoE
- 实现transformer block
- 手写一个网络 FLOPs 或者 MACs 的计算方法
- 利用 numpy 实现一个线性层,并手写梯度反传
八、项目经历 / 情景题
Section titled “八、项目经历 / 情景题”项目 / 实习经历
Section titled “项目 / 实习经历”- 自我介绍
- 讲一下实习的工作:团队背景、业务目标、你负责的模块和最终产出分别是什么?
- 项目是完全自己独立完成还是团队合作?如果是协作项目,你具体负责哪一部分,和上下游如何配合?
- 实习期间遇到的最难问题是什么?你是怎么定位、推进、落地并复盘的?
- 讲一下 RAG 项目的亮点,最好能从业务价值、技术设计、指标收益和落地难点几个角度展开
- 项目里使用的是公开数据集还是自建数据集?数据来源、构造方式、标注质量和合规性如何保证?
- 训练完成后验证 / 测试使用的是什么数据集?数据集一般如何划分,如何避免数据泄漏?
- 如果项目涉及语音 / 时序数据:输入输出分别是什么?做过哪些预处理、特征选择和音频处理流程?用过哪些 PyTorch / torchaudio 相关库?
- 如果项目用了 Transformer,你实际用了编码器、解码器还是完整 encoder-decoder?模型的输入输出、参数规模和训练配置分别是什么?
- 指标比如 92% 是怎么定义出来的?剩下的 8% 主要错在哪里,你做过哪些误差分析、调参和优化?
- 如果做过比赛或复现,冠军 / SOTA 方案相比你的实现好在哪里?你如何从特征、模型、训练和工程几个角度复盘差距?
- 在 AIGC 绘图项目里,模糊意图、多意图和意图分类通常怎么处理?如何设计意图识别与澄清流程?
- 用三个词准确描述自己,并说明你的目标规划和阶段性推进方式是什么?
- 反问环节你一般会问什么?
- 介绍一下你做过或最熟悉的论文 / 模型:要解决什么问题,核心方法、创新点、实验结果和局限是什么?
- 做论文复现或项目实验时,如何验证收益到底来自新模块、参数设置还是训练配置?如何设计消融实验和对照实验?
- 某个模块做技术选型时,除了当前方案,你还知道哪些替代论文或工业界做法?各自的适用场景和 trade-off 是什么?
- 性能指标提升应该如何对比?比如 7% 的提升对应的 baseline 是什么,怎样证明这个收益来自方案本身而不是评测口径或实验设置差异?
- 讲述最近读过的一篇你熟悉的论文内容、核心贡献、实验设计和关键细节。
- 一个已经 RL 微调完毕的模型,其思考链路太长了,如何在保持性能不降低的情况下,减少思维链的输出长度?
- 如何存储一个长视频的精彩内容和摘要
- 大模型部署经验,如何做成一个 api 调用?
- 一个图书系统,上午10点借书人多,下午4点还书人多,怎么解决;有的书特别火点击量特别大,怎么设计?查询数据系统响应慢怎么解决?
- 现在我们有一个训好的模型与一张图片,请你写一个推理的封装好的类,让车厂能直接使用你封装好的类进行推理。
- 场景题:司机接人时,如何为乘客规划最新上车点?你会综合哪些约束和目标来做决策?