Android开发Android开发经验谈Android知识

给扔物线 HenCoder Plus 学员的一次分享文字版

2018-11-19  本文已影响33人  nanchen2251

半个月前,和我的终极技术目标扔物线朱凯一拍即合,到了他所开展的 HenCoder Plus 课程给大家分享了 1 个多小时的「模拟面试」心得,也顺便听了几次凯哥的课程,感觉真的挺用心的。自己也希望能一直不忘初心,在技术领域像凯哥一样,认真并且锲而不舍。准备了许久,主要是为了做这一次分享。

自己下来其实看了好几遍自己的录屏,觉得还是有必要做一篇文字版的分享给大家,还要有一位童鞋能够从中得到收获,那也是不枉费我手打了接近 3 万字的分享。很多思想都受着去年 Android 巴士成都交流会另外一位讲师 Even 的影响,所以说,你的圈子,真的会潜移默化地影响你。

下面是正文:

我先自我介绍一下,我叫刘世麟,在网上呢,我的名字是南尘或者说,是南尘2251。

在找工作之前,我们总会经历写简历,准备面试知识,再到面试的过程。但我们总会发现,即使我们准备许久,感觉自我良好。但在面试的时候,却总感觉使出浑身解数也无济于事。实际上,我们的面试是需要实战的,我们刷再多的题,不实战也是无济于事。然而,我们通常面试一次,算上花在路上的时间,我们至少得要好几个小时。最重要的是,这个时间还基本都是花在了工作日上。

此外,我们即使花上几个小时,面完之后却会发现,我们能得到的有价值的东西却需要深挖细掘才能形成精华。我们很难得到面试官对自己真正的反馈,大多数情况下被拒绝的时候面试官给的原因都极其委婉。

为了解决这样尴尬的窘境,我在去年11月在公众号上推出了「模拟面试」这项活动。用工作之余的时间帮助那些真正渴望希望面试却又不希望浪费工作时间的读者。

在为期 4 个多月的活动中,我面试了 118 位读者,其中包括小米、硅谷、美团的一些在职员工。在活动中,我与他们共同成长,一起进步,从自我介绍,到面试过程,再到面试反馈。读者从我这里得到了有价值的评价,我从读者那里得到了非常有价值的数据反馈。

我只是抱着一种尝试的态度,希望小范围进行,但没想到有这种情况的读者极多,我采取的排队机制已经完全不能让读者得到及时反馈了,加上我自己的时间分配问题,我很快就停止了这项活动。

虽然做的时间不长,但却非常有意义,所以,今天,我和凯哥一拍即合,来到了这里,给大家做一下分享。我并不是什么面霸,也不是什么大佬,仅仅是凯哥的迷弟而已。

周三呢,我跟着大家一起听了课,我发现听课的同学不少我认识的哈,还有在我这里进行过模拟面试的人,不得不说呀,做 Android 的人很多,但圈子里面上进的人,转来转去还是这些人。

下面,我给大家简单地分享一下我做这个活动后的一些心得。在分享之前呢,我想先送大家一句话:你能否通过面试往往不是靠技术,但你能否拿高工资绝对是靠技术。我们的求职面试,决定因素确实不是只靠技术,你的简历、面试表现,通通都会影响着你的评级。

几个月的「模拟面试」下来,我发现大家的问题五花八门,总结下来就是这四个问题:

我先说一下简历呀。虽然我只面了 118 位读者,但收到的简历却远不止这点,对于明显抱着来尝试浪费其他人时间的,我从来都是直接打回去的。但我面试的人中,简历写的足够让我满意的人,也是凤毛麟角。大多数人的简历都是写的非常的乱,连基本的排版整洁都谈不上。

简历的本质

我经常会收到来自读者的同一个问题,「南尘呀,你能不能给我一个好的简历的模板?」

