近期听在车企工作的朋友说,今年去他们公司面试的人比往年增长了30%左右,但实际面试达到标准的人屈指可数,大多都是从 Android 开发方向转过来的。
车企招聘要求有哪些?
每个车企因为业务部门的不同,他们的要求也会有所不同,想必这个大家都知道,接下来我们可以通过下面的几个岗位看出:
任职要求:
1.5年+ C++/C/Java开发经验,语言功底扎实。
2.2年+ Android Framework系统开发或者Linux平台开发经验
3.深入理解Android Framework(如AMS,WMS,PMS等)及HAL架构,能够进行框架层深度开发,精通Android Binder, Service, JNI及多线程编程,可进行框架层深度开发
4.有Android Framework定制研发经验,对常见的死机,黑屏,卡顿问题有丰富的解决经验
5.较强的理解分析能力和逻辑思维,善于表达自己的想法,良好的团队合作意识
任职要求:
1.熟练掌握C/C++和Java语言, 熟悉面向对象设计方法和常用设计模式;
2.深入理解Android的启动流程,OOM、ANR及内存回收等机制以及处理策略;
3.深入理解Android系统软件架构,能主导完成系统的移植和优化工作;
4.熟练使用Android系统性能分析工具,如systrace、traceview;
5.具备良好的团队精神和沟通意识,有良好的分析解决问题能力和沟通协作能力;
6.熟悉Android Automotive架构者优先;
7.有车载娱乐系统开发经验者优先
岗位职责:
1.车载中控设备(Android Audio framework和Audio HAL层以及音频应用软件开发&维护;
2.为车载中控设备音频框架及应用开发提供支持;
3.执行软件白盒测试,对产品软件交付质量负责;
4.持续优化,对框架层进行标准化、平台化的定制,集成。
根据上面三个不同岗位可以看出,他们之间的任职要求和岗位职责也有所不同,但他们中间都有一个共同之处就需要对 Framework底层 这块有深入的了解。相信大多数开发者基本做的还是业务开发,为此对Framework 熟知程度基本还是停留在了“表面阶段”,其中不乏一些工作多年的Android 开发者。每当工作中遇到这方面的难题时,往往只能靠盲猜和感觉,用临时性的补救措施去掩盖,看似解决了问题,但后期还会有一系列的问题出现。所以导致一些去车企面试的朋友以落榜告终。
Framework始终穿插在 App 整个研发生命周期中,不管是从 0 到 1 的建立阶段,还是从 1 到 N 打磨阶段,都离不开Framework。当然如果想要精通Framework,不仅要对底层原理充分了解,还要知道如何利用Framework知识指导我们代码实践开发,除了Handler、Binder之外,还有Android App 的启动机制、AMS、PMS、WMS、……等知识
这样才能够真正说得上是精通Framework。
那有没有好的学习文档可以参考呢?
巧在再这刚从这位车企的朋友手中搞了可以参考学习的文档,分别是《Android 车载开发手册》与《Framework 开发手册》,简单的看了一下还不错,后续在慢慢的看下,如有需要参考和收藏吃灰的朋友可以看看:
Android车载开发与设备调试学习手册:https://qr18.cn/F05ZCM
1.Automotive
2.什么是 Android Automotive?
3.Android 虚拟设备概览
4.模拟器 USB 透传模式集成指南
5.使用 Pixel 手机作为开发平台
6.测试工具和基础架构
7.语音
8.人机接口
9.汽车设置结果
10.自定义状态栏系统图标
11.车载设备界面库集成指南
12.媒体
13.适用于 Automotive 的设备管理
14.旋控器
15.……
《Android Framework学习手册》:https://qr18.cn/AQpN4J
- 开机Init 进程
- 开机启动 Zygote 进程
- 开机启动 SystemServer 进程
- Binder 驱动
- AMS 的启动过程
- PMS 的启动过程
- Launcher 的启动过程
- Android 四大组件
- Android 系统服务 - Input 事件的分发过程
- Android 底层渲染 - 屏幕刷新机制源码分析
- Android 源码分析实战