小米SOC软件工程师(内存及存储方向)
社招全职Q2500地点:上海 | 西安状态:招聘
任职要求
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、有开源社区开发经验。
工作职责
1、负责Linux Kernel升级,裁剪以及开源Patch引入; 2、负责Linux Kernel重要驱动模块开发; 3、负责以下1种或者几种: a) 负责文件系统及Block-IO层驱动开发与性能优化,有MQ开发,调试经验优先考虑; b) 负责内存管理子系统优化,有大内存申请性能优化,内存压缩优化经验优先考虑; c) 负责进程调度性能优化,移植,开源patch引入等工作,负责CFS,EAS等调度算法优化; 4、负责Linux系统性能,优化系统资源管理与调度,解决产品痛点,攻坚技术困难。
包括英文材料
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Java+
https://www.youtube.com/watch?v=eIrMbAQSU34
Master Java – a must-have language for software development, Android apps, and more! ☕️ This beginner-friendly course takes you from basics to real coding skills.
Python+
https://liaoxuefeng.com/books/python/introduction/index.html
中文,免费,零起点,完整示例,基于最新的Python 3版本。
https://www.learnpython.org/
a free interactive Python tutorial for people who want to learn Python, fast.
https://www.youtube.com/watch?v=K5KVEU3aaeQ
Master Python from scratch 🚀 No fluff—just clear, practical coding skills to kickstart your journey!
https://www.youtube.com/watch?v=rfscVS0vtbw
This course will give you a full introduction into all of the core concepts in python.
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
内核+
https://www.youtube.com/watch?v=C43VxGZ_ugU
I rummage around the Linux kernel source and try to understand what makes computers do what they do.
https://www.youtube.com/watch?v=HNIg3TXfdX8&list=PLrGN1Qi7t67V-9uXzj4VSQCffntfvn42v
Learn how to develop your very own kernel from scratch in this programming series!
https://www.youtube.com/watch?v=JDfo2Lc7iLU
Denshi goes over a simple explanation of what computer kernels are and how they work, alonside what makes the Linux kernel any special.
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
开发框架+
[英文] Understanding Modern Development Frameworks: A Guide for Developers and Technical Decision-makers
https://www.freecodecamp.org/news/understanding-modern-development-frameworks-guide-for-devs/
相关职位
社招3-5年研发类
1、牵头研究标杆竞品在系统性能方向上的重点技术布局情况,进行各方向的技术拆解(如存储、系统资源调度、图形等),为技术规划及专项预研提供支撑; 2、基于性能方向的技术规划在各技术方向上开展专项优化工作; 3、牵头管控项目性能,确保相关项目优化到行业领先水平; 4、研究主流SOC性能评测软件原理,进一步挖掘平台性能。
更新于 2025-03-03
社招4-10年研发类
职位一: 1、 负载资源调度相关性能问题优化,包括cpu、内存、io资源调度等问题; 2、负责拆解性能各种链路,并且对其进行优化,保障在Android框架流程链路的领先性; 3、负责规划设计cpu调度算法进行优化或者优化Android框架资源管理; 4、疑难性能问题进行攻关突破。
更新于 2025-03-05
社招5年以上嵌入式
1. 负责性能分析工具设计、开发与落地; 2. 负责系统软件性能优化,包括对业务代码、操作系统、中间件等做分析优化; 3. 负责SoC整体性能优化,包括CPU负载、DDR带宽、IP性能等方向优化; 4. 负责性能优化方向的竞品分析、业界新技术探索; 5. 负责与芯片进行联合优化设计,基于优化洞察给SoC设计提供优化建议。
更新于 2024-04-23