我眼中的面试

       最近在给公司招Android开发人员,面向两个方向,Framework和App,近一个月的时间以来,整体特色是Framework方向近乎无人问津,而App方向则简历“泛滥”,想招个靠谱的伙伴真的不容易。最近的工做时常被频繁的面试安排打断,面试之余,想总结一下这段时间的感觉。尽可能从面试流程的各个环节都有一些涉及,看成回忆也好,经验也罢。看成给本身的沉淀吧。前端

1. 简历的投递

  • Framework方向

           基本没有“正规军”出现,这也在个人意料之中,这个方向的人材稀缺,基本都待在大厂里不出来,由于对于系统级别的定制化改造真的是“搞事情”,资源的投入是巨大的,大厂都不必定搞得好的东西,况且对于一个像咱们这样的小做坊呢。由于也不是紧急的须要,因此和领导肯定的方案是花多一点的时间,放长线,广撒网,另外,利用人脉关系从大厂争取捞人。面试

  • App方向

           不得不先提一个小插曲,根据业务的进展,先放出的是Framework方向的岗位招聘,天天收到的简历寥寥无几,领导(领导不是很懂Android)问我,Android就这点人?我笑而不语,领导你等着。App岗位一开放,天天数倍的简历压过来,领导没再说什么了,以前和我一块儿审简历的工做也不参与了。后端

       两个印象,一个是如今是90后的世界了,另外一个是女生们多了,这算是广大男同胞们的福音吗?网络

2. 简历的筛选

       大部分的简历仍是那个老生常谈的问题,太千篇一概了,让人看了提不起兴趣的那种,顺带的水分也就不提了,各类精通~可能你们内心都有数。多线程

  • 太“简明”的简历会被刷

           简明到只有各类荣誉证书各类精通,却没有具体的项目介绍,想简明能够贴个做品连接啊,那些证书、精通的咱们真的不太在意,咱们只但愿能多了解一些你的工做经历,固然咱们真的但愿你能精通。app

  • 太“高明”的简历会被刷

           21岁5年Android开发经验,Sorry,我是赶上神童了吗?我hold不住啊!10年Android开发经验的,Sorry,我是赶上Rubin级别大神了吗?我只能膜拜,岂敢让您屈尊。框架

  • 太low的简历会被刷

           简历毫无排版可言或排版混乱,让我有阅读困难的,Sorry,太出众了。不要求炫,但至少能达到平均大众水准吧,找个模板也行啊,都是出来找工做的,这几乎就是第一印象,你怎么就忍心让本身输在起跑线上?post

3. 面试安排及回应

       团队目前比较小,因而领导干起了HR的活,由于还有后端前端的招聘,因此面试安排统一由领导来统筹,亲自给筛选出来的简历人员打电话邀请面试,赞一波领导。然而,那些没来参加面试而又没有通知咱们的朋友们,不知道大家是怎么想的,答应的好好的,就算不来,也许你的临时日程和咱们的安排冲突了,也许你有了更好的选择了,都不要紧,来个电话或发个消息稍加说明,咱们都能理解,我会给你安排新的时间或祝你新工做愉快,将来有机会再合做。信誉在哪?换位思考一下,我不知道,朋友,你还会不会这么作。与人方便便是与己方便。学习

