一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2038|回复: 11
收起左侧

[找工就业] 2015LAGM Onsite+Offer 面试回顾+找工总结

[复制链接] |试试Instant~ |关注本帖
mydream2016 发表于 2015-11-19 11:15:30 | 显示全部楼层 |阅读模式

2015(10-12月)-[]CS硕士+3个月-1年 - 内推| 码农类全职@Googlefresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
2015年末即将毕业,从9月份找工作到11月份。去Linkedin, Amazon, Google, Microsoft四家onsite,拿了4个offer。其余几家索性就推了不面了,因为有点小累。在这里写一写面试经历和找工心得,以供大家参考。(C++)
Google:

Onsite Round #1 一个欧洲大叔,第一道题是一个比较简单的算法题: Given string A, there is a program that could generate a word using subset of characters of string A. Write unit test and test plan to test the program. 这道题就是结合了hash table和一些test skills. 第二道题比较有意思: A binary watch, with 5 LED lights presenting Hour (0-23), and 6 LED ligths presenting Minutes (0-59). Suppose you have N LEDs are on, print all possible time. 这道题其实就是位运算的变种,结合x &= ~(x-1), 就可以算出一个数有多少bit是1. 最后在将分钟和小时join一下就可以。大叔后来又问如果加入了秒钟,月份,年份要怎么办。那我们就不可能用简单的nested loop, 需要一个recursive function去处理最终结果。

Onsite Round #2 一个美国中年人。第一题设计一个system可以返回Top K Google search results 。这道题就是Map Reduce 和 Quick Select的结合。但是我没有一下子就说出来,还是通过One CPU with unlimited RAM, One CPU with limited RAM, distributed system这样循序渐进的方式讨论的。我们大部分时间就是在讨论不用同方式的trade-off。第二题是一个简单的int pow(int n,int k),用logN写写就好。面完了发现带我吃饭的人还没来,于是索性和他讨论讨论如何返回一个字符串来解决overflow的问题。还是基于字符串乘法的基础上,可以做两方面的优化。


Onsite Round #3 吃过午饭继续。三哥。第一题给你好多array, 算出他们的intersection。第二题: Given permutation rules (a,b,c,d) to (b,d,c,a), apply the same rule to (1,5,7,2), should return (5,2,7,1)。这道题要考虑有重复字母的情况,应用Hash Table,再加上一点小技巧去处理重复数字。这道题不难,我就索性写成了class玩一玩。

Onsite Round #4 三姐。第一题记不大清楚了,是一道简单的Hash Table题目。第二题: Given a tree, each node with distinct value, find the longest path with consecutive value。这道题的key insight是所有数字都是不重复的,所以连续数字只能往一个方向发展。三姐说起点在root,这样更是简化了题目。简单想了一个DFS的算法,写了写。三姐又问如果不从root开始,或者是一个graph呢,那就得用DP了呗!简单说了说思路,没让写代码。.鏈枃鍘熷垱鑷1point3acres璁哄潧

Google一路面下来感觉还好,但是还是有几个小瑕疵,二面三面的时候没有考虑到两个special case。所以接到正式Offer之前内心还是有点小忐忑。一周之后过HC,两周之后Approved。

Amazon:. 1point3acres.com/bbs

Onsite Round #1 俩美国兄弟一起来面。设计一个餐馆的预约系统,偏向OOD方向。问了一些data structure和rational database设计方面的小问题,范围还是挺广的,幸好深度不深。

Onsite Round #2 一个中东经理,问了好多Behavior Questions。之前做过一些功课,把Amazon 14 principles看了一遍,随便扯扯就好。之后问我如何设计一个Cloud Drive,也是随便说了说。

Onsite Round #3 一个逗逼美国小哥。第一题: Given two log files with user ID and page ID visited, for day 1 and day 2. Find all users visited same page on both days. 用Hash Table吧,再加上一点小技巧去掉重复ID。第二题找到一个array中前K个最大的数字。小哥说不让我用Quick Select, 不好玩。于是想了一个用链表的O(NK)解法。

