小米 – Android DevOps专家工程师 职位分析和面试指导

职位描述:

1、设计并落地亿行代码项目的分布式编译缓存系统,提升编译速度与效率
2、跟进Google/Android等业界前沿编译构建新技术演进发展

职位要求:

1、熟悉ccache, distcc, goma, Bazel, Google RBE/ABFS, K8s, Docker等分布式编译技术和缓存加速方案/工具/平台,有实际使用、开发落地经验
2、对Android Build System(Make/Soong/Blueprint/Ninja)有深入理解,2年以上调试、改造优化经验
3、熟练掌握Go/Python/Shell/Make/CMake/Ninja/C/C++/Java等语言/工具
4、优秀的问题分析和解决能力,能够独立排查和解决复杂的构建问题
5、具备良好的团队合作精神、沟通能力和文档撰写能力
6、具备较强的学习能力和技术创新能力,能跟踪和应用最新的技术发展
优先条件
1、有大型互联网公司或超百万行代码项目构建优化经验
2、主导过分布式缓存系统设计,了解一致性哈希、缓存淘汰策略等算法
3、开源社区贡献者(如Gradle/Buck/Bazel项目)

招聘部门:

小米

工作地点:

北京市社招全职职位 ID:Z1728

面试建议:

小米的Android DevOps专家工程师职位是一个技术深度和广度要求都很高的岗位。从职位描述可以看出,这个岗位的核心在于解决亿行代码量级的Android项目构建效率问题。这不仅需要候选人精通各种分布式编译工具链,还需要对Android构建系统有源码级的理解。特别值得注意的是,小米明确要求候选人要有实际落地经验,而非仅仅是理论了解。 在准备面试时,建议重点准备以下几个方向:首先,确保你对Android Build System的每个组件(Make/Soong/Blueprint/Ninja)都有深入理解,最好能准备一些你实际优化过的案例。其次,分布式编译技术是考察重点,你需要能清晰解释各种工具(如Bazel、RBE等)的优缺点和适用场景。最后,大型项目经验是加分项,如果你有处理过超百万行代码项目的构建优化问题,一定要准备好具体的数据和成果展示。面试时可能会遇到实际的构建问题让你现场分析解决,所以保持对常见构建问题的敏感度很重要。