这个问题让我十分为难,如果我说「其实不存在好与不好的模板,主要看气质」。你可能会很失望,觉得我可能在浪费你的时间。如果我说有,并且挑了一份我认为还不错的模板给你,可能你也会很失望,会怀疑,好的简历模板是这个样子的吗?

这就好比凯哥在上海开发者大会上讲的一样,「图片上传怎么做,你服务器怎么给你要求的你就怎么上传呀」。

实际上我们并没有逗你,要得到一个「好」的简历模板,其实并不困难,而且根本就不需要向别人要。你只需要问一下自己,什么是「好」,并把「好」这个很缥缈的词量化出来,你的简历就是好简历。

不过,在你量化「好」这个词之前,我们需要先解决一个问题:「简历的本质是什么?」

可能每个人的理解并不一定相同,不过这并不是很重要。如果你有不同于我的思考,那也不代表你和我之间有一个人是错的,我们暂时可以这么认为:绚丽或者简约的模板其实都不是简历的本质。

简历的本质只有一个:向别人说明清楚你是谁,你擅长做什么。

你可能会发现,其实这两个问题都是同一个问题:你的定位是怎样的?

如何对自己进行更好的定位

如果你真正把问题定位好了,其实解决问题并不难。然而,难就难在对自己进行定位往往很难做到精准,正如苏轼的名句:「不识庐山真面目,只缘身在此山中」。

即然是定位,那么,我们用生活中的一个例子来说明吧。你的手机上的 GPS 定位是怎么做到「精准」定位的?

不是靠手机自身就行的吧,它需要通过在天上的至少 4 颗卫星才能精确定位自己的空间位置。也就是一个简单的道理:

你要定位自己,是需要别人来做参照物的。

那么如果你是应届毕业生,你需要在简历中和你的参照物(基本上是和你同一届毕业的人)做个对比较。如果你已工作多年,那么和同样工作几年的人或者应届毕业生,你也需要和他们做一个比较。

其实,你也可以从另一个角度理解,要定位自己,也可以参考一下别人眼中的自己是怎么样的,别人往往更能发现你的优点和缺点,而且一般比你自己评估的要准确。

此外,你还可以用事物来做参照。比如为了表达你擅长 Android 视频直播技术,很多人喜欢直接在简历上加上一个「自我评价」,然后写上「我擅长 Android 视频直播技术」,你觉得是个什么效果呢?像不像一个人说他很幽默,但别人和他聊天从来没笑过?

比较好的表达一个人幽默的方法应该是直接说段子,那么表达一个人擅长某个技术的方法呢?「段子」留给大家自己去写吧。

简历的加分项和减分项

在面试后和他们分享,我才知道,他们其实并不是说没有认真去做,而是确实不知道简历上到底应该放哪些东西,或者说编写的顺序是怎样的,大多数人都是直接使用比如拉勾网呀、BOSS 直聘呀,这些招聘网站的模板来编写的。这就会导致,我们的简历上出现了一大堆没有任何价值,别人也不关心的东西。所以,我在这里再次申明呀:千万不要去用招聘网站的模板来做你的简历。

有哪些好一点的简历加分项呢?

不知道怎么写项目经历

从简历上来看,大家还有一个常见的问题是,对于项目经历,写的非常粗糙,大多数人都是写的:「我用了什么第三方库,实现了什么功能。」「我在项目中,使用什么技术,做了什么什么。」甚至是,一个项目下来,三句话就被完全介绍完了。对于这点,我还专门咨询了我们的 HR,他们对于这种技术简历,会怎么处理。我得到的回答是:「除非是非常厉害的公司或者项目,不然都会直接 Pass 的。」

那到底怎么写项目经历呢?在网上,盛传着一种法则:STAR (Situation Task Action Result)法则。

前面说了,在编写项目经历上,大多数人写的真的非常粗糙,基本都是使用了什么技术,什么库。甚至有人仅仅只是用过,也写了一个「精通」,实际上这是非常不好的,即使拿到了面试资格,也很容易在面试中翻车。因为大多数面试官面试的策略都分两步:

