7254389584f17dd7a421efb8dd3bae2a
面试就是互相了解

Android面试(小专栏)

作者背景

悦跑圈Android工程师


应小专栏CTO寂大哥约稿,希望圈子内几位做APP开发的朋友,给读者们写一篇关于面试的文章。本文笔者以面试官的身份,讲述一下面试官的关注点,以及面试者需要注意的一些问题和细节。

首先,每家公司都有不同的公司文化,对技术人员的要求都不尽相同。有的公司希望你踏踏实实干,不需要你很多稀奇古怪的想法,只要按部就班完成功能即可;有的公司则乐意看到员工的创造力,多尝试新技术,用不同方式完成任务。因此,面试者不可能都满足每家公司的要求

其次,程序员一般比较内敛,平时码字多说话少,不容易表达清楚自己的想法和描述事情。不仅是面试者,面试官可能跟你差不多经验,他也会紧张,有时提问题也比较模糊。因此,在面试中,面试者没搞清楚面试官问题的意图,又急着回答,最终导致双方没能互相了解。这样往往影响到公司对面试者的评价。

那么我们如何才能在面试中发挥正常水平?

笔者希望你从以下几方面入手,来应对面试中各种场景:

1.构造自己的知识框架;
2.搞清楚求职意向;
3.搞清楚面试问题;
4.自信地回答每个问题;
5.了解公司和员工。


1.构造自己的知识框架

学习新技术,实践中累积经验,永远是程序员最基本、最重要的事情。而且,技术面试官最关心的也是你的技术、经验如何。然而,面试官关注哪些技术点,你未必会清楚,特别对于毕业生来说。

当然,每家公司的产品不同,对技术的要求也不同,每个面试官对技术点侧重点也因人而异。有些公司做直播、美图、视频剪切,很可能要求面试者具备 音视频及图片处理的经验;有些公司做理财产品,要求熟悉NDK....

尽管如此,业界对某个技术岗位的技术图谱,还是有一定共识的。我接下来给大家讲讲,我们公司及我个人对不同工作年限的面试者,有怎样的要求。

毕业生

当年求职经历

想当年大四(2013),跟同学一起去宣讲会各种笔试,去各种招聘会投简历。在广州大学城,哪里有笔试,哪里就有我们学校的人。以笔者这智商,算法题是做不过别人,而大公司们都考这些,用代码写个堆栈、链表等。笔者几次面试机会,都是100人以内的公司。

笔者第一份offer的,是在珠江新城一家起步不久的电商公司,技术团队20~30人(包括产品)。当年面试android,只要把ListView ViewHolder、四大组件、Handler、Java多线程、HashMap与HashTable、StringBuilder与String等说得头头是道,小型公司(10~50人)基本就能进;而50~100人规模的公司,还要看看人品。规模再大一点的公司,就要看看学校了,211工程学校优势很大,当然笔者同学也有去腾讯、迅雷、4399、YY这些公司,但相对少。

大四刚开始的两三个月找工作比较难,都是大公司在抢人,注意是抢211和简历有实践经验的人。如果你简历没有跟导师做过项目,也没实习过,只有那“学生管理系统”,成绩也不是名列前茅,那就当去宣讲会见识见识吧。笔者建议你把重心放在大型招聘会,甚至是网投,目标是一些中小企业

在11月前找不到工作,不用气馁,12月份还是有工作机会的,当然也要看就业形势。

如今

为什么笔者花不少篇幅写当年就业情况?因为现在搞android的人越来越多,还有各种培训班,还有各种技术咨询可以参考,如今对毕业生的要求已不同当年了。

就今年这形势,笔者公司是不招毕业生的。所以,笔者只能从个人角度说说对毕业生的技术要求。

首先,Java基础一定要好,多线程、线程锁、队列、堆栈、链表等数据结构必须懂,什么时候用什么数据结构,设计模式能说上几个。其次,四大组件逃不掉,自从Google出了RecyclerView,对ListView就不太要求了,Handler会用就好。第三,会用几个流行开源库,网络请求retrofit、okhttp、volley等至少会用一个,图片处理Glide、Fresco、Picasso等至少会一个,数据库GreenDAO、ORMLite等至少会一个(笔者还是钟情与AFinal、XUtils这两款)。

笔者对java基础、数据结构、设计模式尤其看重,因为这些是基本功,所谓“基础不牢、地动山摇”。会使用四大组件、网络图片数据库开源库,能满足日常开发就OK了。

1-3年

如果是1年经验,多线程、设计模式、数据结构还是需要在面试时提问的;四大组件、RecyclerView、handler简单用法就不问了;开源库使用会问,而且需要讲讲上家公司使用情况。

2到3年经验,java基础就不问了,会更着重问开源库使用情况,笔者要求面试者读过某些开源库源码,butterknife应该熟悉,对于各种数据源,如何选用合适的持久化方式,最好会写SQLite,而不是会用开源库就了事。这时候面试官更多地问工作经历,而不会抠代码细节。

对于这个阶段的工程师,面试官很可能会问平时关注什么技术公众号、简书、掘金等,用不用Google搜索(千万别说用百度,用Bing也好)。

3-5年

这阶段面试官主要问工作经历,在团队做了什么,如何跟产品、设计沟通,上一家公司开发流程是怎样。开源库使用情况会顺带问一下,不抠细节。代码风格方面,会不会MVP、MVVM等。

笔者对4、5年经验面试者,更看重平时的学习和开发习惯,必须固定从某个渠道获取技术咨询,最好写技术笔记,用什么翻墙,会不会写单元测试,有没搞过插件化、组件化,有没用intelliJ写demo的习惯、懂不懂一点后端技术....

top Created with Sketch.