Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

谈谈面试与面试题 II #8

Open
wintercn opened this issue Jul 7, 2015 · 3 comments
Open

谈谈面试与面试题 II #8

wintercn opened this issue Jul 7, 2015 · 3 comments

Comments

@wintercn
Copy link
Owner

wintercn commented Jul 7, 2015

声明:本文介绍的内容,不包含任何以伪造虚假信息为前提的技巧。

关于面试题

面试题往往是准备面试时最受追捧的东西。我这里却想提一个有点不可思议的观点:不要准备面试题。

“下水井盖为什么是圆的?”

“全世界有多少辆汽车?”

不知道有多少“微软面试题”,"google面试题"在网上到处流传。

其实恰恰反了,这些不着调的面试题,并不因为它是微软和google的面试题就变得高深莫测。之所以会有这样的题目出现,正是以其极度的不靠谱反衬了这些大公司对“过程比答案重要”的诠释,和对自己的面试官面试的把控能力的信心。

对于一个合格的面试官来说,问题只是话题的起点。所以精心准备的答案可能在面试官的一次追问后全盘崩溃,一开始支支吾吾的面试者,也可能在面试官逐渐的引导下展示出自己的能力。

我常常提一个观点,面试和考试不同,面试可能因为一个问题答得好而通过,也可能因为一个回答不好而通过。其实面试只有结果,没有分数。设想以下场景:

“能解释一下http协议中302这个状态码是什么吗?”,“我不记得了。” (0分)

“能解释一下http协议中302这个状态码是什么吗?”,“哦,记不清了,我只记得404是找不到页面,304是可以从缓存读取,5xx是服务端错误” (加分,了解一定http状态)

“能解释一下http协议中302这个状态码是什么吗?”,“啊,那个,应该是服务端错误吧?”(倾向于面试不通过,不了解的时候尝试猜测蒙混,这种特质对工作不利)

你看,同样的一个问题,同样是应聘者不知道问题的答案的情况,结果却大相径庭。

所以,面对面试题,过程重于结果,纠结于题目、准备答案是不会有任何意义的。

面试时该如何做呢?以下是我的几点建议:

  1. 厘清问题,必要时可以跟面试官沟通确认,避免误解,不但理解问题,还要同时思考面试官的意图
  2. 不急于开始回答,可以先分析问题,列举实际案例,争取思考时间
  3. 不限于回答问题,可以以对面试官意图的理解为基础,主动讲解相关知识,展示自己对相关领域的体系化思考
  4. 正面承认自己了解和不了解的东西,不敷衍,不猜测,有记不清的地方,可以正面要求面试官提示

以上四点,都是只有面试场景才能够使用的,这也是为什么我说“面试和考试不同”。

关于争论

技术相关岗位中,常常有这样的抱怨:“面试官技术比我弱怎么办?面试官跟我争论技术问题怎么办?”

通常情况下,面试官不应该也不会跟应聘者讨论技术问题本身,比如我,如果觉得应聘者回答错误,会尝试以追问的形式考查应聘者能否自圆其说,一些概念性错误,我则会追问其来源出处,直到对方无法回答。

当然,不怕一万,就怕万一,作为应聘者,万一遇到了这样的事情,而且面试官真的错了怎么办?

虽然面试官在这样的场景下天然强势,但其实也不是完全没有办法,有三点,至少可以缓解问题:

一、不要正面否定对方,尝试认同对方观点合理性,再从侧面反驳。

二、展示推理过程,从双方共同认可的观点出发,层层推理得出你的结论,在过程中,不断跟面试官讨论确认。

三、引述出处,使用专业词汇,使得面试官对你的观点天然产生敬畏,不敢草率否定。例如:

“说说为什么JavaScript是一门基于对象的语言而不是面向对象的语言?” “JavaScript明明就是面向对象啊?”(惨死,还是冤死)

“说说为什么JavaScript是一门基于对象的语言而不是面向对象的语言?” “哦,JavaScript的语言规范ECMA262的序章里面提到过JavaScript是面向对象的语言,而ECMA262名词解释里也提到了JavaScript是基于对象的语言。在它这个定义里面,面向对象是指以对象为主要抽象工具,描述逻辑,基于对象是指基础库和运行时设施,以对象为基础来设计。所以JavaScript既是面向对象,又是基于对象。JavaScript是基于对象的语言而不是面向对象这个说法我好像也听过,但是记不太清了,因为觉得语言规范比较权威嘛,呵呵”(说的有凭有据,又留足面子,至少得回去掂量一下……)

其实“不靠谱的面试官”很少出现,这样的突发情况并不是总能处理好,我们要尽最大努力,剩下的就凭运气了……

关于简历

一个人合适不合适,在面试前就决定了大半。一个简历看上去合格的应聘者,面试阶段可能只是确认简历上内容的真实性罢了。

有些应聘者,尤其是应届生特别容易受到各种传奇故事的感染,追求出位。其实简历只是信息的载体,不管它有多好看,不管你制作的多认真,最重要的还是它的内容。

所以,简历上最重要的是什么呢?各个岗位有所不同,下面是我对技术岗位的简历上比较看重的内容:

  • 工作履历,尤其是上一份工作,公司名是否听过,公司档次,如BAT、FLG,岗位
  • 教育经历,是否是top2 是否是国外名校,是否是985、211学校,是否有ACM竞赛获奖经历
  • 技术社区贡献,blog是否有深度内容,是否有稳定更新,github上有没有高质量开源项目
  • 项目经历,项目的规模,复杂程度,其中体现的
  • 个性化内容:技术视野,个人成长经历,个人研究内容,学习方法

写简历的时候,首先要明白,HR或者主管查看简历的时候,一般只会花费1分钟,于是有以下几点建议

  • 这其中次要信息越少,重要信息就越突出
  • 任何复杂的排版方式,都会加大阅读困难
  • 变色强调非常有用,可以突出重点,但是到处变色强调是灾难
  • 技能列表,精通和熟悉,这些内容价值不高,偶尔还会惹麻烦

应届生常犯的错误是使用网上的各种简历模板,然后拼凑内容。没有项目经历硬造项目经历,找一些亲友开的公司硬挂靠顾问甚至总裁助理职位,这些东西会阻碍面试官看到真正有价值的内容。

正确的写简历方式是用一张白纸,先写好必要的个人信息和联系方式,然后列出所有你觉得自己做过的有价值的事和拿到的荣誉,按照从重要到不重要依次排列,再做简单的分类组织。

然后,问题来了,对很多人来说,这个列表是空的?怎么办?

我的建议是,既然是空的,那就不写,请把经历放在个性化内容上,从技术视野,个人成长经历,个人研究内容,学习方法中,选择一项,深入谈谈你做过的努力,这些也有可能打动面试官,比硬性拼凑的内容强过百倍。

了解招聘方

了解每个企业的部门结构和招聘节奏,非常有利于拿到offer。咳咳,现在是广告时间:

阿里巴巴的校园招聘分为春秋两季,每一季招聘又分为提前批次、正式招聘和补招三部分。

提前批次招聘不论是否通过都不影响参加后续招聘,是阿里各部门独立运作的招聘阶段,可谓额外的福利,可以找阿里内部的师兄师姐帮忙推荐到想去的部门,注意这个时候是没法改部门的,如果你有明确意向,务必说明。

正式招聘是阿里集团统一的招聘,会到全国主要城市面试,需要先通过网上答题笔试。如果笔试不过,霸王面也有微弱几率获得面试机会。

补招只针对未能参加校招面试的同学,会持续比较长时间,但是除非有特别情况正式招聘不通过的情况下无法参加。

现在正是提前批次招聘,对阿里无线前端有兴趣的同学,请投简历到 ali-mfe-hire@list.alibaba-inc.com

今年我们前端团队也在尝试变革,所以有Java和全栈岗位开放,同样投 ali-mfe-hire@list.alibaba-inc.com

简历请投 ali-mfe-hire@list.alibaba-inc.com 重要的事情说三遍。

@abcwyc
Copy link

abcwyc commented Jul 29, 2015

👍

@Noodles-Buddy
Copy link

非常实用,谢谢您的分享。

@EvianEvan
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants