已解析题目
算法工程师相关题目
你对大模型分布式训练的底层了解多少?
大模型分布式训练的底层要围绕并行策略、通信开销、显存拆分和容错监控来讲。面试回答不能只说“多卡训练”,要能解释数据并行、张量并行、流水线并行、ZeRO/FSDP 以及 AllReduce 等通信模式各自解决什么问题。
如果需要为特定领域的文本训练一套 Embedding,你会怎么做?
为特定领域文本训练 Embedding,要从语料构建、分词策略、训练目标、负样本、评估和部署更新全链路设计。关键不是只训练一个向量表,而是让向量能服务领域检索、分类、聚类或推荐任务。
模型训练时 advantage 或 loss 突然变成 0,可能是什么原因?
advantage 或 loss 突然变成 0 通常是训练信号、数据、mask、奖励归一化、数值稳定或日志统计出了问题,需要按链路逐层排查。
常见的核函数有哪些?
常见核函数包括线性核、多项式核、RBF 高斯核、Sigmoid 核等;回答重点是说明核函数在不显式升维的情况下计算高维特征空间内积。
如何提高冷门商品的推荐效果?
提高冷门商品推荐效果,需要解决行为稀疏、曝光不足和模型偏热门的问题,常用内容特征、相似召回、探索流量、重排扶持和分层评估共同处理。
当模型出现 bad case 时,如何分析并改进?
模型 bad case 分析要先复现和分层定位,再判断是数据、特征、标签、模型、阈值还是业务分布问题,最后用可验证实验闭环改进。
为什么 SVM 有效,如何推导其原理?
SVM 有效的核心是最大间隔思想、结构风险最小化和核技巧;推导时从几何间隔、约束优化、拉格朗日对偶和支持向量讲起。
如果资源无限,去掉召回直接全量排序会怎样?
这题不是简单问算力,而是考推荐系统为什么分召回、粗排、精排:全量排序可能提升候选覆盖,但会改变样本分布、模型目标和系统约束。
万用户数据中有 5% 标签错误,如何用算法找出错误样本并赋予正确类别?
这道题考察 label noise 场景下的数据质量诊断和训练闭环。回答时要先区分“找出疑似错标样本”和“给出可信新标签”两个目标,再用交叉验证预测、模型分歧、邻域一致性和人工或高置信规则校验构建可控流程。
GPU 推理中 depthwise / separable convolution 为什么可能变慢,为什么常被判断为访存密集型算子?
这题考 GPU 推理中 depthwise / separable convolution 为什么容易 memory-bound。它虽然显著降低 FLOPs,但 activation 读写没有同比减少,算术强度低,无法充分利用 GPU 计算吞吐,瓶颈常转向显存带宽、cache locality 和 kernel launch。
推理优化中为什么可以做 Conv+BN 融合,融合后的权重和偏置公式如何推导?
这题考推理态算子融合的数学等价性和工程收益。BN 在 inference 时使用固定 running mean/variance,是逐输出通道仿射变换,所以可以吸收到前一层卷积的权重和偏置里,减少算子调度和中间 tensor 读写。
推理框架中卷积算子通常有哪些实现方式,如何按输入形状、硬件和延迟目标选型?
这题考推理框架里的卷积实现谱系,而不是卷积数学定义。回答要覆盖 direct、im2col/GEMM、implicit GEMM、Winograd、FFT、1x1/depthwise/group 专用 kernel,并说明选型受形状、batch、硬件、内存带宽、精度和端到端延迟影响。
构建 AI Agent 时,Memory 机制通常如何分层设计,短期上下文、长期记忆和检索注入分别解决什么问题?
这题考察的是候选人是否理解 Agent Memory 不是一个简单向量库,而是一套分层状态管理和检索注入机制。回答要区分短期上下文、工作记忆、长期记忆、外部知识检索和写入更新策略,并说明每层解决的问题、成本权衡、失效模式和评估方法。
大模型反欺诈项目从开发、测试到部署应如何设计流程,Agent 框架选型需要关注哪些工程约束?
这题考大模型反欺诈项目的端到端工程化能力,不是只问“用了哪个 Agent 框架”。高质量回答要从业务边界、数据合规、Agent 工具链、离线评测、测试门禁、灰度部署、监控回流和框架选型约束讲清楚,体现反欺诈场景对准确性、可解释性、安全和稳定性的要求。
分词算法有哪些?
分词算法解决的是把连续文本切成有意义的词或子词单位。中文没有天然空格,因此分词既要处理词典匹配,也要处理歧义、未登录词、新词、专名、领域词和下游任务适配。常见算法包括基于词典的正向/逆向/双向最大匹配、DAG 加动态规划、HMM/CRF 序列标注、统计语言模型、深度学习序列标注,以及 BPE、WordPiece、SentencePiece 等子词切分方法。
同题还出现在 2 个公司岗位
OpenCL/GPU kernel 为什么要尽量减少分支,掩码写法如何影响 SIMT/SIMD 执行效率和有效吞吐?
这题考 GPU/OpenCL 高性能实现里的分支发散和掩码写法。高质量回答要说明 work-item 在 subgroup/warp/wavefront 内锁步执行,分支不一致会串行执行不同路径并屏蔽 inactive lane,从而降低有效吞吐。