Onsite Round #4 美国小哥。第一题链表问题,第二题括号问题。都是原题。小哥感觉题目不够开始出题,先问了我Xor在做Hash的时候有什么特点。其实就是Additive Hashing。多写了点代码以后开始聊起Swift和Objective-C技术上的一些问题。聊着聊着小哥突然说又有题目了!Given a really long linked list, suppose you do not know length in advance, find a way to get K samples。我说这是Reservoir Sampling?小哥说我们继续聊吧。。。

Onsite Round #5 中国经理。问了一大推project的问题。然后第一题: Given a double linked list and the index of two nodes, swap these two nodes. 这个就是对于指针的运算吧,挺容易出错的。有两个特殊情况,一个是head变了,一个是两个node挨在一起。细心处理就好。
. from: 1point3acres.com/bbs
Amazon整体面下来很累,感觉题目比较无脑。一周以后接到Offer。

Linkedin:

Onsite Round #1 两位中国人。第一题: Given pointers to two nodes in a binary tree, find lowest common ancestor of two nodes (w/ parent pointers),这道题那就一步到位吧,用了一个O(N) with constant space。变种是不给parent pointer,给你root pointer,那就用DFS吧。第二题: print all permutations of a set of characters。注意重复字母的情况。

Onsite Round #2 一个美国人。System Design: Design a web word game that user can bet money on it。具体答题方向在web server, data base, load ballancer, master-slave db, shardling, denormolization, caching。后来面试官说想聊一聊如何用第三方(facebook,google,wechat)做登录,正好我做过就给他讲了讲。

Onsite Round #3 一个中国人。这场是我整个面试最不顺利的一场。第一题: Given two linked list, find whether the two overlap。这道题可以用O(N) with constant space解,分为三种情况:两个都没cycle,只有一个有,两个都有cycle。再加上找到overlap的起始点。我每说出一个假设,小哥就让我数学证明,问的还是十分详细的。最后出来的解法有一点麻烦,小哥说其实已经很好了,但是可以找个地方把cycle切掉,这样做更decent。好吧,确实没有想到。第二题是word ladder。有一个优化就是可以把之前的结果cache起来,用于提升下次Query的效率。
. 鍥磋鎴戜滑@1point 3 acres
Onsite Round #4 中国经理。随意扯了点东西,问我喜欢干什么,吃什么,玩什么。。。. From 1point 3acres bbs

Linkedin是我最不抱希望的,因为我认为我的第三轮跪了。没想到两周以后开始team match, 一周之后拿到offer。

Microsoft:
. 1point3acres.com/bbs
Onsite Round #1 美国热情大叔。第一题:找到关于左树、右数的一些东西。两分钟写好代码,大叔说卧槽这么快。。。第二题:给你excel表格每一列的坐标,再给你鼠标坐标,判断位于哪一列。这道题用Binary Search的一个小变种,但当时考虑的是用BST因为用户可以改变列宽,BST方便做出这样的调整。大叔说不用不用你想多了。。。第三题:Join two files, one with 64GB, one with 100TB, with 8 GB RAM。 这道题可以先把大文件sort一遍,用来减少disk seek time。应用bucket sort/radix sort/three-way quick sort,可以达到O(N)。
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Onsite Round #2 美国小哥。只做了一道题:Given a array with integers, find the maximum product of two numbers. 这道题可以分情况讨论,从而达到O(N) with constant space。

Onsite Round #3 美国小哥。第一题maximum sum subarray。第二题: Given a file structure and pointer to a file, print the file path. 用一个stack存parent指针,再输出来就好。可以做的优化是提前算出需要多少字符,用reserve提前预留这样的字符,再用memset,这样可以避免string appending出现new allocate的情况。
.鏈枃鍘熷垱鑷1point3acres璁哄潧
本来应该有四轮,但是面了三轮就不要我面了。感觉微软面试轻松简单。一周以后收到offer。

心得

0. 最最重要的一点: 一场成功的面试有两个重要的因素: 1. 快速解决问题并且可以做出相应优化 2. 快速完成没有任何错误的代码。
.1point3acres缃
1.关于运气:我认为面试是50%运气加上50%实力。四个公司面下来我觉得能过两个。最后过了四个只是运气很好。如果真的面了我不会的题目我也一点办法也没有。. more info on 1point3acres.com