所以,简历上出现的内容,一定要是自己能答上的,仅仅是使用过的东西,不要写在最前面。

到底写不写自我评价?

还有一个比较受争议的问题,就是到底写不写自我评价。可能是受招聘网站模板简历的影响,我发现 80% 的面试者都写了这一栏。其实无可厚非,但大多数人直接放在第二个位置,我很好奇这样做的缘由。最重要的是,深入一看,内容居然都是一些乱七八糟,面试官并不关心的内容。

先给大家截取一个反面教材:

当我看到这个自我评价的时候,就觉得比较冠冕堂皇,可能面试者确实就是这么好的人,但是,从何取证呢?所以建议大家不要在简历中写一堆废话,简历就是求职的敲门砖,不要把没有价值的东西放在上面。

正确的关注点应该是:

上面并不是模板,只是着重的一些点。好的自我评价应该写清楚自己的定位和方向,以及平时自己的一些生活和习惯。非科班出身的通常会被打上算法不够出众的标签,但我们完全可以从其他方面表现自己的优势。

简历总结

总的来说,简历就是求职的敲门砖。

面试

说完了简历,我们再来谈谈面试。无数次面试让我深刻的明白一个道理:作为程序员,我们的能力都是建立在技术基础上的,技术不达标,其他的能力会显得很缥缈。但决定我们是否通过面试,除了我们得有足够的技术能力以外,还得有不错的表达和沟通能力。

我进行了 118 次模拟面试,却发现了一个非常尴尬的结论,那就是:没有人会做自我介绍。

基本总结下来大家的自我介绍是这样的:

重点我「模拟面试」的方式仅仅是通过微信语音,还没有现场的氛围压抑感,我难以想象要是在现场面试他们会发挥成怎样。我一度以为他们是表达能力不行,或者说是怯场紧张,所以我一直在调整面试气氛。但到讲技术的时候,我发现他们的问题并不是出在表达能力。

如何自我介绍

必须要说一下自我介绍啊。任何的面试,都会有自我介绍这个环节,这是大家给面试官的第一印象,真的非常重要。一个好的自我介绍,能改善面试气氛,让自己接下来发挥更好,面试官也面试得更爽。

那我们自我介绍应该说什么呢?我建议大家说自己的亮点闪光点,这些东西最好是简历上亮点的详细介绍,时间控制在一分钟左右,再重复一遍:不要背简历!!!

我先给大家来个范例哈,注意一下,这是没有什么技术闪光点的自我介绍。

面试官您好,我是刘世麟,非常荣幸能参加贵公司的面试,下面我简单介绍一下我的个人情况:我从实习到现在一直在 XX 公司工作,从事 Android 开发,凭借良好的工作能力和沟通能力,连续两年蝉联「优秀员工」称号,在今年初被公司内聘为技术总监助理,协助技术总监开展部门管理和项目推动工作。在工作之外,我喜欢编写技术博客和在 GitHub 上贡献开源代码,目前在 GitHub 上总共拥有 7k 左右的 Star,数篇技术博客也有数十万阅读。我非常地热爱移动开发,早已久仰贵团队对技术的看重,所以希望今天自己面试有好的表现,未来能有幸与您共事。

很简单的一个自我介绍,这些内容在简历上都很少提及,其中,我抓住要点,强调了我自己的工作能力和沟通能力。蝉联优秀员工,被内聘为技术总监助理,都说明了自己在工作中的优异表现。在技术博客和 GitHub 上的表现,说面了我的软实力比较强,非常地热爱学习, 通过数字性的展示,让面试官有了一个比较直观的良好感受。

大家在面试之前都可以在笔记本上面写下来,然后自己对着墙壁,模拟介绍几次,这样下来你在面试中进行自我介绍的时候往往就能够得心应手。

技术面试

在自我介绍之后,一般都会开始进行技术面试,基本上你的技术等级都会在技术面试环节敲定。那面试官如何在短时间内判断你的技术等级呢?

