滴滴Android Framework开发工程师(J250624005)
社招全职3年以上技术地点:北京状态:招聘
任职要求
1、本科及以上学历,计算机科学或相关专业,3 年以上 Android 开发经验。 2、深入理解 Android 系统架构:熟悉 Android Binder 进程间通信机制、HAL 层、JNI 原理以及 Linux 内核基础知识(进程/线程调度、内存管理、I/O)。 3、具备 AMS (Activity Manager Service) 的深厚积累,熟悉 Activity 生命周期管理、Task 与 Back Stack、应用启动流程(Cold/Warm/Hot Start)、Broadcast、Service 管理等。 4、具备 WMS (Window Manager Service) 的深厚积累,深入理解窗口管理机制、窗口状态(Visible, Focused)、布局(Measure/Layout/Draw)、合成(SurfaceFlinger)、动画、输入事件(InputEvent)分发等。 5、熟悉至少一个其他核心 Service 的工作原理(如 PackageManagerService, PowerManagerService, InputManagerService 等)。 6、熟悉 Java/Kotlin,具备良好的 C/C++ 能力(用于 Framework Native 层/JNI 开发及问题定位)。 7、熟练使用 AOSP 源码环境:具备从源码编译调试 Android 系统的能力,熟练使用相关调试工具(如 adb, dumpsys,perfetto,winscope,bugreport等)分析定位 Framework 层问题。 8、强大的系统问题分析与解决能力:能独立分析复杂的系统级问题(ANR, Crash, System_server Watchdog, 性能劣化等),并提出有效解决方案。 9、优秀的编码和设计能力,对代码质量和性能有极致追求。 10、良好的沟通能力和团队协作精神,能承担关键技术攻坚任务。
工作职责
1、深度参与 Android Framework 核心机制的设计、开发与维护,特别是与 AMS、WMS、Package Manager Service、Input Manager Service 等核心服务相关的功能实现、性能优化与稳定性提升。 2、分析并解决系统级的复杂问题,如应用冷热启动优化、多任务管理、窗口显示流程、输入事件分发、系统响应速度、功耗异常、应用保活策略冲突、系统稳定性(ANR/Crash/OOM)等。 3、理解并定制核心系统行为,根据不同产品需求或场景(如定制窗口行为、定制 ROM等)对 AMS、WMS 等模块进行深度修改和优化。 4、性能调优与架构改进:深入分析和优化 Framework 层,特别是核心服务的性能瓶颈(如卡顿、掉帧),设计并实施高效的解决方案。 5、紧跟 Android 新版本演进,研究新版本中 Framework 层尤其是核心服务的变化,负责系统升级相关的核心框架适配和问题解决。 6、编写高质量、可维护的代码,撰写技术文档,并进行有效的技术分享。
包括英文材料
学历+
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
JNI+
https://www.baeldung.com/jni
JDK introduces a bridge between the bytecode running in our JVM and the native code (usually written in C or C++).
https://www.youtube.com/watch?v=pyXnX2SEaFc
Become an expert the Java Native Interface with this 28-hour course.
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.
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.
Kotlin+
https://kotlinlang.org/docs/kotlin-tour-welcome.html
Quickly learn the essentials of the Kotlin programming language through our tours, which will take you from beginner to intermediate level.
https://learnxinyminutes.com/kotlin/
Kotlin is a statically typed programming language for the JVM, Android and the browser. It is 100% interoperable with Java.
https://www.youtube.com/watch?v=EExSSotojVI
In this full Kotlin course, you will learn the most popular programming language on Android and start building your own apps.
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
相关职位
社招3年以上技术
1. 参与 AIoT 事业部 Android 端研发工作,包括桔视设备、语音等产品研发,提升产品力,承接来自于网约车、无人车等需求研发 2. 理解业务场景,与算法、产品、硬件、运营等团队协作,按期按质保障需求及项目落地 3. 参与 AIoT 平台研发建设,包含稳定性、效率提升、成本优化、技术升级等方面工作 4. 负责Android客户端核心模块设计与开发,主导技术方案选型及系统架构优化
更新于 2025-06-23
社招1-3年A133541
1、负责XR系统的Framework,基于Android的Framework,为XR设备的特殊需求对Framework进行定制开发; 2、负责XR系统的一些通用模块的开发和维护,并对Android Framework进行定制和扩展; 3、解决系统的性能/稳定性问题。
更新于 2025-03-10
