小鹏集团

深度学习平台研发工程师面经

完整信息

11 条问法 · 12 道题

本篇目录

27届校招面经:小鹏集团 - 深度学习平台研发工程师(含Coding)📍 岗位背景:小鹏集团 - 【27届校招】深度学习平台研发工程师💻 面试形式:飞书视频面试(含在线代码考核)🎯 考察核心:AI Infra 基建、分布式训练、云原生调度、大模型推理优化、图论算法。

刚面完小鹏的深度学习平台研发,趁热打铁复盘一下。平台研发岗和纯算法岗完全不同,极其看重底层原理、系统架构能力和工程落地经验。以下是被疯狂追问的几个核心方向:

一、 分布式训练与 GPU 资源调度(深挖重点)

  1. DDP(Distributed Data Parallel)底层机制

考点:多卡训练是怎么同步梯度的?

复盘:重点讲了 DDP 的多进程架构(无主卡概念)和 Ring All-Reduce 机制。面试官追问了“梯度分桶(Bucketing)与计算通信重叠”是怎么实现的,这里必须懂反向传播过程中如何隐藏通信延迟。

避坑:千万别把 DDP 和 DP(DataParallel)搞混,强调 DDP 绕开了 GIL 锁,且不节省单卡显存。若提梯度累积,要懂 no_sync()。

  1. GPU 架构与 LLM 推理瓶颈

考点:H100 和 B200 有什么区别?LLM 推理瓶颈在哪?

复盘:要能清晰区分 Prefill(计算密集) 和 Decode(带宽密集) 两个阶段。对比了 Hopper 和 Blackwell,提到了双芯片封装带来的 HBM 带宽提升(8 TB/s),以及 Blackwell 原生支持 FP4 精度对吞吐量的质变(但要评估精度折损)。

  1. K8s 里的 GPU 调度

延伸考点:平台怎么管理异构算力?(顺理成章问到了云原生)

二、 云原生底座与虚拟化(平台建设基石)

  1. K8s 的 Pod 内部创建与调度链路

复盘:从 kubectl 提交 YAML -> API Server 鉴权准入 -> etcd 存储 -> Scheduler 选节点 -> kubelet 调 CRI 起容器。顺带问了 Pause 容器的作用(共享网络命名空间)。

  1. K8s、KVM 和 KubeVirt 的关系

考点:深度学习平台有时需要强隔离环境(比如跑特定的老旧框架),怎么让 K8s 管虚拟机?

复盘:引出了 KubeVirt。核心逻辑是“VM inside Pod”,通过 CRD 扩展 K8s API,把 KVM 虚拟机包装在 Pod 里运行。顺便对比了 Kata Containers(让容器变得像 VM 提供强隔离)。

三、 大模型接口与工程化(平台服务化)

  1. 流式(Stream)与非流式(Non-stream)的工程差异

考点:平台对外提供推理服务,接口怎么设计?

复盘:非流式返回一次性 JSON,流式基于 SSE(Server-Sent Events) 持续推送 delta.content。

工程坑点:流式下的 usage 字段默认隐藏,必须显式开启 stream_options;流式下的输出审核是个大坑(Chunk 级别语义不完整,导致安全拦截失效,需要端到端的拼接校验)。

  1. 平台合规与安全审计

聊到了类似 OpenAI Moderation 的接口。如果平台做网关,输入输出过滤怎么做?顺带探讨了 Adversarial Prompt(对抗性提示词)如何通过编码/自重建绕过单纯的表层语义审查。

四、 手撕代码:Coding 环节(图论)题目:DAG(有向无环图)的拓扑排序。

场景:极其经典的平台调度算法题(节点依赖关系、任务执行顺序)。

解法:Kahn 算法(BFS)。

邻接表建图,统计每个节点的入度。入度为 0 的节点入队。出队并将邻居入度减 1,若变 0 则继续入队。防御性编程:如果最后遍历的节点数小于总节点数,说明有环,记得返回或输出特定标志(视题目而定)。💡 泣血教训:在线机考千万别只写 System.out.println("hello world") 骗编译器,一定要老老实实写 Scanner 读取输入、处理输入!测试用例是会亮红灯的。

五、 面试官考察维度与心得(Top 3 建议)工程落地 > 纸上谈兵:平台研发极度看重“平台化思维”。你做的项目能不能抽象给全公司用?高可用、容灾、集群扩容你是怎么设计的?

开源与实习的结合:车企大厂(小鹏)对基础架构的要求很高,极少硬卡学历或大厂背景,更看重综合匹配度。最高级的简历故事线:在开源社区(如 K8s / vLLM)发现问题 -> 技术论坛/博客沉淀思考 -> 在实际企业项目中落地验证。这套组合拳非常加分。

坦诚面对盲区:面试官审美各异,有人喜欢造轮子的,有人喜欢干实事的。遇到不会的底层知识(比如具体的 CUDA 算子优化),大方承认并讲出你的排查思路,比硬编强一万倍。

最后:飞书面试记得不要用豆包/抖音账号登录,以免影响入职背调;提前调试好电脑摄像头。祝各位牛友都能顺利拿下心仪的 Infra Offer!

本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
    深度学习平台有时需要强隔离环境(比如跑特定的老旧框架),怎么让 K8s 管虚拟机?
  8. 08
  9. 09
  10. 10
    追问
    顺带探讨了 Adversarial Prompt(对抗性提示词)如何通过编码/自重建绕过单纯的表层语义审查
  11. 11

同作者面经

相关公司