这里先借用凯哥之前在知乎上的一个回答,我觉得非常有意思。

image

从这里,我想大家已经可以得到结论啦。通常面试官在开始面试的时候,都会针对你的简历对你进行大概的判断。因为每个人的经历不同,擅长的方向也是千差万别,所以都不会紧抓自己擅长的方向问,而会选择对你简历上提及的内容进行挖掘。

比如你说你擅长使用 RecyclerView,那你知道如何处理 RecyclerView 的嵌套滚动么?那你知道如何处理 ViewPager 和 RecyclerView 嵌套的时候出现的焦点问题么?假设检查 RecyclerView 各种设置没问题后,数据却展示不出来,你能猜想哪些原因么?假设只能用一个 RecyclerView,不用分 Type,让你实现一个复杂布局,你能想到一些方法或思路么?

我们经常会在面试前刷很多的面试题,准备很久,但我们真正到面试的时候,却总是被面试官虐的体无完肤。这说明了一个问题,我们平时准备的东西,平时如果没有深入理解的,是很难在面试中正常发挥的,所以,这还需要一个沉淀的过程。所以大家参加 HenCoder Plus 跟着凯哥搞清楚细节,是非常有价值的。

一些的情况说明一个结论:细节 => 技术

但我想说,应该是 细节 + 深度 => 技术。

前面我们有说到,在简历上我们可以使用 STAR 法则编写我们的履历。实际上,我们在编写简历的时候,就已经可以思考自己面试中可能被问到的问题啦。呈现在简历上的是遵循 STAR 法则的精简版内容,实际上面试中,我们给到的应该是详细版。不过我认为在面试中应该是 START 法则,我在后面加了一个 T,这个 T 是什么呢?Thinking。

不会总结的程序员不是好程序员,大家知道,我在工作之余写了不少 Blog,实际上就是一个总结的过程,我认为这样的方式,让我成长非常迅速。实际上,我们在面试中完全可以展现自己的总结能力,让面试官看到自己的亮点。

我们来看看面试中,我们如何利用好 START 法则。

简历之外的技术面试

除了上面提及的,面试官会对简历上进行深挖细掘以外,通常面试官还会问一些其他的。比如对于中级和初级工程师,一般会问一些 Java 基础和 Android 基础,比如什么 HashMap 的内部结构,Hash 碰撞处理方式呀,还有 JVM 类加载过程呀,垃圾回收算法呀,启动模式呀,Handler 原理呀,Android 的事件分发机制呀,Activity 的生命周期呀等等。这些问题好像网上都已经司空见惯,很多人都选择了直接去背诵面试题答案。

我是非常不赞同背诵答案这种做法的,人的记忆本来就是有限的,你的脑袋就只能装这么多,况且网上的博客基本出处都差不多,很多博客并没有深入到细节里面。现在的面试官也越来越聪明,知道如何辨别面试者是真会还是假会。

比如上面的 Activity 生命周期,可能网上都会写,额是,onCreate() => onStart() => onResume() => onPause() => onStop() => onDestory()。但实际上,背的了这个流程,不一定能灵活应用起来。比如面试官问到,锁屏会依次调用哪些生命周期,面试者不一定知道。有些 Blog 可能写的比较仔细,会给大家列上一个表,展示这些可能的问题,比如 锁屏是 onPause() => onStop(),Activity 从不可见到可见的调用方法是 onStart(),onStop() 是完全不可见的时候调用,所以自然而然调起 Dialog 的时候走的生命周期是 onPause() 而不是 onStop()。甚至有的 Blog 直接教大家背诵。完整生存期是 onCreate() 一直走到 onDestroy(),可见生存期是 onStart() 到 onStop(),前台生存期是 onPause() 到 onPause()。

