八年Android开发经验的老兵总结的面试中那些老生常谈的话题

笔者自2013年开始从事Android开发,这期间,薪资翻了好几倍,虽然如今Android开发不再那么吃香,但从事Android开发的人不少,又恰逢疫情蔓延,大批同胞失业在即,故此整理了此文。

在 2013 年面试 Android开发,一般是问你控件会不会用啊等,基本属于废话,在 2014 年,已经出现了网络请求相关以及 Json 解析,还有 webview 与原生交互。2015 年,图片加载,缓存,内存泄露也出现在了我的面试中,2017 年,设计模式,自定义view,多模块开发,异常处理,各种框架,可谓是非常艰难的一年,2018 年,kotlin 出现在了面试中,同样的还有算法。


八年Android开发经验的老兵总结的面试中那些老生常谈的话题

android - 面试

这只是中级水平,对应的薪资大概在 10K - 12K,杭州。本人面试过不少 Android 开发人员,也参与过不少面试,根据我以往的经验,大概就是如此了。如果想再高,可能还会有:


八年Android开发经验的老兵总结的面试中那些老生常谈的话题

当然,各种原理也是会问,但其实都很常见,比如 View 的绘制原理,Handler 机制,跨进程通信原理 等等,但实际可能很少会用到吧,我个人在面试中,很少去问这个原理抑或某个机制,没必要。

Kotlin 由于刚出来没几年,大概也就 2-3 年吧,会的人不多,一般不会展开去面试,甚至我面过的大部分人只是了解,如果谁敢说他精通或者熟练,就问问它 kotlin 里 协程相关的吧。

内存优化与内存泄露这块,内存泄露的大户主要有 handler、广播、匿名内部类,而内存优化实际得靠优化图片内存,而启动速度优化,实际得异步初始化或者延迟初始化。我面试一个 Android 程序员一般是这样的流程:

1、看简历,判断属于中级还是高级,中级就随便问问 网络相关以及图片相关,如果都能答对,才会问问内存优化啊,内存泄露啊,这些。如果还能答对进入2,否则判定是中级别。

2、从内存泄露展开,比如如何定位内存增长异常问题,Handler 为什么会造成内存泄露,kotlin 会不会啊,如果会,协程了解不啊,git 使用的怎么样啊,如果顺利,进入 3,否则判定为高级 android开发,在杭州大概是 15K - 16K 左右

3、从协程展开,以及 kotlin 的实现,设计模式,比如埋点这个需求用什么模式,然后是自定义 view,当然,也有人中级水平 自定义 view 能做的很不错的,一般的,我们很少有 自定义 view 的需求,大厂我不清楚,所以 自定义 view 不是绊脚石,只是锦上添花。再比如多模块开发用什么设计模式啊等,总之围绕 协程与kotlin 以及 设计模式展开,如果这级能及格,一般会认定为 leader 级水准,大概有 18K - 20K,如果设计模式还很熟,那我觉得可以替代我了,哈哈哈哈。即 架构师级别,在我的面试中,设计模式熟的有,但用的灵活的太少,几乎没有。


其实,网上很多 Android 面试题,我个人感觉不像是找人才而像是应付考试,所以有了此文,我个人自 2016 年开始,参加的面试中,真正面试技术的少,而互相交流的多,不像是面试,而像是互相交流,我希望你也是这样的心态。程序员成长的秘籍在于面向工资编程,涨薪的秘籍在于跳槽,希望你能懂,但是物极必反。


关注我,说不定哪天,我会面试你哦(PS 大量招 java 程序员,标准杭州 城西,有兴趣私聊)。记得关注 + 收藏哦。


分享到:


相關文章: