面试篇
本来面试篇是打算写技术面试题的,后来琢磨了一下,不同水平、岗位的程序员对面试题的要求不一样,众口难调。于是,决定写一些面试过程的基本常识,常见的问题怎么回答,还有一些你可能不知道的坑。
写到一半我就后悔了,越普适的越不好写。写太细了,大家看着啰嗦;写太粗了,又怕说不清楚,好难!
1 最基本的
基本常识里最基本的就是守时,面试这么重要的事情你都迟到,面试官怎么相信你能管理好时间?
另外就是注意基本礼貌,作为面试官我遇到过不少这种现象:我走进面试房间的时候,求职者坐在椅子上一动不动,连屁股都不抬一下。你是不是应该起身打个招呼?
还有,求职者多带几份打印好的简历,有备无患。特别是有时候一轮面试里,你会面对多个面试官,万一人多简历少,你带的简历就派上用场了。
以上这些是我面试中经常碰到的现象,所以提醒大家注意一下。至于衣着啥的,就不说了,绝大部分人都知道。
2 自我介绍
一般面试都有这个环节,好好准备,提前练习,别回答的时候支支吾吾,或者啰嗦半天说不出重点。
介绍的时候时间控制在 3 分钟以内,吐字清晰,至于内容可以参考简历里的自我评价,至少包括以下几部分:
-
我是谁——我叫 xxx,目前就职于京西公司,岗位是 Java 高级工程师。
-
我的技能——我从事 Java 开发已经 6 年了,有 3 年电商行业的开发经验,参与了京西公司海外电商项目,在项目中我主要负责 aa、bb 功能。
-
我最合适——之前听 HR 介绍,贵公司也要做海外电商,我觉得我的经验能用得上。而且我也希望能完整经历海外电商从零到一的过程,这对我来说也是一个挑战、一个成长的机会。
-
其他优点——我平时喜欢看技术书籍,最近在看《xxx》。
面试前几分钟的好印象非常重要,好好准备你的自我介绍吧。
3 别不懂装懂
面试中遇到没听过的名词、问题,别不懂装懂,你以为面试官傻吗,根本糊弄不过去,还不如诚实点说不懂。
如果你不甘心说不懂怎么办?
有一次我面试一个新人,我问你用过 git 吗,他想了想说没用过,然后让我给他介绍一下,介绍完之后,他说之前一直用 svn,说了说 svn 的操作。到此为止,我觉得他这个问题回答的还 ok。但是,这还没结束,他又问我 git 比 svn 好在哪。我简单说完之后,他说 git 听起来不错,之后会主动去尝试一下。
你看,一个难题就这么被化解了。我对他的回答很满意,后面的面试过程也很顺利,最终录取了他。
下面给大家说说经常被问到的问题。
4 为什么从 xx 公司离职
离职原因这个问题,几乎 100% 会被问到。
被问了之后,不要抱怨前公司、前领导,不管你经历了啥,不管你有多少委屈都不要吐槽,面试官没法给你评理,只会担心将来你是不是也会这么说他,惹不起惹不起。
也不要说因为薪资低,对方会怀疑你的稳定性和对公司的忠诚度。
被裁员这个原因,最好也别说,大面积裁员还好解释,否则为什么裁你不裁别人?
合理的答案,例如:想去更大的公司发展;公司方向调整,和个人的发展方向不符;公司把研发部门迁到其他城市。
5 能接受加班吗
遇到这个问题,有些人毫不犹豫说“能”,好像这么回答会证明自己能吃苦、不怕累。如果问“能以公司为家吗”,估计也会有人说“能”。我表示服气!
你应该先问一下公司加班的时长和频率,如果工作需要的合理加班,当然可以接受。如果公司以加班为荣,为了加班而加班,你为啥要接受?
当然,我承认,现在互联网公司普遍加班。如果这家公司你非常想去,这家也有加班文化,看在钱、或者镀金的份上,从就从了吧。
6 你的缺点是什么
首先说明这是一个坑问题,这个问题我是不会问的。
回答的时候,不用把优点包装成缺点,例如“我的缺点是追求极致,经常用业余时间把工作力争做到最好”,太假了,你这抖机灵以为面试官是白痴吗。
更不要说不利面试通过的缺点,例如你说“我比较闷,不擅长和人沟通”,嗯,我看出来了,你确实不擅长沟通。
我告诉你怎么回答:
-
说对方知道的缺点——如果你是个工作 5 年的工程师,可以这么说“自己的开发经验还可以,但是产品思维还不够,有待加强”。这样回答不会被扣分。
-
说正在克服的缺点——例如“我刚毕业一年,技术还比较弱,但是我正在网上学技术课程”。
7 你有职业规划吗
这个问题我经常问,但是大部分人都回答不好。
我问这个问题就俩目的:
一、你想成长为什么样的人?是成为一个架构师,或者是一个技术管理者,又或者是一个行业专家……如果这个目标不清晰,你是在为了什么而努力呢。如果你觉得将来太久远,现在想不明白,好,没问题,三年之后的目标总可以吧。
二、万一有缘我们成了同事,作为你的上级,我清楚你的目标之后,我乐意在工作上给你提供点机会帮你实现目标。你能成长,我也开心啊。
不为了面试,为了自己,也建议大家认真想想这个问题,想的时候要结合自己的兴趣和特长。
8 你有什么想问的吗
首先恭喜你,如果被问到这个问题,你这轮面试基本有戏了。
“没有想问的了”,这种回答,差评!
面试是双向选择,除了公司选择你,你也要选择公司。之前别人把你都了解透了,你还不借这个机会赶紧问问公司的情况,省的你将来入职之后再后悔。
怎么问也是有讲究的:
-
薪酬福利不要问太细——毕竟你还没得到这份工作,你说你打听饭补多少钱合适吗?“一年十几薪”这类可以问,大钱得关注一下。
-
能在网上查到的不要问——兄弟,你来面试之前,不做准备工作吗?
-
对方回答不了的不要问——曾经一个面试者,问我公司的战略是啥,我竟无言以对,都是我的错,我职位太低。
-
可以问问工作内容、有没有培训等等这种是你看重的问题,同时也显得你对这份工作有兴趣。
-
我目前听说过的一个 nb 的问题,是这么问的“你们为什么喜欢在这工作?”,真是个好问题,你细品一下。
接着说说面试中的你要防备的坑,看起来是让你面试,实际上心怀鬼胎。
9 面试是骗你帮他们解决问题
说一个网上的段子:
某公司的数据库忽然坏了,公司没人能搞得定,老板很着急,把 HR 叫到办公室说:你赶紧发布一个 DBA 职位,年薪 100 万。面试的时候就问他们怎么恢复我们的数据库,另外,切记,不管他能不能答出来,都把他拒了!
虽然是个段子,但是现实中真有类似的事。面试过程中就问一个问题,问的特别细,除了问你的解决思路,恨不得直接让你现场操作了。
还有的面试直接让你做一个东西,你花了好几天做出来了,然后让你把代码也交出来,然后就没有然后了。
10 面试是为了从你口中套取机密
这个和上面那个套路差不多。
我当时做游戏的时候,经历过一次。面试刚开始还算正常,后面高潮就来了,问我日活用户数、收入流水、怎么买量的、买量成本、用户特征……
这种关键信息肯定不能说啊,我感觉不对劲,后来找个借口就溜了。
11 培训机构以招聘的名义变相招生
看一个网友的经历:
这种坑的普遍套路是:
1、发布大量招聘需求,且招聘的范围很广。
2、无论是本科、专科还是高中文凭,只要投递简历,均会通知参加面试。
3、面试时,会有一些人伪装成部门经理对你的技术进行打压,并指出你的众多不足。
4、洗脑让你参加“岗前培训”,并保证培训完立即上岗,培训花费从工资里扣。
5、签订“岗位培训合同”(实际上是报名协议,往往带有贷款协议!)。
6、在你一脸懵逼的情况下,报上了名,背上了债。
毕业生、想转行当程序员的,一定要小心这个。