美文网首页Android技术知识
Android 面试官:“我面了近百名开发,符合要求的不到一半

Android 面试官:“我面了近百名开发,符合要求的不到一半

作者: 搬砖小老弟 | 来源:发表于2022-04-08 21:05 被阅读0次

    身在某二线互联网公司,面试了很多应聘Android 岗位开发的程序员。符合我要求的很少,目前来看也就百分之五左右。

    我面试Android 技术人才的时候,一般都是先看看面试者有没有Java基础知识,然后是一些基本的数据结构和基本的算法。然后是一些面向对象的思想,最后 由浅入深的问 Android 相关技术点。因为任务基础扎实了,面向对象的思想有了,开发Android是很简单的事情,即使有什么不懂,也很快会学会。

    很大一部分面试者连List 与ArrayList什么关系都搞不清楚,至于List的其他实现类一概不知。还有Map, Set 就更不知道了。让谈谈常用的数据结构,完全蒙了,什么是数据结构?听过但是不知道,好像这个东西离他们很遥远似的。我说你开发中不用数组,不用HashMap吗?大部分人惊讶的反问:数组是数据结构吗?我说数组的底层不就是顺序列表吗?一脸疑惑,什么是顺序列表?我已经吐血身亡了。泛型只知道 List<String>,问什么意思完全不知道。至于面向对象,几乎没有人将多态讲明白。

    总的来说:

    目前安卓开发的问题在于大部分都是三年工作时间,一年工作经验。一般来说问题在于以下五点。

    第一,主要依靠第三方类库,自己不了解内部实现。简历上罗列一大批开源类库,使用经验有,内部原理一无所知。简单来说imageloder怎么做缓存的,缓存算法有哪些,lru的特性是什么,为什么用linkedhashmap实现。。。基本没有能讲清楚的。

    第二,Java功底不足。arraylist怎么实现的,map怎么实现的,hashmap和arraymap适用场景,volatile和synchronized有什么区别,多线程如何同步。。。这些都是基础知识,不懂的大有人在。

    第三,虚拟机不了解,就敢说精通性能优化。内存泄露和溢出天天说,具体怎么引起的,怎么分析堆内存,怎么做内存管理,这些不是简单网上几篇帖子就能学会的。

    第四,安卓基础不扎实,线程怎么通信,进程怎么通信。好多程序员还停留在handler是用来修改ui界面这样的认知程度。framework层还有很多要学的,更别提内核了,都是宝藏啊。。

    第五,网络通信这一块,tcp/udp基础协议还是要理解吧,tcp为什么安全可靠,怎么做到的,HTTP协议是怎么回事,只会用OKHTTP是不行的啊朋友。

    可能说的唠叨了点,我想表达的是,一个安卓开发的自我修养并不应该局限于应用开发。需要学习的东西太多了,如果你内功足够,随时离职都有大批公司抢着要,只是会做应用的程序员肯定要被淘汰。

    大部分公司要的是三年工作经验,而不是一年经验凑合了三年的人。

    最后,入了程序员的坑,就的学到老啊。。。

    绵薄之力

    做为一名Android开发者,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Android高级开发者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!如果有需要参考学习的小伙伴,可以直接去我 GitHub

    GitHub地址: 
    https://github.com/733gh/Android-T3
    

    相关文章

      网友评论

        本文标题:Android 面试官:“我面了近百名开发,符合要求的不到一半

        本文链接:https://www.haomeiwen.com/subject/fzsysrtx.html