4. 面试

       对于面试,想说多一点,特别是技术点搜索引擎

  • Framework方向

           这个方向的内容若是要问深度的那就要多深有多深了,鉴于收到的简历和来面试的人不多,我把条件放宽了许多,尽可能从靠近app层的知识面入手提问。

    1. ART、Dalvik和JVM的关系及区别是什么?这是道送分题,并非真的要说出它们的深度区别,但若是你不知道ART是什么,我以为你不够关注行业发展,靠这个平台吃饭,不关心它,怎么都说不过去。

    2. 例举一下Android系统级服务,在App层通常都用过哪些?如何实现一个自定义的系统级服务?渐进式的问题,后边的有难度,若是没有Framework定制经验或没有研读过系统源码真的很差回答了。

    3. Binder机制。难,基本个大概的概念也没有多少我的说的全的。

    4. Launcher的实现。并不是只有manifest里的launcher配置,其实要是能回答PackageManager、ActivityManager对应用包的管理和应用进程的管理,会有加分,由于有了这些,才算是个基本能用的Launcher。

    5. 系统级app和第三方应用级app分别在什么目录下?一个第三方的app可否直接放到系统级app目录下而又能正常运行?纯经验题,若是没倒腾过ROM,基本回答没戏了。

    6. 能不能单独编译一个系统级应用?ROM编译环境配置及编译脚本题。

    7. JNI,共享库和静态库的区别和使用场景,JNI中C/C++和Java相互调用各自使用的机制是什么?偏app方向的题了。

    8. 如何限制第三方应用安装?

  • App方向

           Android高速发展了快十年时间,平台软件开发如今已经到了各类框架、轮子满天飞的时代了,给应用软件的开发带来了极大的便利,我也在用别人的框架和轮子。但我不太喜欢在面试中听到“这xxx功能用框架实现就行了啊”。咱们的职位需求明确了两年以上的工做经验,若是你这两年了还只会用框架而又对框架说不出个一二三,那是否是不那么对劲?更别说张口闭口就百度一下了,我还会谷歌呢。相信如今面试的基本也都刷过那么几套面试题、几本xxx宝典,但一些经验并不能靠刷题能刷出来或者能理解牢靠的,因此,这方向的面试我喜欢问细一点的问题。

    1. Activity创建在哪些窗口组件之上?顺带涉及View的事件传递问题。

    2. 什么状况下,Activity的onNewInstent()方法会执行?Activity的启动模式相关。

    3. Activity A使用startForResult启动Activity B,B什么都不作并返回A,A中的onActivityResult回调是否会执行?

    4. Fragment可否不依赖于Activity存在?简析一下Fragment的栈管理。

    5. 可否将一个Activity放到系统的最近任务列表里,独立于宿主app任务卡以外?

    6. 对于同一个Service,在被start启动以后还能不能被bind?

    7. Service有哪些派生类?这些派生类的使用场景是什么?

    8. Service与其它组件之间的通讯实现方式有哪些?

    9. View的post(Runnable r)方法里,r会带来一个新的线程吗?多线程相关。

    10. 在非UI线程中使用Handler须要注意哪些问题?

    11. 自定义View时有哪些重要的方法,它们的做用及执行顺序是怎样的?

    12. 如何单独对ListView上的一个item进行更新?

    13. 简析一下大图片的加载处理。

    14. 设计师只给了一套1280*800的UI图标注,如何进行其它分辨率尺寸屏幕的适配?

    15. 6.0系统新权限机制的解决方案。
      大家精通的开源框架,问题来了

    16. EventBus的机制是什么?和Handler的区别怎样?

    17. RxJava的机制是什么?

    18. Butterknife的机制是什么?

    19. Okhttp是基于HTTP链接仍是Socket链接?

    20. 例举一种ORM框架,说说它的优缺点。

           若是你写着精通各类框架,而上面的问题又回答不上来或者模棱两可含糊不清,只一个劲的说这些框架很方便你用的很是遛,那我认为你和我精通的没什么区别,我精通Windows, Mac, Linux系统电脑的开关机,还精通C/C++, Java, PHP, Python, Ruby等的书写。
           就算框架横飞的今天,Android应用开发仍是离不开基础四大组件、线程进程间通讯、View处理(UI、各类事件)、数据存储消费、网络通讯、平台特性碎片化适配等这些基础的原理,框架也都围绕着这些模块来建造,万变不离其宗,知其然也要知其因此然。
           题目还有不少,好比以上还未列出Java部分的题,都不算什么过高明的面试题,不能所有例举了,不一样的人根据不一样的经验及具体项目进行提问,通常面试过程前15分钟便可分辨一个面试人员可否达到符合条件需求,因此,如何在这个时间段内最大限度的表现本身的能力很重要。

5. 面试评估

       评估的因素其实会有不少,临场发挥因素,抖腿、眼神飘忽、回答声音低小、遇难题岔开其它话题等,都是很差的临场表现。技术面的方向及深度因素,术业有专攻,面试题答不上来不表明就什么都不行,面试官也有本身的业务方向考量。这里,还想说一点是,有些朋友过来像是纯粹为了面试而面试,并不关心公司是作什么的,咱们有官网,招聘启事上也有相关说明,然而问起时却一头雾水,或者彻底不知道公司的业务和产品,也是比较尴尬了,没有用心准备一个面试,明显会被减分。即使真的不关心之后要作什么,也总得知道一下想加入的公司大概是怎样的,要不,这简历投递的意义是什么?

6. 面试调整

       咱们面试基本有两轮,过了个人技术面,领导会接着再面,两面都过了才有可能成为之后共同的伙伴,因此,我也会倾听领导的面试反馈,调整个人面试要求和尺度,毕竟新伙伴是给整个团队找的,尽可能能选到与团队气质符合的伙伴,因此,不光是技术面,更是综合面的考量。倾听反馈,作好下一次面试,节省领导的时间,也是节省本身的时间。

7. 面试总结

       以上,是这段时间对面试的一些拙见,无所谓干货,纯我的感想,找一份满意的工做不容易,找一个对味的伙伴不容易,且面且珍惜。有一个Framework方向的小伙感受挺惋惜的,作Android智能手表系统级软件定制两年时间,一直有机会接触Framework层,但上边的那些基础题都没有答到点上,问他为何会这样,他感慨太忙了,基本只是在作老板给他安排的那些重复性的软件移植适配工做,Framework有其它同事负责,他就没什么关注了,现在出来了可就不必定那么好的机会再去研究了。小伙子人很谦诚,若是咱们如今是大公司,可能我会选他,能够培养,可眼下,只好放弃了,祝愿他接下来找到合适的机会。忙是个客观理由,不是个主观借口。眼界的开阔不该该羁绊于踌躇的当下。因此,标榜“太忙了,顾不上学习新东西或其它东西”、“那些东西只有用到的时候才去搜索找方案”的朋友,好好准备,再出发吧,但愿你不仅活在搜索引擎里。       我其实也挺浮躁的,为了尽快招到帮手,一天多则可能会参加主持六七场面试,对精力是很大的消耗,会在某一些场次中出现一些毛躁的心里情绪而影响正常的提问评估。面对面的你和我,折射了一个行业的现状。       我也有本身的目标,不久的将来,就会离开这个城市,投身于新的环境,可能意味着要从零开始,也将会由面试官变成被面试者,接受别人的考察评判,要怀着敬畏的心。       这篇文章,献给我本身,若是你正在找工做赶着面试或者正在面试别人,看到这篇文章,能提不一样的意见,也是最好不过。

相关文章
相关标签/搜索