2016硅谷程序员求职访谈实录(七)


  • cid:53:privileges:topics:read

    2016年的硅谷程序员面试大军中有你吗?你是不是也想知道今年在硅谷正发生着怎样的求职故事?太阁实验室带着和大家同样的问题开展了一系列的程序员面试访谈,访谈的嘉宾都来自我们卧虎藏龙的TigerX社区。这里没有夸张的吹嘘,有的只是故事主人公和我们想和你讲述的求职故事,并分享成功的经验、失败的教训。

    0_1469912857118_googleplex-is-google-headquarters-e1428967765660.jpg

    Google全职 小C

    小C给人的第一感觉就是非常善于思考。而他的整个求职过程也是一个不断思考,反思的过程。

    小C曾经一度以为找工作是很轻松的事情,而到真正开始找工作的时候,才发现没有想的那么简单。从8月上旬,他就开始准备找工作了,听朋友推荐,买了“cracking coding interview”。暗自下决心要在招聘会前刷完一遍leetcode,看完一遍书。但中间拖拖拉拉,到9月下旬招聘会的时候,也就刷了150道左右,以及看了一半书。那时自我感觉还是良好的,后面才发现自己是太naive。

    9 月 信心满满到现实的打击

    虽然没有按照预定计划刷完题和看完书,但还是感觉面试应该没什么问题。在招聘会的前一天,早早地准备好各种资料,期待着能获得很多面试,然而,现实是残酷的。只记得排了很多队,投出去很多简历,但每次和别人交流的时候,就很难用英语完整表达出自己的意思…一天下来满是疲惫和失落。最后只有一个小公司给了电话面试。第一次电话面试,紧张到根本听不清对方问的问题。预定的45分钟面试,25分钟就结束了。中间有很长一段时间的沉默,根本不知道讲什么好,脑子里面很混乱,弄不清题目应该怎么解。这次的电话面试经历让他备受打击,开始对自己能力的怀疑。本来觉得很简单的事情,但真正自己去做的时候,才发现自己居然做不好。

    10月 Learned Helplessness 习得的无助感与反思

    进入10月以后,小C继续不停地在各大招聘网站上投简历,linkedin,glassdoor,indeed…不停地投。同时也找了朋友,以及在一亩三分地上找人帮忙内推,但都没太多消息。这段时间的心态可以用 Learned Helplessness 来很好解释。习得的无助感指的是人们在做某事时多次经历失败,便认为自己是在无法做好这种事情,人们就会产生严重的心理障碍,开始畏惧这件事情。他当时的确有往这个方向发展的趋势。所幸的是,他开始反思自己,自我调整。
    他认为有两个问题亟需解决:一个是英语交流,一个是算法熟练度。他从网上下了很多简短的英文交流录音,每天没事或走路去学校的时候就听,照着念。算法就是每天坚持刷Leetcode,并且自己写笔记整理思路。
    现在回想起来,听英文录音效果不是很大,但对他还是具有潜移默化的帮助。一个更好的办法是与外国同学组队做project,在做project的过程中相互交流,如果你的技术比外国同学强,讲解问题给他听,你的英文表达能力会有很大的提升。或者更直接的方法,不停地投简历,无论大公司还是小公司,听过名字的还是没听过名字的,不停地面试,面试地越多,经验越足,后面面试就游刃有余。
    而刷Leetcode估计是大家都会做的事情,但小C有一个习惯。每次做完一道题,我都会去看Discussion里面的高票答案,并且在做笔记总结自己的解法和他人的解法。用英文做笔记,同时让解题思路非常清晰,弥补了语言的不足。小C也提到,他会分类别进行刷题。每一段时间集中刷同一类型的题目,分析总结。

    11月 第一个小offer带来的激动

    到了11月, leetcode差不多刷了一遍了,小C也陆续收到了一些公司的面试(大部分都是内推的,小C觉得从效果上来看,内推 > LinkedIn > 招聘会 > 网投),同时也收到了很多公司的拒信(简历直接被拒的)。
    虽然逐渐开始适应面试的节奏,但心里还是存在畏惧。每次约电话面试的时候,他总是往后推,希望有尽可能多的时间来准备。但这并不一定好,因为很多公司的名额是先到先得的,名额越少,bar越高。这期间面了很多本地的公司,所以获得了很多类似“onsite”的面试机会。在中旬的时候,一个本地小公司给了他offer,现在想想还是有些小激动,给了他莫大的鼓舞。

    12月 渐入佳境,第一次大公司onsite

    12月是期末考的时间,之前11月下旬的时候电话面试一个大公司,面完之后本来不抱希望,在12月初的时候居然通知了onsite。惊喜来的太突然,他制定好准备计划,到处收集面经,但现实还是给了打击。总共面了四轮,其中有一轮表现很糟糕,其他三轮也只能说表现一般。被通知cannot move on,小C只能收拾心情准备期末考了。在12月中下旬也接到了另外两个公司的onsite。同时,小C也开始整理刷题笔记,以及开始刷第二遍leetcode了。

    1月 冲刺上正轨

    1月的时候,面试的时候心里比较淡定了,感觉很多题都是大同小异,解题都有了自己的套路:弄清题意—> 暴力思路 —> 大问题分化成小问题 —> 优化思路 —> 面试官认可 —> 重要问题先写代码,次要问题先写函数名放着 —> 解决问题,面试官聊天。每当感觉到和面试官聊得很开心,就觉得这一轮AC了。面试就是一个了解双方的过程,大家彼此尊敬,欣赏,那么这个过程就算是成功了。
    1月共收到3个onsite,其中两个拿到offer。拿到第一个offer的时候的心情可以用狂喜来形容,努力了这么久,也算是有个像样的offer了。在这期间他也内推约了G家的面试,拿到了onsite。

    2月 收获果实

    2月时还陆续拿到3个onsite和多个面试,都安排在G家的后面。到面试G家前,他已经刷完Leetcode两遍多了,算法笔记也反反复复整理了两次,但是小c还是会紧张。只能说,当你在意一件事情的时候,无法淡定。意料之外的是,面试的四轮都很顺利,果然等了一个星期多,先是HC,后是正式offer。小C回忆拿到正式offer的那一瞬间,没有想象中的狂喜,出乎意料的平静,是一种努力之后获得回报的心安吧。

    心得总结:

    • 列表刷题要早,并且要看Discuss里面别人的写法与做笔记总结。不停地反思总结会让你在做新的题目的时候游润有余。分类刷题也是一个很有效的方法。

    • 列表锻炼自己的英文交流能力,总结下来两个方法比较见效:一,和外国同学组队做project,通过队内交流来提高英文表达和理解能力;二,不停投简历,无论大公司,小公司都投,通过实际的面试来提高英文交流能力。

    • 列表总结自己的面试解题思路。面试过程虽然因面试官不同而不同,但解题思路可以说是大同小异,面试官要看的是你的解决问题的能力。我自己的解题过程是:弄清题意—> 暴力思路 —> 大问题分化成小问题 —> 优化思路 —> 面试官认可 —> 重要问题先写代码,次要问题先写函数名放着 —> 解决问题,面试官聊天。要注意的是,在这过程中要充分利用白板,通过例子来表达自己的idea。

    • 列表早点准备,早点面试:越到后面,名额越少,bar越高。早起的鸟儿找到的虫子要更多。


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待