张工是一名Android开发人员,近日到某知名互联网公司面试,面谈到最后时,面试官问了张工这样一个问题:
你觉得现在做Android还有前途吗?
张工被问得有点措手不及。
现在都在说互联网寒冬,尤其是移动端开发市场趋于饱和状态,我之前找工作时,也陆陆续续找了一个月,应该是我技术水平不过关。
现在做Android还有前途吗?有人说Android开发前景越来越差了 ,我觉得是片面的,Android开发前景其实还不错。
现在各大公司其实都很缺Android中高级开发工程师,有的公司对Android开发岗位还在不断的招人。
对初级Android开发人员来说,自律和坚持,是一种持续与别人拉出人生差距的能力。初级开发者更应该想想怎么掌握好知识点,而不是轻易就转行,要是没有专研精神,不管换到哪个方向,譬如现在流行的大数据开发,都会卡在瓶颈期。
对于Android开发者,他们有的计算机相关专业毕业,有的是参加过IT培训一段时间,然后找到了一份实习工作或初级Android工程师的职位,心怀憧憬,希望在公司里好好表现自己。于是,在工作中一边工作一边学习,下班后还不忘继续给自己充电。
这是很难得可贵的。
作为一名Android 开发人员,如何在面试中脱颖而出,个人认为需要两项技能:
扎实的技术基础,有技术追求和工作激情 ;良好的沟通能力和协作技能。
简单来说,就是专业能力和沟通能力。其中专业能力始终是面试成败的决定因素,那么技术掌握到什么程度才能相对轻松地通过面试呢?
面试的时候,更注重基础知识。一般来说,一场Android面试内容不太可能全是Android开发的问题,应该也会涉及到和编程基础相关的问题。比如java基础、数据结构、算法和常见的设计模式要熟悉,亦或是设计模式,单例模式、工厂模式、观察者模式等。至于数据结构在工作中不常用到,但还是有必要了解下,能够熟练掌握更好。
有从事过java开发的朋友应该知道java有个垃圾回收机制。
面试时要是面试官问“java回收机制对什么东西进行回收”,要是我们只是简单地回答对没有用的对象进行回收,按道理来说,这并没有错,只是答案可能并不是面试官问这个问题的初衷。要是我们对此能更进一步分析那就更好了,比如这样回答,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。回答问题时把问题具体化,对类似这样的对象进行回收,相信能给面试官留下好的印象。
总结
这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码
因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/164829.html