关于讲座嘉宾:Ted
谷歌工程师,供职于搜索部门,毕业于卡内基梅隆大学计算机学院,在谷歌担任软件工程师和面试官,有数十场面试经验。
Google技术面试的方式与内容
当下的大公司的on site面试基本都是45分钟。以Google为例,这45分钟拆分为好几个板块。最先和最后的2.5分钟用来寒暄,5分钟用来询问简历的内容,分享实习经历和项目情况。之后的30分钟是最重要的,面试者会和面试官一起解决一个问题,比如面试软件工程师的会在白板上或者google doc上写代码。剩下的五分钟留给面试者向面试官提问。
作为面试官,优秀的候选人有哪些优点?
1.编码能力:编码主要是考察面试者在遇到问题时把解决问题的方案变成代码的能力,同时也考察面试者对于语言的熟练程度。优秀的面试者应该熟练地运用编程语言,并且能够将代码简洁易懂地写出来。
2.数据结构与算法:好的面试者应该在敏锐地找到问题之后,能够说出这个问题适用于什么样的数据结构,脑海中要有几种不同的算法,能够分析利弊并告诉我哪一种算法是最合适的。大家要注意,在提供你的方案的时候,要善于用面试官能听懂的话把你的方案描述出来。
3.理解与沟通:我遇到的比较好的面试者,都很积极地去分析问题,如果对题意有疑惑的话会主动地向面试官提问,明白面试官的意图并且主动向面试官介绍自己的思路。哪怕跟面试官有不同意见,也要抱着沟通的态度心平气和的说清楚。
4.速度:我觉得好的面试者不一定要特别快地解决问题,如果为了追求快而出现了很多小问题的话并且浪费时间去修改的话,是得不偿失的。
总而言之,我认为好的面试者能够在面试过程中跟面试官保持沟通并写出有质量的代码。
给面试者的建议
1.足够的面试准备练习:刷题是必不可少的,刷题越多,对问题的理解就越深。具体刷几遍因人而异,没有统一的标准。我个人认为应该刷到看到一道题时心里有清晰的解决方案,语言运用流畅为止。同时,每种类型的经典题都应该见过,做到在面试中心中不慌。
2.足够的实际写代码的行数:去做一些刷题之外的事情,积累阅读优秀代码的能力会潜移默化地提升能力。比如去做一次intern,多去review优秀代码,这些经历都能大幅提升你的能力。
3.英文沟通,理解能力与精神面貌:要从语言上和技巧上养成良好的沟通能力,在敢于提问的同时,不能认为自己一定是对的而就不接受面试官的意见。在面试过程中要以和面试官一起解决好问题为目标,并且要让面试官认同自己的解法。
初入职场的经历
1.编程:工作中的编程和在学校的编程很不同。在职场中的编程需要非常仔细,同时review很严格,会被两三个人审核。在学校可能一周能写几千行,工作中的话可能一整年的编程量在一万到五万之间。
2.考核与晋升:这是很多人头疼的问题。我们公司每半年或者每季度都有考核,晋升会有一个委员会来进行评定,比较规范和系统。所以不是进了公司就高枕无忧,进了公司之后也要想办法从各方面提升自己的能力,要保持学习,比如BitTiger这边就有很多课程可以帮助你提升你的能力。
程序员职业规划:
踏入职场,大概会有好几年的时间从事基础的编程工作。这个阶段一般是7,8年左右,10年的也有。表现良好的话就可以晋升为manager,可以只view代码。在这个过程中,会和其他团队一起有很多会议,有很多的沟通工作,培养自己的沟通能力很重要。如果愿意的话,接下来可以参与一些面试工作。面试别人也是一个了解行业的机会,明白这个行业的趋势,需要什么人才。Mentorship也是很重要的一个方面,去带实习生是一个提升影响力的机会,而影响力是晋升评价时很重要的考量表中。在整个职业规划中,要注意自我提升。这个行业不进则退,要随时关注前沿技术,充分利用公司内部的会议和公司外部的机会去学习新知识,BitTiger这边的很多课程就聚焦整个行业最前沿的技术,大家可以关注一下。
Q & A
Q:如果我有一个关于YouTube的改进想法,我该写进cover letter吗?
A:视公司情况而定。我们公司没有对产品改进想法的考察,但有些其他公司比较喜欢考察这一点,有时在面试的时候也会问。我们公司的话,我个人认为没有必要加进cover letter。
Q:工作了几年的人写代码会不会不如应届生熟练?
A:我觉得会有这样的情况,但是作为一个有几年工作经验的人,在写代码的时候可能不如应届生熟练,但是在其他方面会有很多提高,如:代码的准确性,review代码的能力。
Q:平时刷的题和面试的题区别大不大?
A:我个人认为平时刷的题和面试的题区别不大,但是我反对把做过的题背下来然后在面试时照搬的做法。你“背下来”跟“理解了”完全不是一回事,能够看出巨大的差别,会扣分的。
Q:Google会因为员工表现特别差解雇员工吗?
A:目前为止我没有听说周围有人被解雇了。各个公司都有自己的考核制度,如果你确实很长一段时间都达不到公司要求的话,公司肯定会首先帮助你尝试把自己的表现提升上来,实在达不到要求,解雇也是会有这样的可能性的,但是从我的个人经历来说,我身边没有被解雇的情况。
继续阅读
阅读原文