Android面试一天一题(吹牛题)

这两天和领导产生了一些误会,领导给了我很多Android开发让我面试,本意是让我招大哥,我却按招小弟的标准来面试的,结果通过的人完全无法达到第二次筛选的标准。不知大家有没有发现,在国内对于程序员或开发工程师严重缺乏评级标准,往往是按工作年限评级的,一两年的叫工程师,三五年的叫高级工程师,七八年的就叫资深高级工程师(有些厚颜无耻的叫架构师),十年左右的叫大神!十多年以上的,什么?你还在做开发?你有问题吧!

但是大哥不是按年龄划分的。

面试题:吹牛

说具体点可以是:说一下你认为自己比其他程序员出色(厉害)的地方?为什么我们要选择你呢,你和其他程序员比有什么优势?

这个是非常难的面试题,你觉得呢?哲学家苏格拉底说过“人最难的就是认识自己”,这句话一点都不假,而且据调查很多人都认为自己的水平高于平均水平(总之不会是自己拖后腿)。所以往往自己都会认为自己比其他程序员厉害,但要真说出厉害在哪几点,还真难说出来。

有很多人面试后也感觉自己面的不好,面试官明明问的都是基础题,只不过是多嘴问一下对这些组件的看法,就把很多“资深的高级工程师”搞得有点不好意思了,突然感觉到自己好像不会Android开发一样。其实,这表明了很多人只是会使用这些常见的东西,但从来不会去思考为什么要这样用、还有没有更好的用法。

有时都不是有更好的用法的问题,而是正确的用法的问题。说一个例子:前些天遇到一个Android开发(按年限算应该是“高级工程师”了),他的应用发生了Crash,找我帮忙分析一下。我查看一下日志发现是NullPointerException,应该是很好解决的。然后发现,NullPointerException的地方是在他的Service的一个public方法中去调用了一个在Service的onCreate创建的变量。

再查找发现他知道使用bindService来绑定服务,也知道在onConnection中获取Service的实例,从而可以调用Service的方法。问题在于,他知道这个bindService是异步的,所以在没有bindService成功前就自己手动创建了一个Service实例。当然,这个Service实例不会调用它的onCreate方法。

他知道用bindService启动一个Service,但却不知道自己创建的实例和系统创建的Service实例是有区别的。你会使用了,不代表你就真地明白了。

如果,我们缺乏思考,只是一味的埋头于眼前的问题,那么我们很难跳出这个问题的怪圈:因为眼前的问题缠住自己了,所以没有时间和精力去学习和反思,因为不学习和反思思维就更局限,就更没有办法解决眼前的问题……

有过一些表现比较积极的面试者,在技术面试表现不佳时,主动和我表白:“自己绝对有信心和能力解决工作中的问题,而且自己的学习和理解能力超强的,现在不知道的等下来一学就会”。好吧,积极推销自己总归是不错的。

但是真正看一个人是不是比别人出色,首先不是看他说了什么,而是看他做出了什么。比如你直接让我看一下你的一个Github的开源项目,那我直接看看你的代码就知道你是否真的比一般的开发出色了。如果它有100+颗星,那我觉得你是真厉害了。

提交项目到Github简单吗?简单,但很多人都做不到。

看着再简单的事情,做了才好评价。所以,如果你还只是一个学生,或者工程师的角色,那么给自己定一个三到五年计划吧,现在虽然不知道自己比别的工程师出色在哪里,但希望三年后你能知道,大家也能看得出来。

Even 原创
简书链接:http://www.jianshu.com/users/f9fbc7a39b36/latest_articles
转载请注明出处。
对Android面试有兴趣的可以关注我的微信公众号:Android面试启示录

你可能感兴趣的:(Android面试,android,面试,工程师,程序员)