会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 57自学网———旗下安卓自学网站专注Android系统开发教程!
当前位置:主页 > 软件开发 > 安卓开发 > 正文

如何做一个合格的Android面试官【安卓巴士博文大赛】

时间:2017-06-07 10:41 来源:网络整理 作者:安卓自学网 阅读:

我入坑Android已经三年有余了,期间被别人面试过也面试过别人。在被不合格的面试官面试过也做过不合格的面试官之后,我总结出了作为一个合格的Android面试官应有的套路:

Java基础知识和Android基础知识

对于刚毕业或刚入行的求职者,考察基础知识不仅能出不判断他的工作能力,还能推测出他今后很长一段时间的发展潜力。一个一口咬定“ArrayList和都是List的子类,Map是HashMap的父类”的求职者基础知识一定不扎实,一个连Fragment生命周期都说不清的求职者一定连懒加载都写不出来,一个一问三不知还嘴硬的求职者不仅不思进取而且自视甚高。

对于Java出身的面试官,需要注意的一点就是不要用Hibernate和EasyJWeb等和Android无关的Java知识难倒了求职者之后再问一句“Android不是以Java为基础的吗?你怎么连这么简单的问题都答不出来?”

Android进阶知识

对于有两年经验的Android工程师,可以适当提一些进阶问题。最常见的进阶问题就是讲讲常见概念的原理,比如Handler的原理、AsyncTast的原理和BaseAdapter的原理等,讲不清楚可以基本断定此人完全是4个月的经验用了两年,做的都是UI层次的表面文章。很难相信一个不了解Canvas和A的程序员如何绘制出的千变万化的自定义控件,也很难相信一个说不清Thread间通信的人如何设计大文件分批次上传的方案。

常见的设计模式和架构

对于有三年及以上经验的Android工程师,就要看他的编程思想是否达到看出天下编程语言殊途同归的高度。询问常见的设计模式和架构就是最好的选择。

最简单的问题就是“Android中有哪些单例模式的例子”和“EventBus采用了那种设计模式”;如果想深入一点,可以问问Android中代理模式和建造者模式体现在哪里;如果想进一步深入的话,可以问问单例模式的懒汉式和饿汉式的区别,或者问问三种工厂模式之间的区别。

简单的算法

在求职者疑似是培训生的时候可以穿插几个简单的算法问题,培训班“4年本科+2年硕士+2年真实工作经验”的噱头在冒泡排序甚至递归面前都不堪一击。

因为Android应用开发并不特别需要算法(用FFmeng给视频编解码除外),所以经验三年以上的Android工程师忘记了希尔排序等算法很正常。我建议不要用算法问题卡人,毕竟培训生蒙混过关之后也难逃试用期的天网恢恢,好人被冤枉的后果就噬脐莫及了。

技术管理、过程管理和团队乃至部门管理

一个技术人员很可能有除了写代码以外的其他能力,管理能力是其中最常见的。如果求职者曾经带过团队,甚至仅仅带过同一个岗位上的实习生,他的管理能力都值得考察。我甚至面试过可能成为我的领导的人,尽管最终了识破他的30多岁嫌站着工作累去培训班学了4个月Android的厨师或者洗剪吹身份。

考察求职者的技术管理能力主要问他作为老大哥如何提升所在岗位其他人的技术水平;考察过程管理能力主要问他如何进行利用开源框架快速开发和分模块敏捷开发;考察团队乃至部门管理就要考察他组内不同岗位、不同项目组、不同部门乃至与老板和甲方的沟通协调能力,比如怎么解决老员工倚老卖老拖延进度的问题。

方向深度

常言道“术业有专攻”,不同行业对Android人才的知识深度的方向是不同的。如果你在一家生产物联网设备的公司,你要重点考察求职者对BlueTooth的了解;如果你在一家安全领域的公司,就要看他对反逆向和加密的了解;如果你在一家研究输入法的公司,就要考察他对手势的了解。与公司业务无关的冷门问题不是不可以问,对某一领域有深入研究说明这个求职者有钻坚研微、钩深索隐的钻研精神,对技术有持之以恒、锲而不舍的态度,可以很快掌握与公司业务有关的技术。

不该问的

诸如“Android怎么搞性能优化”和“Android怎么搞多机型适配”之类大而空泛的问题是外行面试官最喜欢问的,常常把多年经验的老程序员问得一脸懵逼,却被背过标准答案的培训生忽悠得一愣一愣——就好比真正的哲学家回答不出“人生的意义是什么”而传销经理回答这个问题却口若悬河一样。这两个问题可以分别改为“如何从网络、内存、磁盘的角度设计缓存”和“.9图放在drawable和mipmap下有什么区别”等具体问题。

(责任编辑:www.57zxw.com)

顶一下
(0)
0%
踩一下
(0)
0%