大模型工程师面试通关指南:阿里妈妈&字节跳动44个核心技术问题详解!
文章详细记录了作者在阿里妈妈和字节跳动的大模型岗位面试全流程,涵盖Transformer架构、注意力机制、模型微调、量化等大模型基础知识,以及计算机网络、并发编程等后端知识。揭示了AI系统优化不仅限于kernel和Pytorch修改,还需考虑整体架构设计,为准备大模型岗位的开发者提供了宝贵的实战参考。
9 月末-10 月初开始面的,只面了阿里妈妈和字节,因为入职了前者所以后者发出来(后者应该是横向被挂了,后来因为字节团队疑似被鸽又联系我想要我,但是我已入职故拒)。
一、一面
-
介绍自己。
-
介绍一下 python decorator。
-
用过 @torch.jit.trace @torch.jit.script 吗(区别是 script 保持 python 控制流 trace 不保持,原理前者采样后者编译)。
-
如果我需要输出特征图,或者获取一个 model 中命名规律的几个层 e.g. l_1 l_2 的输入输出,应该怎么做?(用 pytorch hook)
-
你写过一个 rust 项目,介绍一下 rust 里的借用机制吧。
-
对于 attention is all you need 这篇文章,它讲了什么,有什么贡献?
-
transformer 架构是什么?
-
相对于 CNN,RNN,transformer 的优势在哪里?
-
为什么要用 layernorm,有什么用?
-
norm 有哪几种(我以为说的 norm 变体,回答的说只知道 rmsnorm,结果面试官说的是 batch norm 和 layernorm,不过没有太大影响)?
-
batch norm 和 layernorm 有什么区别,为什么 cv 用 batch norm,nlp 用 layernorm?
-
什么是 attention 层,QKV 分别是什么,为什么这么计算,为什么要除以根号 d,不除可不可以?
-
什么是 kv cache,为什么需要 kv cache?
-
pd 分离中,pd 复杂度分别是多少,为什么 p 是计算密集而 d 是访存密集?
-
GPU 的内存 hierarchy 是什么?
-
什么是 flashattention?flashattention 的原理是什么?
-
模型怎么捕捉位置信息的(positional encoding,RoPE)?
-
介绍一下 positional encoding,为什么这样做有用?
-
长度外推是什么,怎么实现?
-
项目里基座模型用的什么(qwen),qwen 模型相对于基础的模型有什么不同(不知道……过,不过后来查了查不是也就 norm 换 rmsnorm 和 qknorm,norm 换位置这种小改进,别的改进就是数据和 thinking 了啊……)
(一个微调+agent 项目)
-
你负责了什么?
-
怎么清洗的数据?
-
微调用的什么(lora sft+DPO)?
-
DPO 和 PPO 有什么相似和不同?
-
怎么评估的,评估哪些指标?
-
无幻觉率怎么评估?
-
什么是模型的困惑度?
-
用过 bitsandbytes 和 accelerator(hugging face)吗?
-
什么是量化?
-
了解蒸馏吗(小 model 学大 model,别的一点不知道)?
-
量化具体过程是什么?
-
QAT 和 PTQ 有什么区别,QAT 具体过程是什么?
-
Per-Channel,Per-Head 量化是什么,为什么这么做?
(一个推理引擎玩具项目)
-
为什么用 rust?
-
怎么调度模型的(LRU)?
-
说一下 YOLO 模型的架构(我不知道😭这个是课设我就放这个模型进去凑数的)。
-
不知道 YOLO 结构怎么做的(知道要实现什么算子,输入输出,但不知道原理)
-
了不了解图像生成模型(我就上课学过一点点😭)?
-
diffusion 模型是什么原理?
-
了不了解 VAE 模型(我脑抽了说不知道,后来反应过来 VAE 很基础啊……我在干嘛)
算法
-
1easy1hard or 1easy2medium,选后面一个。
-
走楼梯
-
还能不能优化(用的数组,可以换成变量)
-
后面是两个 pytorch,写出大概代码就行,不用运行测试
-
询问:deepseek 用了 MoE,什么是 MoE,结构是什么样的?
-
题目:用线性层实现简单的 MoE。
-
询问:问如何实现 Expert 并行,我说不知道,平时没写过啊😭(torch.dist,挺难写的……)
-
题目:实现 transformer block。
-
询问:layernorm 为什么这么实现(我写错了啊啊啊,忘了写 scale and shift 光 normalize 了,当时还没反应过来还狡辩了一会,面试官也没再追问就是)
-
layernorm 分母上为什么加一个小常数?
-
你中间用了 einsum,介绍一下 einsum,为什么你要用 einsum(方便好用,所有人都应该用 einsum)
-
为什么要做 residual 连接,residual 连接解决了什么问题?
-
反问:工作内容
二、二面
-
介绍自己。
-
输入网址到看到网页,网络中发生了什么?
-
HTTP 协议是什么?
-
HTTPS 协议是什么?
-
HTTPS 如何保证安全,HTTPS 时序图
-
HTTPS 为什么要使用对称密钥加密通信,为什么不一直使用非对称加密?
-
Java 中怎么实现并发同步?
-
Java Synchronized 关键字是什么,怎么用?
-
synchronized 可以加在哪里?
-
静态方法上的 synchronized 和成员方法上的有什么区别?
-
编程语言中,常用的有哪些锁(互斥锁分为自旋锁和非自旋锁,还有读写锁)?
-
什么时候用自旋锁,什么时候用非自旋锁(频繁加锁的用自旋锁,不然用非自旋锁,因为要比较系统调用和用户态空转的代价)?
-
还有什么同步方式(go 语言 channel,信号量)?
-
什么是乐观锁和悲观锁?
-
你在哪个项目中用过锁?
-
关系型数据库中,事务特性是什么?
-
你在哪个项目中用过事务?
-
事务隔离级别有哪些,分别解决什么问题?
-
mvcc 是什么,怎么实现,用于哪些隔离级别?
-
间隙锁是什么,可以缓解什么问题?
-
你是怎么用 RabbitMQ 的?
-
RabbitMQ 的 Exchange 是什么?
-
RabbitMQ 怎么保证可靠性?
-
RabbitMQ 数据传递过程是什么(没答上来😭,忘了真,我以为继续面算法的)?
-
Docker 原理是什么?
-
docker 是怎么管理资源的(cgroup 啊啊啊😭忘了)?
(一个微调+agent 项目)
-
你背景主要是 LLM 的,介绍一下 cross attention,self attention,和 multihead attention。
-
你这个项目做了什么,落地了吗?
-
详细说一下做了什么?
算法:
-
合并 K 个升序链表。
-
有更好的解法吗?
-
知道堆吗,可以用堆优化吗(然后就知道最优解了……)?
-
反问:为什么一面算法二面开发,你们到底做什么的?
三、三面
-
纯介绍项目
-
代码:
cuda kernel,MxN 矩阵 reduce 成 1xN
没写出来拉了改成说思路了,但还是有点拉了,写的 warp reduce 版本导致写的太慢要考虑太多了,不用 warp reduce 早写出来了……
然后聊了一堆有的没的(面试官一看就 high rank,头发就看出来)
本来以为完了的,结果晚上来 hr 面,因为临近国庆所以当晚面了
四、hr 面
一般聊天,问题:
- 怎么和同事搞好关系
- 有什么兴趣爱好
- 离你学校远你愿意来吗
- 喜欢什么样的 mentor
- 个人缺点
- 不喜欢什么样的人
hr 说前两个面试官评价是基础知识很好,但是没有 t2i t2v 模型经验;那第三位估计面评不是特别好吧(他没问八股纯压力项目,然后我最后一个 CUDA 没写出来……),或者他那个地位的也可能不太 care?见的我这种菜鸡太多了。
后来催进度,一面面试官加了电话面,不过非正式。
加面??大概问的都是很实践的问题,答得很烂,贴一下技术的:
-
量化后变慢可能是因为什么(硬件不支持???我这么答的反正,没见过别的情况)
-
LoRA 会对模型推理有什么影响(???太宽了不知道啊,weight 会变可能会影响点???)
-
对于自回归模型,onnx 怎么加速?(我没用过 onnx 啊……可以开 kvcache/多次 regression 融合一个;原来和 hugging face transformer 一样嘛……)
-
如果在推理过程中,使用 nsys 发现有 e.g. 近 billion 次的 device2device 4 bytes 访存,可能是因为什么(张量不是 contiguous。view 后只动 stride,导致逐个的访存不连续,逐个 d2d 传递;我没做过真答不上来)
-
优化推理速度的整体思路是什么?
-
MoE 和 Expert Parallel 是什么?
-
Deepseek 的 MoE 和 Qwen2 的 MoE 有什么区别?(public expert)
因为当时催的时候淘天已经给offer了,要求早确认,和字节这边说了,所以第二天给我挂了……
淘天入职后字节团队被鸽了,hr 遂又联系我,但是已经入职所以拒了!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

五、如何学习AI大模型?
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案

大模型全套视频教程

200本大模型PDF书籍

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集

大模型产品经理资源合集

大模型项目实战合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

更多推荐



所有评论(0)