2.关于刷题: 我Leetcode只刷了一遍,每道题亲自写代码保证AC(这点很重要!),写完之后看看讨论有没有更优化的解法用来举一反三,或是有没有更简洁更美观的代码。没有就自己发一个。从来不用IDE,点Submit就要保证不出Syntax Error,过基本的testcase。这样我感觉才是正确的刷题之道。

3. 关于面试题:这几家大公司都是最为常规的面试题目。Google难度大概在Top Coder Division 1 250 分左右, Hackerrank rated contest 题目里面简单和中等之间。

4. 关于面试表现:保持自信!保持微笑!微笑是实力的体现。面试更像是一场交流,你不会的多想一想,他不会的你给他讲一讲。
. From 1point 3acres bbs
5. Experience Beats Everything。刷题其实是快速积累经验的一种方法,但是如果只靠刷题就能困难的面试,你让我们这些科班出身的情何以堪。所以还是推荐大家刷题的同时循序渐进,多掌握一些算法以外的东西,多做做有意思的项目,加深对计算机科学的理解。
. From 1point 3acres bbs
6. 关于低谷:来美国几年了,风雨时常相伴,有迷茫彷徨,有灰心沮丧。每当位于低谷,总能想起朱自清先生《背影》里面一句话:事已至此不必难过,好在天无绝人之路!-google 1point3acres
-google 1point3acres
欢迎评论。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

. from: 1point3acres.com/bbs

评分

13

查看全部评分

本帖被以下淘专辑推荐:

leixiang5 发表于 2015-11-19 11:41:48 | 显示全部楼层
神人。。楼主这面啥有啥啊。。。楼主最后选了哪个公司啊。
回复 支持 反对

使用道具 举报

sdljy 发表于 2015-11-19 11:59:15 | 显示全部楼层
牛X啊,LZ是new grad吗?
回复 支持 反对

使用道具 举报

fightclub 发表于 2015-11-20 00:22:05 | 显示全部楼层
恭喜楼主,google第4轮那题,如果不从root开始你说dp解,能具体说说嘛。
回复 支持 反对

使用道具 举报

hpplayer 发表于 2015-11-20 05:42:48 | 显示全部楼层
LZ超级大牛啊,面一个有一个
回复 支持 反对

使用道具 举报

Destiny 发表于 2015-11-20 06:42:28 | 显示全部楼层
连头像都这么厉害。我也该考虑换头像了。
回复 支持 反对

使用道具 举报

zhengda6 发表于 2015-11-20 11:10:19 | 显示全部楼层
恭喜楼主!请问如何写test plan? 想学一些test skill的东西,但不知道从何下手?
回复 支持 反对

使用道具 举报

 楼主| mydream2016 发表于 2015-11-29 02:55:07 | 显示全部楼层
leixiang5 发表于 2015-11-19 11:41
神人。。楼主这面啥有啥啊。。。楼主最后选了哪个公司啊。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
准备去Google了~
回复 支持 反对

使用道具 举报

 楼主| mydream2016 发表于 2015-11-29 02:55:32 | 显示全部楼层
sdljy 发表于 2015-11-19 11:59. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
牛X啊,LZ是new grad吗?

嗯是new grad。。运气比较好吧
回复 支持 反对

使用道具 举报

 楼主| mydream2016 发表于 2015-11-29 02:56:36 | 显示全部楼层
zhengda6 发表于 2015-11-20 11:10
恭喜楼主!请问如何写test plan? 想学一些test skill的东西,但不知道从何下手?

具体去Quora看看有没有人问同样的问题吧
回复 支持 反对

使用道具 举报

 楼主| mydream2016 发表于 2015-11-29 02:56:50 | 显示全部楼层
Destiny 发表于 2015-11-20 06:42
连头像都这么厉害。我也该考虑换头像了。
. 鍥磋鎴戜滑@1point 3 acres
哈哈哈哈
回复 支持 反对

使用道具 举报

nirvanatiger 发表于 2015-12-12 07:23:56 | 显示全部楼层

请问楼主是面的SETI的role吗?记得在另外一个帖子看到的。能展开讲讲这个role的前景吗?比如转SWE容易吗?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 20:27

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表