可能这样的问题早已经被大家司空见惯,但实际上,面试官早就不会这样直接问了。基本采用的方式是给你一个场景,看你能否正确的处理,比如 Activity A启动 Activity B 后,A 真的一定会调用 onStop() 么?毕竟我们平时做需求,也是用自己已有的知识组织起来解决需求的。

如何准备面试

说了这么多面试技巧,那我们还得有个非常重要的过程:准备面试,大多数人会选择去看各种面经,刷各种面试题。虽然这样确实会有一定的作用,但我认为是低效的。首先,大多数的面经,都没有一个深入讲解的答案。第二,刷的题,大多数和求职公司的面试不匹配。目前看来,只有刷算法题在应对算法类面试的时候成功率较高,基本应用类面试,作用都微乎其微。

这就让我们必须谈到了另外一个话题:如何准备面试?

经过我多次试验发现,技术面试的面试官问的知识,80% 会来自于你的简历,所以你至少提前除了准备自我介绍,还应该认真针对简历上的每个技术点,思考一下可能出现的面试题,并想一想如何去应对它。

除了一些特别基础的机制原理问题,比如 Activity 的生命周期呀、Handler 机制等,其他问题都是允许面试者答错的。其实面试官并不会奢望你能够完整无缺地答好每一个知识点,有时候判断一个面试者是否适合面试官所在公司提供的开发岗位,往往看的是面试者在回答问题中体现出来的「编码之外的能力」。所以,不要想着背诵面试题和知识点,那样无疑是低效的,并且这样得来的知识,你以后也基本不可能用到。

此外,针对不一样的工作岗位,准备的面试内容也不应该一样。相较于中小型企业,大厂会问的知识面更广,比如会问不少的算法和计算机网络等基础知识,而一般的中小型企业却对这块不那么看重,他们更期望的是能迅速上手的人。也就是说,他们需求的并不是一个技术多么厉害的人,而是一个合适的人。对于初级和中级工程师,面试官会更看重基础知识,对于高级甚至资深工程师,会对多线程编程,自定义View,架构能力,产品观有更高的要求。

其实「二八原则」在好多地方都发挥着作用,在 Android 开发中,我认为也是一样的。作为一个 Android 开发,你也许只会用到 Android 开发知识的 20%,另外的 80% 你其实学了也不一定会用。

而面试官其实也一样,他有可能也只掌握了 20% 的知识,而且一个面试也不会有足够多的时间给你展示你全部的知识,而往往只会注意开发中最常遇到的 20%。但大体上来说,这 20% 比较重要的知识点,一般都是大家需要重视和答对的。我之前在公众号上写了一个面试专题,现在在公众号底部也还有一个导航。虽然后面夭折了,但写的内容基本都是每一位 Android 开发都需要重视和答对的。

俗话说「英雄不问出处」,前提很明显了你得是「英雄」。如果别人不知道你是「英雄」,那么势必会通过你的学历、公司和项目经验来判断你是否合适。毕业的学校和任职过的公司,包括你跳槽的频繁度等都会对你的评分有一定的影响。

但其实最重要做判断的根据还是你的项目经验。所以对于你从事过的项目及你在这些项目中的职责和作用,你应该有一个清晰的描叙。

对于项目经验丰富但是项目的类型单一的人,如项目中清一色的「资讯」类应用,那么你应该表现你具备独立开发和处理各方面问题的能力,而且最好在平时你就要有意识的避免进入到这种境地当中。对于「一个经验用十年」的人,面试官其实也很难分辨出他在其他的方面是否也能做得一样好,如果你不能在公司层面避免陷入到这种情况,那么你还是应该尝试同一个项目中的不同方面,或者自己做一些和当前公司不相关的项目、开源库等。

但其实有很多人的问题在于,项目经验并不丰富,而且有些人工作了很多年,但有可能其中的几年都在维护一个项目,简历上往往用一句话就把这几年的事情说完了。但我认为,并不是我们在这几年中没有做什么有价值的事,而是我们没有把这些事情记录和总结,并做一个深入的思考和扩展。想想吧,总会有的,把事情想到了还要对这个主题做一下扩展,你总结出来的东西才更有深意。

