阿里巴巴
校招AI芯片编程模型设计实现-阿里星
北京/成都/杭州/上海 · 校招 · 2027 届 · 博士
长期有效
任职要求
- 计算机科学、软件工程或相关专业,硕士及以上学历(博士优先)
- 深入理解编译原理,在编译器前端(Parsing/Type Checking)、中端(IR/Optimization)、后端(Code Generation/Register Allocation)中至少精通一个方向
- 熟悉 LLVM、GCC 等主流编译器框架的架构和实现
- 扎实的 C/C++ 编程能力,良好的数据结构和算法基础
- 理解编程语言理论,熟悉异构计算编程模型
- 对计算机体系结构有基本理解,了解指令集、流水线、存储层次等概念
- 加分项
- 有异构计算编程模型(CUDA/OpenCL/SYCL/OpenMP)的设计或实现经验
- 参与过 LLVM、GCC、Rust、Clang 等主流编译器或编程语言项目的核心开发
- 有 DSL(领域特定语言)设计经验,或设计过自己的编程语言
- 有程序分析(静态分析/动态分析)、形式化验证(Formal Verification)相关经验
- 在编程语言、编译器领域发表过顶级论文(PLDI/POPL/OOPSLA/CGO/CC/ICFP 等)
岗位描述
我们正在为自研 AI 芯片打造全新的编程语言和编译器工具链。这不是一个简单的""移植 LLVM 后端""的工作——你需要从零开始思考:什么样的编程模型能让开发者高效地表达 AI 计算?什么样的类型系统能在编译期捕获更多的并行化机会?什么样的中间表示能同时服务于高层优化和底层代码生成?
你将参与设计面向 AI 芯片的编程语言(DSL),开发编译器前端(Parser/Type Checker/IR Builder),构建中端优化框架(数据流分析、循环变换、自动并行化),以及实现后端代码生成(指令选择、寄存器分配、指令调度)。你的工作将定义开发者如何在自研芯片上编程,影响深远。
- • 设计并实现面向 AI 芯片的编程语言,包括语法设计、类型系统、语义定义、标准库设计
- • 开发编译器前端,包括词法/语法解析、语义分析、类型检查、中间表示生成
- • 构建编译器中端优化框架,包括但不限于:数据流分析、死代码消除、循环优化(Loop Fusion/Tiling/Unrolling)、内联、常量折叠、自动向量化
- • 实现编译器后端,包括指令选择、寄存器分配、指令调度、代码生成
- • 设计中间表示(IR),平衡表达能力和优化空间,支持多层 IR 渐进降级(Lowering)
- • 与硬件团队协作,参与指令集设计评审,确保编译器能充分利用硬件特性
- • 计算机科学、软件工程或相关专业,硕士及以上学历(博士优先)
- • 深入理解编译原理,在编译器前端(Parsing/Type Checking)、中端(IR/Optimization)、后端(Code Generation/Register Allocation)中至少精通一个方向
- • 熟悉 LLVM、GCC 等主流编译器框架的架构和实现
- • 扎实的 C/C++ 编程能力,良好的数据结构和算法基础
- • 理解编程语言理论,熟悉异构计算编程模型
- • 对计算机体系结构有基本理解,了解指令集、流水线、存储层次等概念
加分项
- • 有异构计算编程模型(CUDA/OpenCL/SYCL/OpenMP)的设计或实现经验
- • 参与过 LLVM、GCC、Rust、Clang 等主流编译器或编程语言项目的核心开发
- • 有 DSL(领域特定语言)设计经验,或设计过自己的编程语言
- • 有程序分析(静态分析/动态分析)、形式化验证(Formal Verification)相关经验
- • 在编程语言、编译器领域发表过顶级论文(PLDI/POPL/OOPSLA/CGO/CC/ICFP 等)
你的简历匹配这个岗位吗?
上传简历,AI 会对照这份 JD 指出你的差距和需要补强的地方
该岗位可能会问的问题
基于 算法 岗位的常见面试问题整理
请解释 Transformer 模型的自注意力机制(Self-Attention)
查看答题思路
1. Self-Attention = 序列中每个 token 与所有 token 计算相关性权重 2. Q=Wq·x, K=Wk·x, V=Wv·x; Attention(Q,K,V)=softmax(QK^T/√d_k)V 3. 除以 √d_k 防止点积过大导致 softmax 梯度消失 4. 多头注意力:多组 QKV 并行,拼接后线性变换,捕获不同子空间特征 5. 对比 RNN:可并行计算,捕获长距离依赖
你做过的最有深度的算法/模型项目是什么
查看答题思路
1. 一句话说清任务:分类/生成/检索/推荐 2. 模型选型:为什么选这个而非那个 3. 数据:数据量、来源、清洗策略 4. 创新点:你做的改进是什么(不是调参) 5. 结果:核心指标提升(准确率/召回/延迟)
过拟合是什么?怎么判断和解决
查看答题思路
1. 过拟合=训练集表现好、验证集表现差,模型记住了噪声 2. 判断:train loss 持续下降而 val loss 上升 3. 解决:更多数据 / 正则化(L1/L2) / Dropout / 早停 / 数据增强 / 降低模型复杂度
解释梯度下降的原理,SGD 和 Adam 的区别
查看答题思路
1. 梯度下降:沿负梯度方向更新参数,使损失降低 2. SGD:每次用随机小批量估算梯度,引入随机性帮助跳出局部最优 3. Adam = Momentum + RMSProp:自适应学习率 + 动量加速 4. Adam 收敛快但可能泛化不如 SGD;CV 常用 SGD,NLP 多用 Adam
给你 10 万条未标注的文本数据,如何找出其中 10 个主题
查看答题思路
1. 预处理:分词、去停用词 2. 向量化:TF-IDF 或 Sentence Embedding 3. 聚类:K-Means(需指定 K=10)或 HDBSCAN(自动确定类数) 4. 或 LDA 主题模型直接输出主题-词分布 5. 评估:看每个簇的高频词判断主题合理性,迭代调整
更多面试题库功能即将上线
信息来源:企业官方招聘页。投递前请以官网信息为准。