小米Android/Linux系统软件工程师
社招全职A27000地点:北京状态:招聘
任职要求
1. 对Linux内核或驱动(需至少一个子系统深入理解)有相关开发经验。 1. 对Linux内核或驱动(需至少一个子系统深入理解)有相关开发经验。 2. 能够Debug 内核Panic,watchdog reset 等crash问题。 3. 熟悉一种RTOS的工作原理。 4. 精通Linux/Android环境下的C语言编程,有实际开发经验。 5. 具有较强的分析和理解源代码的能力,做事认真细致负责并且主动,学习能力强,沟通能力强,有团队合作精神。 其他需求: 对RPC跨核通信框架有资深经验者优先。 有Android framework/hal 等开发经验者优先。
工作职责
该职位主要负责和Vela (RTOS)相关的Android/Linux端系统软件开发,包括Linux驱动,RPC Lib,内核稳定性和性能调优,Android到MCU的offloading服务开发工作。
包括英文材料
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.
RTOS+
[英文] RTOS Fundamentals
https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/01-RTOS-fundamentals
A Real-Time Operating System (RTOS) is a type of computer operating system designed to be small and deterministic.
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
RPC+
https://javaguide.cn/distributed-system/rpc/rpc-intro.html
为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间,所以,需要通过网络编程才能传递方法调用所需要的参数。并且,方法调用的结果也需要通过网络编程来接收。
https://www.youtube.com/watch?v=S2osKiqQG9s
This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge.
开发框架+
[英文] Understanding Modern Development Frameworks: A Guide for Developers and Technical Decision-makers
https://www.freecodecamp.org/news/understanding-modern-development-frameworks-guide-for-devs/
相关职位
社招5年以上
1.负责Android/Linux系统性能分析和性能评估,负责linux内核下调度优化,包括cpu调度、gpu调度,ddr调度等系统资源的调度优化工作 2.负责Android系统Framework框架优化和功能开发,包括进程管理、后台管控、自启动管理、场景标签、系统服务和广播等优化工作 3.负责项目研发中卡顿等性能相关问题的解决和优化,例如响应时间,流畅度,精简系统,应用启动耗时等问题分析和解决 加负项: 1.负责解决复杂性能优化难题,对系统进行深度优化,主导性能优化方案的预研和规划,依据不同应用场景需求拆解出系统层面可量化的性能指标,并全程跟踪指标优化进展和落地
更新于 2025-04-03
社招5年以上
1.负责Linux系统音频系统和驱动软件开发,DSP软件开发; 2.负责音频系统/音频DSP系统的软件架构设计,音频路由策略规划; 3.负责的Audio定制功能开发(音效、多声道、ECNR等模块); 4、负责项目Audio驱动调试和项目Bring up(Audio DSP,CODEC,AMP等); 5、负责系统通用设备驱动开发,负责Android/Linux/QNX等系统平台的构建、系统集成与功能开发工作
更新于 2025-06-17
社招3年以上A33386
1、负载车载Android/linux系统C++多线程软件设计和开发,确保应用程序的功能完善、性能优化和用户体验良好; 2、负责车端Android/linux系统AI应用算法模型开发、数据训练; 3、负责DDS/Http/MQTT/Binder等各种进程间通信开发、软件部署和集成; 4、负责性能稳定性优化,解决进程的内存泄漏,crash等问题;
更新于 2025-08-18