面试官:现在做Android开发有前途吗?如果公司情况不好愿意降
前言
程序员面试,除了面试技术外,有的公司经常会问应聘者和技术无关的问题,考验求职者的综合能力,并以此作为是否录用的依据,很多时候这类问题往往没有标准答案,就看求应聘者临场的反应能力如何。
张工是一名Android开发人员,近日到某知名互联网公司面试,面谈到最后时,面试官问了张工这样一个问题:
你觉得现在做Android还有前途吗?
张工被问得有点措手不及。
现在都在说互联网寒冬,尤其是移动端开发市场趋于饱和状态,我之前找工作时,也陆陆续续找了一个月,应该是我技术水平不过关。
现在做Android还有前途吗?有人说Android开发前景越来越差了 ,我觉得是片面的,Android开发前景其实还不错。
现在各大公司其实都很缺Android中高级开发工程师,有的公司对Android开发岗位还在不断的招人。
初级Android开发人员
对初级Android开发人员来说,自律和坚持,是一种持续与别人拉出人生差距的能力。初级开发者更应该想想怎么掌握好知识点,而不是轻易就转行,要是没有专研精神,不管换到哪个方向,譬如现在流行的大数据开发,都会卡在瓶颈期。
对于Android开发者,他们有的计算机相关专业毕业,有的是参加过IT培训一段时间,然后找到了一份实习工作或初级Android工程师的职位,心怀憧憬,希望在公司里好好表现自己。于是,在工作中一边工作一边学习,下班后还不忘继续给自己充电。
这是很难得可贵的。
作为一名Android 开发人员,如何在面试中脱颖而出,个人认为需要两项技能:
扎实的技术基础,有技术追求和工作激情 ;良好的沟通能力和协作技能。
简单来说,就是专业能力和沟通能力。其中专业能力始终是面试成败的决定因素,那么技术掌握到什么程度才能相对轻松地通过面试呢?
面试的时候,更注重基础知识。一般来说,一场Android面试内容不太可能全是Android开发的问题,应该也会涉及到和编程基础相关的问题。比如java基础、数据结构、算法和常见的设计模式要熟悉,亦或是设计模式,单例模式、工厂模式、观察者模式等。至于数据结构在工作中不常用到,但还是有必要了解下,能够熟练掌握更好。
以下是我自己整理的一些Android初学者必备学习技能
由于文章篇幅问题复制链接查看详细文章以及获取学习笔记链接:https://shimo.im/docs/QVGDhCjVKvQ6r6TJ
或者可以查看我的【Github】里可以查看
有从事过java开发的朋友应该知道java有个垃圾回收机制。
面试时要是面试官问“java回收机制对什么东西进行回收”,要是我们只是简单地回答对没有用的对象进行回收,按道理来说,这并没有错,只是答案可能并不是面试官问这个问题的初衷。要是我们对此能更进一步分析那就更好了,比如这样回答,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。
对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。回答问题时把问题具体化,对类似这样的对象进行回收,相信能给面试官留下好的印象。
那么我们平时如何积累面试中需要的技术,我觉得阅读源码是一个不错的首要选择,其实很多面试问题我们都可以从阅读源代码中找到相关答案,其次平时要主动学习项目中没有用到的技术,很多时候,由于项目进度的原因,我们不可能通过公司的项目来掌握Android知识中其他重要技术知识点,尤其是一些规模不大的项目来说,这个时候更需要我们主动去学习其他知识点。
比如:View的绘制流程、事件分发、消息队列、Binder机制、AIDL原理等。类似这类知识点,需要我们在平时工作中不断去探索实践,不断运用,才能在工作中更好地定位问题,解决问题。
你觉得现在做Android开发有前途吗?评论区里一起交流吧!
最后
这里给大家免费分享一份字节跳动内部学习资料,一共有1312页,230775个字涵盖了Android所有高级知识,面试题都是各个大厂的面试者提供的。我们建立了一个【学习交流群】,大家会在一起学习交流,解决问题。如果最近有面试的都会把自己最近面试的题目分享出来,还有一些面试遇到的坑,有时候还开开车感觉还挺愉快!在这里感谢所有群里提供面试题的伙伴,话不多说来看看大厂都喜欢问哪些高级压轴题目吧!