最近跟我的一些读者交流,有一位读者的经历让我记忆深刻:
“有一次和大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司这几年,完全是吃老本的状态,没有什么机会精进技术,同样是工作了三年,和同学的差距越来越大”
我继续问他,他说真正让他受打击的是这个月的一次面试。
“面的是一个大厂,面试官问了很多问题,一大半的问题我都是一知半解,回答上来问题也是特没底。
大概回顾了这场面试:上来先是问了Java基础知识,自定义view,算法等等,这部分我还算准备的充分。第二部分开始复杂了,主要是底层、NDK、设计模式、调优方面的问题,像是如何检测一段代码的执行时间?滑动不流畅怎么处理??
我之前工作上经历的少,加上自己技术储备浅薄,到这部分时我就感觉自己快凉了。面试到最后,问了mvvm架构相关的,当时已经懵了,我只记得一个问题:让你做一个项目,怎么选择mvvm架构和MVP架构?我。。。。“
面完后他说,觉得自己在技术上欠了很多债,最惨的是,在这之前他根本不知道。
听了这位读者的经历,于是有了今天这篇文章。很多工作了1-3年的Android人,想够一够 3w月薪的岗位,但在底层技术上却有很大的问题:
毕业几年,表面上用过很多技术,但都没能深入学习,一年的工作经验,干了好几年。结果就是遇到实际问题时无从下手,最终还是走着普通工程师的道路,和高手的距离越来越远。
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。
张工是一名Android开发人员,近日到某知名互联网公司面试,面谈到最后时,面试官问了张工这样一个问题:
你觉得现在做Android还有前途吗?
张工被问得有点措手不及。
现在都在说互联网寒冬,尤其是移动端开发市场趋于饱和状态,我之前找工作时,也陆陆续续找了一个月,应该是我技术水平不过关。
现在做Android还有前途吗?有人说Android开发前景越来越差了 ,我觉得是片面的,Android开发前景其实还不错。
现在各大公司其实都很缺Android中高级开发工程师,有的公司对Android开发岗位还在不断的招人。
**对初级Android开发人员来说,自律和坚持,是一种持续与别人拉出人生差距的能力。**初级开发者更应该想想怎么掌握好知识点,而不是轻易就转行,要是没有专研精神,不管换到哪个方向,譬如现在流行的大数据开发,都会卡在瓶颈期。
对于Android开发者,他们有的计算机相关专业毕业,有的是参加过IT培训一段时间,然后找到了一份实习工作或初级Android工程师的职位,心怀憧憬,希望在公司里好好表现自己。于是,在工作中一边工作一边学习,下班后还不忘继续给自己充电。
这是很难得可贵的。
作为一名Android 开发人员,如何在面试中脱颖而出,个人认为需要两项技能:
扎实的技术基础,有技术追求和工作激情 ;良好的沟通能力和协作技能。
简单来说,就是专业能力和沟通能力。其中专业能力始终是面试成败的决定因素,那么技术掌握到什么程度才能相对轻松地通过面试呢?
**面试的时候,更注重基础知识。**一般来说,一场Android面试内容不太可能全是Android开发的问题,应该也会涉及到和编程基础相关的问题。比如java基础、数据结构、算法和常见的设计模式要熟悉,亦或是设计模式,单例模式、工厂模式、观察者模式等。至于数据结构在工作中不常用到,但还是有必要了解下,能够熟练掌握更好。
有从事过java开发的朋友应该知道java有个垃圾回收机制。
面试时要是面试官问“java回收机制对什么东西进行回收”,要是我们只是简单地回答对没有用的对象进行回收,按道理来说,这并没有错,只是答案可能并不是面试官问这个问题的初衷。要是我们对此能更进一步分析那就更好了,比如这样回答,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。回答问题时把问题具体化,对类似这样的对象进行回收,相信能给面试官留下好的印象。
资源分享
- 最新大厂面试专题
这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等
- 对应导图的Android高级工程师进阶系统学习视频
最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!
VVM,源码等一系列系统学习视频都有!
[外链图片转存中…(img-2VcV9MPV-1611137902701)]
下载方法:点赞+关注后 点击【Android高级工程师进阶学习】即可领取!