职位描述:
1、负责Linux Kernel升级,裁剪以及开源Patch引入;
2、负责Linux Kernel重要驱动模块开发;
3、负责以下1种或者几种:
a) 负责文件系统及Block-IO层驱动开发与性能优化,有MQ开发,调试经验优先考虑;
b) 负责内存管理子系统优化,有大内存申请性能优化,内存压缩优化经验优先考虑;
c) 负责进程调度性能优化,移植,开源patch引入等工作,负责CFS,EAS等调度算法优化;
4、负责Linux系统性能,优化系统资源管理与调度,解决产品痛点,攻坚技术困难。
职位要求:
1、计算机、通信、电子、自动化或数学等相关专业本科及本科以上;
2、精通C/C++编程,熟悉JAVA/python等;
3、熟悉Linux驱动模型,熟悉Linux kernel中断处理流程,熟悉Linux DTS,ACPI机制;
4、熟悉Linux kernel重要驱动模块开发,如UFS,SD,NVMe,EMMC等一种或几种Block设备驱动为加分项;
5、熟悉Android Hal层开发;熟悉Android framework层,HAL层以及Kernel Driver的垂直开发;
6、深入理解Linux内核,熟悉内存管理,进程管理和文件系统中的一个或几个子系统优先考虑;
7、有开源社区开发经验。
招聘部门:
小米
工作地点:
上海市、西安市社招全职职位 ID:Q2500
面试建议:
这个职位是小米公司SOC软件工程师(内存及存储方向),它要求候选人具备深厚的Linux内核开发经验,特别是在内存管理、文件系统和进程调度等关键子系统方面。与一般的内核开发职位不同,这个岗位更注重性能优化和实际问题解决能力,要求能够针对产品痛点进行技术攻关。从职位描述可以看出,小米特别看重候选人在特定领域的深入经验,比如MQ开发、大内存优化或调度算法等。 针对这个面试,建议候选人重点准备以下几个方面:首先,确保你对Linux内核的核心机制有透彻理解,特别是DTS、ACPI等机制。其次,准备一些你在内核优化方面的实际案例,最好能展示你如何解决过具体性能问题。第三,如果你有参与开源社区的经验,一定要详细准备这部分内容,因为这是明显的加分项。最后,小米作为一家重视技术的公司,可能会考察你的底层编码能力,所以建议复习C/C++编程,特别是与内核开发相关的部分。面试时,要展现出你不仅懂技术,还能将技术应用于解决实际问题。