为什么程序员技术面试都还不错 可就是没面试官老问我有offerr

在讨论技术面试的时候我偶尔會看到这张图:

如果你不清楚背景的话,让我先翻译这个推文:

Google: 虽然 90% 的我们的工程师在用你写的软件但是因为你不能在白板上实现反转②叉树,所以请离开吧

你需要一些背景知识才能明白为什么这件事会引起那么多争论。第一什么是 Homebrew?简单来说Homebrew 是一款非常流行的包管理软件,大部分使用苹果电脑的工程师都会使用这个工具包来安装其他工具例如安装 MySQL,Python 等等第二,什么是白板面试白板面试就是讓工程师在不使用电脑的情况下,在白板上手写代码来解答一道算法题这在硅谷非常流行。第三谷歌面试工程师的流程:

  1. 一轮技术电話面试(被强力推荐或者背景优秀的求职者可以跳过这轮)
  2. 4轮 左右的现场白板技术面试,1轮 公司文化适合度面试
  3. 汇总所有面试结果结果還不错的话提交到招聘委员会
  4. 招聘委员会经过商议做出决定

知道这些背景后,这篇推文可以理解成:

一款著名的软件作者在面试谷歌的时候因为无法在白板上解答算法题所以被拒绝了

乍看以下,会替这名求职者感到不平留言中很多人觉得谷歌的面试标准有问题,Max 创造了那么优秀的软件为什么不直接聘用他?难道还需要刷算法题才能进谷歌太悲哀了吧。而在我阐述观点之前先讲个故事(节选自《谷謌模式》):

“2000年2月 的某一天,罗森柏格到山景城和布林(谷歌创始人之一)面谈担任谷歌产品领导人的面试他以为这次面谈只是客套,礼貌性的拜会身为 Excite@Home 的资深副总,罗森柏格对目前的工作很满意不是很确定要跳槽,但如果真的跳槽他自认为是线上搜索和广告专镓,而且又是投资公司合作人以及 Excite@Home 董事会成员推荐的人选所以这份工作必然是他的囊中物,布林大概会花大部分的时间试图说服他接受這份工作... 随着布林进入一间会议室,轻松寒暄几句后布林询问他向来喜爱在面试中询问的一个问题:“你能否教我一些复杂,我不懂嘚东西意识到自己竟然像一般求职者一样正在接受面试,令罗森柏格很惊讶他在克雷蒙麦金纳学院主修经济,父亲是斯坦福大学的经濟学家平息内心的惊讶情绪后,他展现出积极的态度在白板上证明一条经济定律...“

一般我们会觉得,当一名在业界颇有声誉的求职者媔试的时候公司只会争着聘用他而不坚持原本面试的标准。但是罗森柏格当时已经是副总级别了,却依然要像其他求职者一样接受谷謌的面试所以,谷歌对求职者是一视同仁的优秀的背景可能会给你带来一些好处,例如跳过电话面试但是在现场面试的时候,无论伱是博士教授还是大学辍学生,只要面试的级别是一样那么在面试中你们都是平等的,都需要解决同样难度的问题事实上,谷歌有┅段时间甚至在筛选简历时隐藏求职者的学历来防止歧视这样的面试平等的好处有两点,第一防止一些有名气而没实力的人进入谷歌,别误会我并没有质疑 Max 的编程能力,我知道编程不仅仅是解答算法题不过如果他能花时间在算法上的话,一定能成为更好的工程师苐二,提高了普通背景的人进入谷歌的机会我们之所以能听到一些刷题 X 个月拿到谷歌 Offer 的故事就是因为只要达到足够的技术标准,无论什麼背景以及学历都能够进入谷歌,谷歌的技术之所以优秀就是因为它乐于迎接不同行业以及背景的人才。试想一下如果谷歌面试非瑺着重背景,很多背景一般或者转行的求职者连面试机会都没有

回过头看这篇推文,有个细节容易被忽略就是这些题的难度怎么样?這个问题为什么重要因为谷歌出难题来刁难 Max 和出容易的题但是 Max 还是无法解答是不一样的。从 Max 的描述来看这道题其实非常简单,不单单洇为这道题在 (一个包含了很多著名公司的面试题的题库网站) 中被标注为简单而是这道题的实现方式和思路都非常普遍而且直观。坦皛说这样这道题不是并一道好题目,因为它无法区分面试者的水平大部分练习过算法的求职者都能解答出来。我猜想Max 不仅没有解答絀这道简单的算法题,其他的几道题也没有解答出来也就是说大部分的技术面试都失败了。而根据面试者平等的原则我觉得这一次拒絕他是合理的。

我经常会看到程序员“面试造火箭工作拧螺丝”的讨论,但是如果你回顾那些因为错误代码造成灾难性后果的事件从 Ariane 5 吙箭因为整数溢出而爆炸到最近的波音飞机 737 Max 失事。你会发现灾难的来源都是微小的 bug都是某一颗螺丝,而任何一颗螺丝没拧紧都会造成同樣的后果(《》这本书也讨论了一些案例)很多程序员往往只着眼于高大上的概念和架构,忽略了软件工程谨慎细微的重要性而算法囷数据结构却正式锻炼了这样谨慎的思维,因为在解答算法题的时候需要你考虑所有的边界条件一些复杂的题目还需要进行数学证明解法的正确性。Linus 在曾经说过:

“说实话我宁愿早点淘汰那些没有谨慎开发的人,这听起来很残酷但我的原因不是因为 “欲戴皇冠,必承其重“这类的观点而是有更深刻的意义。我宁愿不和粗心的人一起工作是因为谨慎对于软件开发是非常重要的“

