面试Coding,先说简单方法…问问面试官想考什么,再写TA想听的优化解答!
大家都说
CS简单,刷刷题就好。
但是刷了半天,
LeetCode都没刷完。
大家都说
Career fair要懂得怎么跟Recruiter聊天。
但是说了半天Recruiter还是跟你说,
把你的Resume在网上给我吧。
大家都说
你准备好了就一定有的聊。
但是去了Career Fair,
还是被Recrutier应付了几句打发走。
今天我们来听Phoebus导师说说
如何应对HR们,
如何2星期刷完LeedCode,
帮助你稳步走进你心仪的公司
导师背景
国内Top2物理本科,在大学期间对Coding有兴趣。之后读了美国常春藤的master,读的是EE Major,同时也选了很多Coding的课。毕业之后顺利找到SWE的工作。现在在Google工作。
如何应对Career Fair
你首先要理解Career Fair 和一般投简历的不同。这个是流程是不一样。一般投简历是先有简历,然后有HR。但是Career Fair 就是相反的。这就导致你一定要对这个公司有一些了解。 尤其是中小型的公司,你是一定要有备而来的。
那如果你是有备而来的话,又该怎么办呢? 不仅仅只是丢一个简历,跟他们聊一聊工作上面的事情。而是问一些如下的问题。
你们这个部门招不招人?
你们的某个product我很感兴趣,我想去学习。
如何根据公司介绍提问
这是一家叫Moz的公司官网上面的宣传。
比如说拿Moz做例子。这段话其是你要看出来几个关键词“Marketing Analytics” 还有“Help people access this data easily”。可以看出这家公司不是卖数据库的,他们的核心业务是Marketing Analytics。
那么我们能探讨的问题就有
卖的好的Marketing Analytics产品有哪些?
你们有多少Data?
用什么处理Data?
准备这些问题的同时,你也要在网上搜索一下。有答案的就不要再问了。还有一些基本的问题也可以问,比如说:
你们的软件team有所少人?
有多少客户?
公司规模有多大?
4
如何根据职位提问
这是Moz的公司官网上面SWE的招人条件。
在这一段里面,Moz说他们有很多牛人,那么你就可以问:
我进去之后会不会有Mentor?
我的背景能不能很快上手?
这个上面同时也说了申请者需要学很多新的技能,所以,你在跟HR聊天的时候,可以说你很喜欢学习新的技术。
总共控制在5-10分钟就可以了。 目的是能给他们留一个影响。
有很多HR其是都是前几年刚毕业的,所以很多事情他们自己也不知道。所以,对于这些人,你吹出花来都没有用的。你只要确定你知道你要面试的是什么职位就好了。
导师的面试经验
我面试的时候,因为准备的很充分。所以特别顺利。那周总共有3个onsite,前一天晚上我只睡了3-4个小时就上战场了。 一共有5轮面试。都是1-2道题目,很多都是没有听说过的题目。大概包括了算法,数据结构,另外是数学,最后还是算法还有coding。大概都是一开始先聊一聊简历。介绍完之后就是步入正题。 然后就开始问coding的问题。由简单到难。
这里大家要注意的是,有些面试官由于一开始不知道你的水平,所以先给你一道简单的。你要是做出来的,然后就会给你一道难一点的题目。如果这个你也做出来了,那么他也考察完你的水平了。剩下的时间就是聊天。
面试细节
Onsite的时候,一般有两种。在白板上做,还有小公司要求你自己带电脑。
如果你是在白板上面写,那你就把问题问明白之后,把关键词写在白板上面。很多公司面试时候的Communication是算分的。跟她们说清楚你是怎么想的,你想怎么做,交流的差不多了再开始做。
开始写代码的时候,你觉得有必要的话,就写上备注,但是不要硬加。时间和空间都要分析。每个公司都需要,所以不要出错。
然后关于到底是写最优还是最差。我建议你可以先把简单的方法解释出来,不一定要写出来。不要一开始上来就写最难的,要看出他想考什么,然后再动手写。还有一点就是,如果你因为想写最难的,注意控制时间长度。因为要是你写不完,最后还是算你没有做完。
题目写完了,要是有时间可以写一个Test Case,自己跑一下。
简历简谈
面试的时候,因为他们都是照着你的简历问的,所以,应该把你希望被问到的写出来。放在最前面。你这样想,都是按照你自己写的来问的,要是你被问楞了,那是很扣分的事情。所以你要做到只要写上去就不要怕被问。
准备面试
我准备面试的时候,一般是在吃完晚饭之后跟朋友一起刷。我们都是在白板上写。说昨天看了什么。 每个人都上去做。说Update,把你学会的跟别人分享。每个人出一两道题。 后来就会非常自然。当然一开始有些人会不自然。
关于背答案
理解和背我觉得其是是一回事。理解了之后,就自然地背下来了。那你也可以背下来之后,慢慢想,自然也就理解了。不是单纯的理解,单纯的背。一定要有一个过程,想想你刷题是为什么。你刷题不是为了安慰自己。是为了通过刷题来提高自己的实力。如果你刷了几遍,你没有到那个实力,那你还要继续刷。比如说Two Sum 的O(n) ,做完之后要想想有没有更好的方法。有一些题目,时间和空间会有Trade Off的。两种方法你都要会。就算是超时的答案,你也要知道。
当然大家的目标是不一样的。想找稍微好一点的公司的话,Leetcode上面的题目,就至少要过一遍。但是,不要把自己Block住。20分钟一道题。写不出来就去翻答案。只要理解了,第一遍你可以就这样过。只要你的能力提升了。不必纠结是不是你做出来。 尤其是第一遍。
原因是:刷题是为了学东西,看答案也是学东西。没有对不起自己啊。 苦思冥想,你想出来还是要看人家答案。看到别人的答案,就想把自己给撕了。那你想出来的答案是为啥呢? 现在面试的要求越来越高了。这样Block自己之后,你该怎么刷完呢?
导师带过的几个学生
学生A
TA去的是一线公司的广告组,因为面试发挥的特别好,公司给了Senior 的职位。跟我学了比较长,大半年。强度也非常大。每次打电话会说几个题目,研究。每天都有Sync Up,当天就会看。我会给他指出哪里不对,哪个不够clean,算法不对,时间不对等等。我们也常常会有Mock Interview,我也给了他我的答案,这样学员就能跟我的答案相互比较。自己也会想。 面试的时候非常出色的。
一开始的时候,A觉得自己的coding实力不错。后来越做题越觉得实力不够强。要耐心的学习。现在实力很强,反而没有那个时候骄傲。
学生B
这是一位CS 的PHD,lab做的比做题好。 简历写的很好了,所以只是在讲刷题。我们现在做了100-200道。都不是特别难的题目。不过明显实力强了。
一开始的时候是算法稍微难一点的就不可以。现在只要不是tricky就可以写出来了。 现在知道更系统化地思考问题, 从哪里入手。 就算一下子说不出答案,也能讲出更多。
Leetcode之后呢?
要学会很好的利用github,把Leetcode的答案保存上去。可能有多个答案,多个版本。还可以修改之类的。怎么一步步的写的更简明的。
这些是我推荐的网站:
一小半是不跟leetcode重复的, 题不错
适合对数学比较感兴趣,喜欢做优化的。
竞赛人,按分类刷题目。 这里面简单的题目 就相当于面试的难的题目。 大约3000道题。
导师对于学生秉着因人受教的原则,
如果你也想直接联系Phoebus,
也想面试的时候直接拿下Senior职位。
请加小助手,回复“Phoebus导师”
往期导师访谈精选:
每150个国际留学生,只有9个人能拿到面试,最终只有1人最终拿下Offer,
想在美国找工作,你必须学习这门课程,没有报名的同学都后悔了!
直接点击下图了解课程详情
阅读原文 最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。