Android中级工程师面试总结

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

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

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

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

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

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

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

    项目框架 (ARouter)+ 代码框架 (MVVM)+ 网络访问框架(框架原理)
    Android 6.0到9.0的适配爬坑总结
    View的绘制流程
    Activity四种启动模式
    findViewById源码
    OkHttp原理分析
    APK瘦身
    内存性能优化
    View的事件分发机制
    View的加载流程(源码)
    Glide4.0使用与原理分析
    EventBus3.0原理分析
    Fragment懒加载
    理解setContenView的源码
    Activity启动流程
    Application创建流程
    Binder机制
    handler机制
    AsyncTask原理分析
    HandlerThread以及IntentService分析
    LeakCanary内存泄漏原理分析
    Dialog + PopupWindow原理以及区别分析
    SharedPreferences原理分析
    线上异常捕获
    自定义View以及ViewGroup

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

关于Android开发进阶,
推荐大家一个课程:Android开发高手课
推荐大家三本书:《Android开发艺术探索》《Android进阶之光》《Android进阶揭秘》
---------------------
作者:粗鲁先生
来源:CSDN
原文:https://blog.csdn.net/lmq121210/article/details/86647660
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-06-09 15:59  天涯海角路  阅读(563)  评论(0)    收藏  举报