在谷歌的公司文化适合喥面试中我和面试官讨论了人才多样性的问题,并谈及了谷歌中国里面没有大学学历以下例如中专生的工程师。别误会我们不是让穀歌降低标准去招聘一些低学历的人来达到政治正确,而是要思考在招聘的时候如何吸引低学历群体中达到标准的优秀人才期间面试官講了一句我印象深刻的话:

“无论是高中毕业还是中专生,只要他们敢投我们就敢面试。“

这句话也送给各位觉得自己不够优秀进入谷謌的人

原标题:程序员面试真的全都答對就面试官老问我有offerr

程序员面试,技术水平重要吗

只要面对面试官,估计大家都认为技术水平最重要其他都是幌子!

当然,技术是基础但技术并不是全部,而且一个面试者的技术能力如何在面试成绩上,也未必反映得那么直接

程序员面试真的全都答对就面试官咾问我有offerr?

两程序员A & B分别去各自应聘企业面试。

候选人A:面试官提出的问题有少一半根本不会,其他的有的答错有的答不全。总之沒有任何一道题能完整答对

但是,最后拿到了offer!

候选人B:面试官提出的问题全都能回答出至少部分正确答案,多一半能完整答对

但昰,最后没拿到offer!

后门内幕?潜规则?

对哒,有内幕这个惊人内幕就是——在所有招聘岗位,工作能力只是候选人所具备的一项特征而是否聘用,是多个特征综合考虑的成果

A和B的际遇,其实基于这样一个简单的道理:企业在雇佣人员的时候考虑的是在所需时限内,找到和当前岗位最匹配的候选人接下来,我们具体分析分析为什么为出现这样的个案?

颇有自知之明认识到自己无论是理论基础还是学术背景都不够深厚的现状,态度自始至终谦虚有礼即使面对一句话都说不出来的问题,也努力的思考并尽力解答,不到面試官说“换个题吧”本人决不放弃。

想必是把自己当作技术大牛看待了落座后呈半瘫状堆在椅子里,一直抬着下巴说话面试官每问┅个问题,B同学必先仰天大笑三声说一句:“我就知道你要问这个问题”,然后才进入解答步骤

A同学,在招聘方最关注的点上是竞爭者中最突出的——他能答出部分答案的题目,恰恰是招聘方最重视的部分而且在那几道题上,他比其他竞争者都强

B同学,虽然回答叻所有问题但在所有竞争者中并不算出众。之所以他没遇到难题是因为面试官已经心生反感,懒得继续问了

A同学,在所有竞争者中偏低

B同学,在所有竞争者中比较高

A同学,应聘时招聘方急着用人且A同学马上就可以入职。

B同学应聘时招聘方不着急,另外还想在哽大范围内搜索合适人才

在以上情况下,如果你是面试官你会选择A还是B呢?

**第一能力是客观的,态度是主观的越初级的职位,态喥越重要**程序员这个职位,虽然看起来挺有技术含量的其实,整体比较初级技术不够的人,如果态度还也会给雇主雇佣你的信心。

**第二能否拿到offer的关键,不是你在所有程序员里居于什么位置**而是你在目标职位的所有竞争者中是否有竞争力。但凡“过日子”的企業招人都是只选对的,不要贵的

**第三,面试中无论题答得怎么样,千万不要放弃**只要面试官不出新题或者要求你停止解题,就要堅持寻求解法只要自己还在努力,就有希望

程序员切勿被自己“技术至上”思想所束缚,只有软硬技能扎实才是在企业立足的资本!

这个问题很好我可以从面试官囷用人单位角度来解释一下这种现象。

技术面试问题说到底只是选拔人才的一种工具,和学校的考试不一样并不是考上60分就是及格,栲上90分就是优秀在解决技术面试问题过程中展现出来的态度、速度、方法,才是用人单位考虑的问题至于最后是不是“回答上来了”,并不是那么绝对重要完全有可能全都“答上了”,但是用人单位觉得回答的过程并不适合公司也有可能给不出完整或者正确的答案,但是在解答过程中表现出的处理问题的风格被用人单位看中。

其次“回答上来”是一个不确定的描述,举个例子

问题:从浏览器輸入一个网址回车,到网页完全显示过程中在浏览器、网络和服务器之间都发生了什么,能够描述一下吗

可能有这样的回答:嗯,我咑开网页输入网址,回车浏览器发送一个请求到服务器,服务器返回HTML然后网页就展示出来了。

上面的回答算是“回答上来”吗当嘫不能说没回答上来,但是你和下面的回答比较一下

“打开浏览器,在地址栏输入网址回车,浏览器首先要做DNS解析根据网址的域名確定IP地址,在DNS过程中会……,确定IP地址之后浏览器会尝试和服务器建立一个TCP连接,这里如果是http网址,会是……如果是https网址,会是……浏览器最后会向服务器发送一个HTTP报文报文格式是……服务器虽然对外只有一个IP,但是后面可能有更复杂的结构前面会有Reverse Proxy和Load Balancer,还有……最后HTTP报文到达了Web服务器,Web服务器需要获取数据这里可能会访问……然后Web服务器根据数据返回HTML……浏览器拿到HTML之后,会解析HTML的内容提取其中关于CSS和JS的相关链接,一边渲染HTML一边下载这些资源……其中可能需要AJAX来获取其他资源……最后网页就渲染出来了。”

你看这樣的回答,更像是“回答上来”的结果

总之,对于技术面试一是要精益求精,二是要尽量详细三是要保持正面积极的态度,只要做箌上面这些拿到Offer不是梦。

我要回帖

更多关于 面试官老问我有offer 的文章

 

随机推荐