对于面试者来说,往往觉得面试就是回答对面试官的问题,但从面试官的角度来看,面试其实就是要做一件事情:「如何区分面试者」。简单的说,就是把你和面试官面过的(或即将面试的)的人区分开来,并给你打上几个签标,简单点可以是「不错」、「合适」、「犹豫」、「肯定不行」。复杂点的,可能会把你的某些能力列出来,比如学习能力强、协作能力差,然后再和其他人放在一起综合考虑。每个项目都有不同的特点,所以每次的侧重能力考察也会不一样。

所以,有时候你通过了一家公司的面试,也不需要太得意了,可能并不是你有多厉害,仅仅只是你正好是这个时间段里性价比较高的那个。当然,如果你被淘汰了,也不需要妄自菲薄,也许只是因为在这个时间段有个比你更高性价比的人也来这家公司面试了。

如何准备与 HR 的面试

HR 通常会问你一些离职原因和职业规划,对于离职原因的阐述,我想大家应该都很清楚了,不要否认老东家的价值,不要否认老东家的价值,可以结合现在面试公司来说出自己的展望。比如我之前面试美团的时候,我是这样回答的,因为美团是一个非常重视移动端业务的互联网平台,而我之前公司由于公司战略的变化,现在业务像提供服务转型而弱化了移动端,作为一个深爱着移动互联网的人,我渴望加入美团这样的团队。

而除了说离职原因,我们还极可能遇到的诸如「说说你的优缺点」、「你最擅长什么」、「你在项目提供的最有价值的作用是什么」等等这类问题。这类问题在我前不久的面试中,其实技术面都会提到。其实,反过来看就很简单了,这些问题归根到底就是「你和别人的区别在哪里」。面试官的任务是要把你和别人做区别,你自己也需要把自己和别人做区别,回答「不知道、好像没什么这样的话,其本上会给减分。

我遇到过最难的「吹牛」面试题就是:

说说你和其他程序员相比你更出色的地方,为什么我们要录用你?

这是我遇到过的最难的面试题,哲学家苏格拉底说过:「人最难的就是认识自己」。这句话一点都不假,我们可能经常会惯性地觉得自己比其他程序员厉害,但真要说厉害在哪里,这真难说出来。每个人都有和别人不一样的地方,在面试前一定要想想一些正面的积极的地方,然后自己总结一下,最好给你周围的同事、朋友说一下,看他们是否认同你的看法。最后你会发现给别人说事情时,最好的方式是说一些案例故事,虽然你要说的可能只是一个简单的点(比如你抗压能力强),但你也可以用讲故事的方式讲出来(在某次事件中你在怎样的压力下完成工作的)。

如何准备和 BOSS 的面试

在我进行模拟面试中,我清晰地记得我有一位读者,在一天晚上 11 点过,慌乱地找到我,希望我能给他做一下模拟面试,因为第二天他就要和自己心仪已久公司的 CEO 进行终面。这位小伙伴已经经过了三轮技术面和 HR 面了,而且是自己非常渴望加入的公司,所以也是慌得不行。我强忍睡意,和他进行了模拟面试,额,严格意义上说,这只能算一次交流。

我简单了解了下他的情况,他的音视频开发经验非常丰富,而自己渴望加入的公司也是微视频领域的。所以我认为他没什么好担心的,经过了整整 3 轮的技术面试,说明他的技术实力已经得到了公司的认可,BOSS 面最多只是随便聊聊,谈谈「人生和理想」。

大家切不可小看这个「随便聊聊」,这个「聊聊」可以很容易看出你的思维能力和对事物的看法,而且这些方面是你短期很难改变的特质。

他应聘的职位只是高级开发工程师,并不是管理和技术负责人的角色,对方并不会太在意他的管理能力和领导能力,所以后面的面试大可轻松应对,但还是要简单准备一下,了解下公司情况,态度上不卑不亢。

