
小米
游戏技术高级工程师
游戏技术高级工程师
发布于 1 天前普通员工/个人贡献者
南京市
高级经验
全职员工
仅现场办公
本科
软件工程
Arm64
Crash
C语言
Ebpf
Kasan
Kgdb
Linux内核
Perf
内存管理
AI 估算 · 30k–50k
高级内核工程师技术要求高,市场稀缺,小米上市大厂薪资有竞争力,南京薪资略低于一线城市但综合待遇较好。
职位详情
关于这个职位
加入小米,负责 Android 手机 Linux 内核内存子系统的开发与优化,包括伙伴分配器、SLUB/SLAB、页面回收等核心模块,使用 KASAN、eBPF 等工具定位疑难内存问题,并跟踪上游社区提升代码质量
最低要求
学历与经验:计算机、电子、软件工程等相关专业,本科及以上学历
年以上 Linux 内核或底层系统开发经验(资深岗位需 8 年以上),在内存管理方向有实际代码贡献
编程与工具链:精通 C 语言与 GNU 工具链,熟悉 ARM64 或 x86 汇编
具备清晰的模块设计能力和良好的代码风格,熟练使用 Git 及 code review 流程
操作系统与体系结构:深入理解虚拟内存管理、页表遍历、TLB 刷新、缓存一致性、内存序等概念
熟悉 MMU/IOMMU 硬件原理,至少掌握一种 CPU 架构的内存模型(x86_64/ARM64/RISC-V)
内核内存专精能力:熟悉 Linux 内核内存管理的关键数据路径,包括:伙伴分配器、SLUB/SLAB 分配器、vmalloc、缺页处理、反向映射(rmap)、LRU 链表与页面回收、页面迁移/规整、透明大页、HugeTLB、内存 cgroup 控制器、swap 与 zswap
必须有实际修改、调试或优化以上模块的工程经验
调试与性能分析:能熟练运用 crash、kgdb 分析内核转储,使用 perf、ftrace、eBPF 追踪内存分配热点和异常
理解 PSI、内存回收耗时、分配延迟等关键性能指标及监控方法
语言与协作:良好的英文技术文档读写能力,能流畅阅读内核文档与邮件列表,并撰写符合社区规范的补丁说明
逻辑清晰,善于在高度复杂的代码库中推动问题解决,具备团队协作精神
工作职责
内核内存子系统开发与优化:负责 Linux 内核内存管理核心模块的设计、开发、重构及性能调优,涉及伙伴分配器、SLAB/SLUB 分配器、页表管理、页面回收、内存规整、透明大页(THP)、KSM 等
针对 android 手机嵌入式场景,解决内存碎片、分配延迟、换页风暴等问题,提升内存利用率与系统吞吐并兼顾功耗调优
疑难问题分析与定位:利用 KASAN、kmemleak、crash、kgdb、perf、ftrace、eBPF 等工具,定位并修复内存泄漏、越界访问、数据损坏、死锁等复杂内核内存故障
建立内存性能剖析模型,量化内存管理路径的 CPU 开销与延迟抖动,并落地优化方案
社区跟踪与质量保障:跟踪 linux-mm 等上游邮件列表,掌握内存管理子系统演进方向
将内部验证成熟的核心补丁提交 Linux 主线,参与内核代码评审,编写详细设计文档与调优指南,提升团队整体内核开发质量
优先资格
优先条件:
有向 Linux 内核主线成功提交内存管理相关 patch 的经历
参与过内存压缩(zram/zswap)、多代 LRU(MGLRU)或大规模集群内存 QoS 调优项目
AI 洞察
优缺点分析
优点
- 深度技术岗位,核心模块优化对手机性能有直接贡献,技能积累价值高
- 小米作为大型科技公司,平台大、资源足,有机会接触海量设备数据
- 内核社区参与度高,可提升行业知名度和职业含金量
- 技术门槛高,需要深入理解内核源码和硬件原理,学习曲线陡峭
- 工作内容偏底层,与业务产品距离较远,可能不如上层开发直观
缺点 / 挑战
- 疑难问题定位可能耗时且压力较大,需要较强的问题分析能力和耐心
- 适合对操作系统底层有浓厚兴趣、具备扎实系统编程能力和调试经验的技术专家,喜欢挑战复杂内核问题
角色解读
- 深耕内核内存方向,成为 Linux 内核专家或架构师,主导手机/嵌入式系统的优化
- 向内核社区贡献代码,提升个人技术影响力,可转向技术管理或系统级架构岗位
- 横向拓展到文件系统、驱动、虚拟化等底层系统领域,或在小米内部晋升为技术带头人
- 负责 Android 手机 Linux 内核内存管理模块(伙伴分配器、SLUB、页面回收等)的设计与性能优化,解决内存碎片、分配延迟等问题
- 使用 KASAN、eBPF 等工具定位并修复内存泄漏、死锁等复杂内核故障,建立性能分析模型
- 跟踪 Linux 内核社区,将内部补丁提交主线并参与代码评审,编写技术文档
- 精通 C 语言和 ARM64 汇编,熟悉 Linux 内核内存管理关键模块(伙伴分配器、SLUB、页表、LRU 等)
- 熟练使用 crash、kgdb、perf、ftrace、eBPF 进行内核调试与性能分析
- 理解 MMU/IOMMU 硬件原理和内存模型(ARM64/x86),有实际修改内存管理模块的经验
申请策略
- 准备一个内核内存优化或问题定位的详细案例,展示分析思路和结果
- 了解小米手机产品线(如旗舰机)的内存需求,思考可能的优化方向
- 突出 Linux 内核内存管理方向的实战项目,说明具体解决的技术问题(如内存碎片、泄漏)和优化效果
- 强调使用过的调试工具(crash, ftrace, eBPF)以及性能调优案例
- 列出向内核社区提交的 patch 或参与的开源项目,展示社区贡献能力
- 深入学习 Linux 内核内存管理源码(mm 目录),理解关键子系统的实现
- 熟悉 ARM64 体系结构,特别是 MMU、TLB 和缓存一致性
- 练习使用 crash 和 eBPF 进行内核调试,可以搭建实验环境复现常见问题
面试指南
- 对于原理类问题:先阐述基本概念,再结合自身经验说明实际应用中的问题和优化方法
- 对于问题排查类问题:采用“现象->工具->分析过程->结论”的结构,突出逻辑和工具使用
- 对于项目类问题:用 STAR 方法(情境、任务、行动、结果)清晰描述贡献和影响
- 请描述伙伴分配器的原理和主要问题,如何优化内存碎片?
- 你如何定位和修复一个内核内存泄漏?请结合具体工具说明
- 解释透明大页(THP)的工作原理,在移动设备上有什么挑战?
- 你参与过哪些内核内存模块的修改?请详细说明一个 patch
- 复习内核内存管理核心数据结构和代码路径,理解关键函数(如 alloc_pages, kfree)
职位点评
67
综合评分
小米内核高级工程师,技术顶尖、成长空间大,但WLB和办公灵活性一般。
从薪资福利、成长空间、工作节奏和岗位方向综合评估,方便横向比较。
更适合这类人
最适合追求技术深度和成长的研究型工程师,若看重工作生活平衡需谨慎。
表现最好
成长发展
相对薄弱
工作生活
薪资福利70
成长发展85
工作生活40
使命价值60
薪资福利
70中等
小米上市大厂,薪资在南京有竞争力,但JD未明确福利,整体补偿性一般。
薪资信号未披露(AI估算:30K-50K/月)
成长发展
85较高
内核内存方向技术深度高,有社区参与机会,成长空间大,但JD未提及晋升机制。
技术前沿主流现代技术
技术栈Linux内核、内存管理、ARM64、eBPF、perf
业务类型cost_center
工作生活
40较低
仅现场办公,未提及弹性工作或WLB,内核调试可能涉及夜班或高强度攻关,生活化动机满足度低。
工作模式仅现场办公
办公地点科技园/产业园
加班情况未提及(无法判断)
使命价值
60中等
内核优化对移动设备性能提升有社会价值,但行业成熟稳定,创新有限。
行业发展稳定成熟行业
社会影响中性/一般
创新程度积极采用新技术
小米 的其他在招职位
相似职位推荐
Watch Jobs