Android中级工程师面试总结

年关将近,很多小朋友都在考虑换个坑蹲蹲,我也不例外,实际上我定义的初中高级开发对应如下:

  • 初级工程师 1-3年
  • 中级工程师 3-5年
  • 高级工程师 5年以上

初级工程师:前两年基本都是——多处理一些场景,也就是扩展广度,在两年到三年的这一年是很关键的,需要扩展广度的同时,还要扩展深度,不过这个深度具体是大到什么程度,就根据个人情况了。
举个例子:我用了一个框架,这个框架怎么用?哪种场景使用?为什么这么用?原理是什么?
中级工程师 :由于我自己已经工作了三年,现在可以说是中级工程师了,一般来说现在是个“坎”,因为我觉得该分方向了:

  • 跨平台:实际上跨平台也就是RN了,这个感兴趣的小伙伴自己搜索。
  • 全栈工程师:可以胜任任何的前端工作,只要是前端工作,就没有“盘”不下来的。
  • SDK开发:也就是现在很多的驱动开发,自定义framework开发,这个需要对Android系统架构以及实现细节有深刻的了解,现在很多大厂商就是需要sdk开发高级人员,嗯,这个高级。
  • 应用层开发:实际上我们刚入门都是在应用层开发的,但是说实话仅仅是上层的单一开发的话,以后的压力会越来越大,因为RN以及全栈都来希望分一杯羹,坏消息是flutter也来了。。。所以这种情况下,还是对于我们比较危险的,因为你从SDK转上层可能是容易的,但是反过来难度可想而知。 总之一句话:如果你开发上层,那么不要把鸡蛋放在一个篮子里!
  • 智能家居(人工智能):实际上智能家居一直说要火,但是怎么多年也没有想象中的那么火,但是这里我给智能家居单独列出一条,非常重要的就是,在开发过程中,你可以跟自家底层C工程师的驱动交互数据,这一块也是挺叼的。

高级工程师:两年后补充。。。。。。。

对于Android端开发的态度,我觉得现在Android开发技术已经非常成熟了,对于初级甚至是中级工程师挑战是非常大的,但是永远都是缺少Android高级开发工程师。很多人说Android市场不行,那是针对技术不过硬的人,对于技术过硬的人,Android市场还是非常火爆的。

最近一直在面试,也陆续收到了offer,关于面试的问题,我大致罗列了一下:

  1. 项目框架 (ARouter)+ 代码框架 (MVVM)+ 网络访问框架(框架原理)
  2. Android 6.0到9.0的适配爬坑总结
  3. View的绘制流程
  4. Activity四种启动模式
  5. findViewById源码
  6. OkHttp原理分析
  7. APK瘦身
  8. 内存性能优化
  9. View的事件分发机制
  10. View的加载流程(源码)
  11. Glide4.0使用与原理分析
  12. EventBus3.0原理分析
  13. Fragment懒加载
  14. 理解setContenView的源码
  15. Activity启动流程
  16. Application创建流程
  17. Binder机制
  18. handler机制
  19. AsyncTask原理分析
  20. HandlerThread以及IntentService分析
  21. LeakCanary内存泄漏原理分析
  22. Dialog + PopupWindow原理以及区别分析
  23. SharedPreferences原理分析
  24. 线上异常捕获
  25. 自定义View以及ViewGroup

以上是最近在面试过程中被问到的问题,与君共勉。

关于Android开发进阶,
推荐大家一个课程:Android开发高手课
推荐大家三本书:《Android开发艺术探索》《Android进阶之光》《Android进阶揭秘》

Android开发学习交流群:
Android中级工程师面试总结_第1张图片

你可能感兴趣的:(android进阶)