如何和 HR 谈薪资

中国人都很喜欢打听别人的收入,收入对于我们这个社会传统来说并不算隐私,但是对本公司或者同行业的人我一般都会选择隐瞒。HR 或者公司的制度都会明文规定不许在公司内打听员工的工资和奖金,为什么呢?大家心知肚明,别人比自己低了,别人难过;别人比咱高了,自己得难过吧。人都会认为自己的能力高于平均水平,对公司的贡献肯定比身边的某某多,但一但得知对方的工资比自己高,那就容易打破自己的心理平衡。

身体不平衡容易生病,心理不平衡容易出事。

所以薪资这个东西一直以来都是一个敏感话题。在讲这个之前,我想先提醒大家,选择工作的时候一定不要只看薪资福利,而应该看重更加长远的价值。

前段时间,我也经历了找工作,一共面了 4 个公司吧, 拿到了 3 个 offer,但我最后就选择了薪资最低的公司,尽管薪资第一的公司一年可以多不少收入。直到现在,我一点都不后悔。因为我看中的是同事们的学习能力和提升,现在的公司每隔一周都会又一次技术分享,分享的内容,经常都让我瞠目结舌。

好像扯远啦,我们终究还是绕不开和 HR 谈薪资的过程,我们总是期望着在加入自己心仪公司的前提下,还可以摇到尽可能高的薪资。下面结合我的经验给大家几点建议:

你还有什么想问的?

经常遇到这样的面试官,当他吧唧吧唧问完你问题后,突然就停下了,但感觉又意犹未尽,所以往往会把对话的主动权交给你,让你来提问。

我的问题问完了,你有什么要问的吗?

可能这时对于你,“要问”还是“不要问”是个问题。如果要问,那么要问什么样的问题呢?只要你不是太傻太天真,你的内心会坚信面试其实还没结束,并不是什么问题都合适问的,如奖金、加班费这些你特别关心的。

面试官的这个问题,是有意问的一种开放性问题,以此来了解你这个人的关注点;还是仅仅是因为面试确实无问题可问了,但又不想太直接结束面试,所以就顺便问问?

这真的是个问题。

不过我们不一定非要去揣测面试官的用意,我们回到自身的需要。

如果你也没什么问题想问,那么可以委婉的告诉面试官自己没什么问题要问。

如:「通过一些朋友和渠道,其实我对贵公司的一些文化和愿景都还比较了解,所以我暂时也没有什么想问的,我也很希望能加入到这样一个环境中。」

那问什么呢?

如果要问,那问题就多了。

“项目常加班吗?有加班费吗?”
“有出国旅游吗?”
“在这个团队中的个人提升空间怎样?”
......

其实,并不是说上面的这些问题不好,或者不能问。只是,我们问题之前应该思考一下,问什么样的问题即可以了解到想要的信息,又是眼前这个面试官最合适回答的。即我们要让这个问题问出去后的对话能成为有效的沟通,而且这个问题是我们关注的,并且这个问题是对方比较有发言权的。

如关于加班费的问题,其实你问 HR 或者在里面上班的朋友会更清楚些。

技术面试官
在提出问题前,我们要先看一下现在这个面试官是处在公司的什么位置。如果他也是一个开发人员,在对你做技术面试,那不妨聊聊团队的一些技术栈方面的问题。

如:“你们的团队在采用敏捷开发的方式吗?”
然后和面试官聊聊敏捷,分享一些各自的经验,方便双方进一步的了解。

并不是所有的公司都会用敏捷,那我们可以问一些更开放性的问题,如:「在你们的项目中遇到技术障碍了,公司有什么机制去应对吗?」可以就此看看这个公司是否重视技术,有没有一些技术提升和交流的传统。

管理类面试官
如果面试官是管理职位的,那么可以问问团队组成;假设你能加入的话,会分配在哪个team,team中有没有带你的人或让你得到进步的模式;或者了解一下他对团队目前状态的看法,是否有什么变化他想引入团队或组织的。

