Hello大家好,我是一个美本大二的学生。我刚刚从Chem转到了CS专业,基本上是CS小萌新,但是很侥幸过了google EP的interview,跟大家分享一下经验。
我大一的时候上过一个很水的CS全校必修课,基本上没有学到什么。大二刚开学的状态是连java的main function都不会写。为了面试,我临时自学了一个月的java,听的是毕老师的java基础教程。然后收到面试通知后的两周里,我自学了coursera上的algorithm和 data structure(之前真的什么都没学过),外加刷了50道左右的leetcode。这就是我这个渣渣所有的背景了。
我的面试并不难,两轮phone interview,在google doc上面写代码。第一轮面试是一个女面试官,题目比较简单。具体记得不太清楚,大概是给你一个List和一个String,然后问你能不能用List里的character组成那个String。最开始是允许重复使用的,然后我写完了以后她又让我写怎么做到出现几次character才能用几次,于是我就用了hashmap。我写完以后还剩一点时间,她让我写“*“可以作为wild card的情况,我也很快就卡点写完了。
第二个男面试官感觉题目难一点。第一道题是很经典的leetcode题,找一个linked list的Nth Node From The End.我面试前正好写过这道题,然后飞快就写完了。他问的第二道题比较迷。大概是给两个String形式的integer,然后把他们的数字由大到小排列,输出较大的那个String。我最开始写的就是sort,然后比较一下。然后面试官就让我写个O(N)的,我当时还写了个hashmap,现在想想完全没必要啊。然后我对0的处理也不是很好,最后没有写完。
希望这些对你们能有帮助,我最大的建议就是一定要早申请呀。我大概是9月中旬交的申请,然后9月底schedule的10月的面试,11月收到的offer。因为这些录取都是rolling的,所以一定不要拖到ddl前!!
我现在正在team matching的阶段,我也没有什么CS背景,现在一脸懵逼。不知道有没有大神能给我一些小指导呀,比如怎么选team之类的,超级感谢!!