也就是向管理类面试官提问,你可以问一些对团队现状和未来预期(目标)相关的一些问题,这些问题会让你提前知道,进入这家公司后你应该往哪个方向去努力。

HR
公司文化什么的 HR 一般会主动向你介绍,薪酬和福利不清楚的地方也可以继续沟通。

简单说,问自己需想要得到答案的问题,而且要针对不同的面试官问对方比较“擅长”回答的问题。

管理者:问战略
技术人员:问战术
HR 行政人员:问后勤

离面试不到 24 小时,怎么办?

大多数面试一般都会有 3 天以上的时间让我们准备,不过我们时常还是会遇到临时安排的面试,给你准备的时间不足 24 个小时,让人措手不及,这个时候我们该准备些什么呢?当然,有些同学可能是从有很多天时间拖延到只剩一天,才下定决心要准备一下。

那假如我们就只剩下一天的时间了,怎么办?不少小伙伴呀,会越来越慌,越来越慌,不断地去看一些其他的面试点,生怕哪一个点没有看到。最后呢,在面试的时候,发现自己全都忘光啦,而且在面试的时候,发现自己前面没答好,极容易影响自己后面的发挥,对吧。

其实时间越近啦,反而我们不应该再去看一些新的面试知识,放平心态,不需要准备什么。

不需要准备什么?你可能会说,南尘,你在逗我?怎么可以平静到什么都不去准备呢?

确实还是需要准备一些东西。

那到底准备啥?

在最后一刻,请再看一遍自己投递给这家公司的简历,如实按简历上的回答,保证你的诚信。如果你的说法和简历上不相符,对你的影响是很大的。

总结

今天大概就讲到这样,我们来做个总结。首先是我们的简历总结。

针对简历

针对面试

没有技术深度的烦恼

当我们是初级工程师的时候,最希望的就是有丰富的项目经验,好把自己苍白干瘪的简历填的炫丽饱满。然而随着时间的积累,简历上的项目是挺「饱满」的了,但我们只看「外表」的行为造成了自己另一个困境:看似很资深,其实又没有做过什么有难度的事情,工作了十年可能只是 1 年的工作经验用了 9 次。

我之前就面过一位从 09 年开始就做 Android 的人,我算算啊,到现在应该是快干了 10 年了。光项目,简历上都写了 10 多个,整整 4 页的简历。我们抛开简历没有对项目经历进行精挑细选的毛病,我仔细阅读简历之后,发现简历中没有任何深入的地方。虽然写的很有技术,但却只是在使用 API 的程度而已,有些解决问题的方式很有技巧,但还不成体系。

这位读者待过 4 家公司,其中两家都是知名互联网企业。但假设我是公司的面试官,我可能会对他表示遗憾,心疼他没有选择更加深入的研究和拓展。

有知名互联网企业做背书,有将近 10 年的开发经验,但我总感觉还差了点什么。

假如我是公司的 Leader,我会觉得这样的一位面试者,当然会比一般的 Android 求职者技术更好,但性价比确实太低了。

没有技术深度是 Android 程序员的一种常态。因为很多工作,很多人从事的项目并不需要多少技术深度,即使你有深度,你也有可能发现用不上,对于大多数人,合乎理性的做法不是去追求技术深度,而是够用,能满足需求就可以了。

但转到个人的话就不一样了,在技术上你需要够用,但是在某方面上你需要有一定的深度,以突出你自己的学习理解和运用的能力,而且这个能力是要有成功案例来背书。

特别是当你成为一个资深的工程师的时候,很多公司并不希望你还是那样平庸,没有深度。虽然你会纳闷,我就算有深度你们也不一定用得上呀?然而到了这个级别的人需求量并不像初中级开发那么多,公司更理性和稳妥的做法是选择有深度的人,不是吗?

上一篇 下一篇

猜你喜欢

热点阅读