[心得] 大三实习面试(google, 微软, 腾讯, 阿里

楼主: hanyi0923 (hanyi)   2019-04-10 21:26:32
## 经历
在履历上提到的有
- 台湾高中资讯奥林匹亚(TOI) 选训营 1阶
- ACM-ICPC亚洲区域赛银牌
- NUS(新加坡)研究实习,做可视化,跟着挂名发了一篇IEEE InfoVIS正在等结果
- 4个课程作业(因为没什么project只好写课内)
1. OS(只有kernel,我大概2000行写了一个FAT32)
2. MIPS Pipelined CPU(用verilog写的,可以中断、异常)
(1, 2是合在一起放在FPGA板上跑,所以也包含了VGA驱动, PS/2键盘)
3. OpenGL赛车游戏(没有框架、直接用C++跟OpenGL原生函数+GLSL shader写的)
4. 协作markdown编辑器(类似Google doc,通信用socket,左右边分割视窗可以看markdo
wn跟结果)
有关高中、大学,学习经历之后看反应情况可能会再发一篇到高中版。
## 时间表
| Google | 上海 | 18/12/4 | 自己官网投履历 |
| Google | 上海 | 18/12/4 | 过CV Review |
| Google | 上海 | 19/1/26 | 感谢信 |
| Google | 上海 | 19/1/28 | 通知转台北 |
| Microsoft | 台北 | 19/2/1 | 请学长内推Bing |
| Alibaba | 杭州 | 19/2/21 | 请学长内推 |
| Google | 台北 | 19/2/27 | 1面 |
| Google | 台北 | 19/3/11 | 过1面,通知2面 |
| Tencent | 深圳 | 19/3/7 | 网申 |
| Microsoft | 台北 | 19/3/8 | 1面 |
| Tencent | 深圳 | 19/3/9 | 笔试 |
| Alibaba | 杭州 | 19/3/13 | 通知面试 |
| Tencent | 深圳 | 19/3/14 | 1面 |
| Google | 台北 | 19/3/15 | 2面 |
| Alibaba | 杭州 | 19/3/16 | 1面 |
| Microsoft | 台北 | 19/3/28 | 2面 |
| Google | 台北 | 19/3/28 | 过HC |
| Microsoft | 台北 | 19/4/7 | offer |
## 腾讯
#### 去年投过一次2018暑期实习
面试问了白板题
1. 快速排序、找一个序列的第k大O(N),用类似快速排序的方法但不管另外一边
2. 动态维护输入的前10个小的数字(用max-heap)
C++: static, virtual, ~Class(), abstract class,
哪些变量放在heap, stack
大部分都是语言的基本功
但是因为实习要3个月那个时候我暑假只有2个月就不能去了
### 2019暑期实习
### 笔试
感觉非常难,120分钟写5题
前2题是数学题,第三题DP
到我写完第三题大概60分钟了,
然而我新加坡的博后催我去做实验,就放弃了,后面两题没看。
### 事前沟通
过几天有个面试官打电话跟我约时间,他说是深圳做游戏部门的,
然后说看到我CV上有OpenGL经验,问我想不想去,但我说没有特别想去的地方,
他说看我没有很想去,就不收了,叫我等其他人从pool里面拿出我的CV
### 面试1
平台: 电话
过了一周之后有别的人打电话给我,约晚上面试
面试问得很细,但没有要做题,主要从我的经验来问,我说什么它就问得更深入一些
比如OpenGL,它就问我光照的细节,主要是Phong model(specular + diffuse),shader的
输入是glVertex,
VBO存的是顶点的座标,其他点shader会自己迭代,光照需要物体座标(glVertex)、相机座
标、光源座标。
OS也是问了很久,我花很多时间解释FAT32的结构,但沟通好像不是很好,我尽可能讲了一
下写一个路径的过程
MBR -> 第一个分割区 -> '/' -> for (i = 0; i < 512; i += 32) fileEntry[i ... i +
31]
-> 找FAT里面的实际位置 -> 路径比如是'/abc/def/ghi' -> 找FAT里面的实际位置 -> 写
入实际位置。
Markdown编辑器,问了怎么实现,就是用Java的socket,每次监听两个事件,一个是文字框
改变,
一个是socket发来消息,文字框改变就要发socket到server,server再发给其他client。
而client接到socket就要改变文字框(但再不转发到server)。
问了一下TCP/IP, UDP,但我说没有很懂,只会用Java的那一套。
问C++, static的各种用途
vector的内部实现,每一次扩大两倍,但是均摊插入还是O(1)。
map内部实现是红黑树
unordered_map内部实现是hash table,问了hash table为什么要,
怎么用、怎么设计hash function,还问了一下碰撞怎么处理。
总共时间大约一个小时。
### 面试2
https://www.ptt.cc/bbs/Soft_Job/M.1553331381.A.0AC.html
## 台湾微软
### 1面
平台: Microsoft Team
10.a.m to 11.a.m.
题外话是因为我自己时间安排的不好,
面试的时候只能找个全家坐着用电脑连手机4G面试,
讯号非常糟,还让面试官一直听全家的开门声,真是抱歉。
细节不能说,但大概就是观念题+白板题,我觉得不难,
观念题大概都是那种听完题目30秒内回答完的程度。
(课本或上课ptt大字那种观念)
白板题好像都是Leetcode medium题。
### 资格问题
1,2面中问,HR问了我是不是台湾人,能不能来实习,
所以稍微耽误了一点时间,不过最后没什么问题。
### 2, 3面
平台: Microsoft Team
约了9 a.m. 到10 a.m., 10 a.m. 到 11 a.m.
两个面试,都是西雅图的印度人面试我
第一个一上来就直接问白板题,
做完了一题(虽然好像不是最佳解,我写了O(N^2),其实可能可以O(N) )之后,
他手算几个输入到我的函数里面的结果,确认都是正确,
就再开了一题让我做,然后就第二题我说完想法时间就到了,
沟通还算顺利,虽然我的英文不太好。
第二个非常亲切,还问了我一下我这里天气如何,问我平常有没有运动,
然后也是直接做白板题,做完一题接了第二题(第一题的延伸),
做完之后他说知道我是对的,但要我解释,我有点卡,耽误了一下但还是正确地讲完了。
第二题写完之后还有一点时间,让我看了第三题,我一样说了想法,做了一下,然而没做完

最后他问我有什么问题,我说没有;他反问我为什么想来微软,
我说我从小把电脑打开就看到Windows, Office,想来是很自然的;
然后问我有没有用Bing,我说因为在中国Google不能用,我就会用Bing,因为我不想用百度

题目都是leetcode medium难度的感觉,是不是原题也不确定,我刷的不多。
## Google
最早是投了上海Google,大概投了一周后就收到面试通知。
期间等了快2个月,最后突然取消面试跟发了感谢信感觉很崩溃(那为什么当初还要说可以面
试),
不过隔两天在台湾接了一个021(上海)开头的电话,他说是Google HR,
问我是不是台湾人,想不想转去台北Google面试。
### 1面
平台: Hangouts
面试官是台湾人,用中文。
实现一个有某种功能的Data Structure,可能有leetcode hard程度,没看过的题目,不说
太多细节。
我做题就慢慢的做,感觉不是很难,期间保持跟面试官沟通,
其实有些地方没想到面试官会提示,然后我也反复的问还有没有额外的限制条件来套提示。
听后来几个面上海而且是中文面试的人说题目好像是一样的,看来题目会重复使用。
### 2面
平台: Hangouts
过了几周HR问我2面时间,但我只有晚上有空,它就安排别的时区跟我面试。
面试官在爱尔兰、用英文
英文方面我感觉不难?我学测英文才12级,
(或者我可能大学英文有进步XD)
面试语速其实不快,听不懂就请他再说一次。
题目不说太多细节、leetcode medium
但我思路想偏,用tree map写坏了,
前面讨论加写花了大概20分
面试官说我的复杂度不是最佳,有些数字重复出现的问题也会坏,
然后后面慢慢的改,他提示tree map改成hash复杂度就对了,
数字重复想了一些解法可以处理大部分问题,但还是有例外,
最后他说时间到了问我有没有问题,我随意问了一下那边的Google有没有晚餐,
他说没有,他的同事经常5点回家,他自己有时候会6点才回家。
面完之后感觉大爆炸了,
看了leetcode发现有原题
才赶紧在1周内快速看了大约150题medium,
少数觉得不好写的写了一下。
(当时下周还有微软2面)
### HC
过了几周通知我HC过了,看来我之前可能太害怕了,不过不知道Team Match结果会怎么样。
## 阿里
### 1面
平台: 电话
问我的projects
我说我做过OS,三个人一组,内存管理、进程调度、档案系统,一个人做一块。
问了我实现FAT32的细节,改FAT,新增档案、改资料夹的描述,32bytes 的file entry
又问了Memory mangement
Slab, kmalloc, malloc, tlb
kernel/user mode的差别
白板题leetcode medium有,我有做出来,
然后面试官也提示一些可以优化的细节。
(复杂度对,但没有考虑优化遍历array的速度)
结果1面没过几天就通知不录取,不过说了可以再投阿里别的部门。
## 总结
### 刷题
本来的想法是觉得Leetcode很简单,很多题都是看到脑中就有code出来,
感觉跟以前高中IOI、大学ICPC完全没得比,所以完全没刷过题,
我在Google2面结束之后觉得有点爆炸(应该说做题不够顺)才开始刷题,
所以我觉得题还是要稍微刷,Leetcode的方向比较是考你正确性、稳定性,
还有面试的时候不能题一上来就写,一定要多沟通,尽量要让他知道你想写什么才开始写。
### 技术
(被各位说了不要提自己技术弱,
其实原义只是想表达我技术方面相对准备不够全面,
而且还有之前腾讯洗脸技术的经验,
不管面试过程合不合理
确实还有很多可以改进的地方)
拉高自己特殊竞争力
肯定要挑战刷题没办法学会的东西,
最基本就是OS, Network, DSA的课本概念
再来就是多往底层钻,虽然自己还是有很多不足,
之后有空可能自己练习写database底层,
弥补之前被腾讯洗脸经验。
### 学术经验
发现不管哪一家公司都没有在意我的学术经验,
但不清楚CV有没有把我去过NUS纳入考虑,
所以可能做研究对找工程类工作没什么帮助?
(如果其他人有相反经验可以指正)
### 面试结果
关于怎么找要投哪些地方,其实我没有刻意找,就只是看到别人分享就投。
面试后拒绝: 腾讯, 阿里
台北微软: offer
Google: 等team match
自己放弃笔试、面试: 腾讯后来给的第二次机会, 上海Morgan Stanley, 苏州微软
没有面试机会: VMware, 网易
(可能是我的投递方式不太对,我写了一封没有内文的只有CV的信给招聘广告下面留的email
)
感觉中国跟美国面试风格有很明显差异,
中国公司重技术,美国公司重思考跟沟通,
不过不评价好坏,只是陈述自己经验。
其实去年12月是没有规划暑假找公司实习,
本来想找美国大学实验室再做一个研究实习,
看能不能申请前拼一个比较强的研究成果,
但自己英文实在太烂,看着同学一个个都TOFEL 110up, GRE 330up考出来,
觉得出国读书没什么希望了才转战找工作,
如果一开始就规划找工作的话可能会做更充分准备。
目前的话虽然Google有机会上,但考量到微软1年可以做比较多事情,
然后因为我Google没有内推是自己投
(其实应该找认识的学长,但那时觉得不想麻烦别人,有点蠢)
明年应届毕业以我现在这个经历加实习过微软一年,应该至少有办法面试,
面试内容如果也还是白板题,我觉得只要不到ICPC那种超级难的题目就都还可以应付。
另外是微软我加入的team已经是跟美国合作的team,之后转正去美国没有找新的team的问题
,转正微软也比Google简单,
所以最后应该就是去台北微软了。
作者: BambooGrove (竹里馆)   2019-04-12 09:15:00
跪着看完
作者: plsmaop (plsmaop)   2019-04-10 21:34:00
推推
作者: evan11401 (我很黑但是我很温柔)   2019-04-10 21:34:00
感谢分享
作者: x246libra (楓)   2019-04-10 21:38:00
说自己技术比较弱 真是太谦虚了 转职抢饭碗 佩服不已
作者: renna038766 (草甜圈)   2019-04-10 21:43:00
推分享 好强
作者: oneheat (等待)   2019-04-10 21:44:00
资讯的?干嘛不找个G的内推?
作者: john0312 (Chen John L)   2019-04-10 21:55:00
都拿到面试了,有无内推没什么差。Internal Reference比较实在。
作者: cip604 (cip604)   2019-04-10 21:59:00
推推 台湾G的电面题感觉都比美相对难一点
作者: s3131212 (Allen Chou)   2019-04-10 22:05:00
感觉超强 推
作者: cha122977 (CHA)   2019-04-10 22:17:00
G的电面不一定对到台湾人 约下班时间很容易碰到别区的
作者: winken2004 (新竹肥宅)   2019-04-10 22:43:00
很强的感觉
作者: aria0520 (紫)   2019-04-10 22:48:00
作者: woodoo (hometeaher)   2019-04-10 22:51:00
谢谢分享
作者: wilson85771 (HOW)   2019-04-10 22:52:00
作者: genius945 (添财)   2019-04-10 22:55:00
强者推
作者: ken90242 (大人)   2019-04-10 22:57:00
作者: vi000246 (Vi)   2019-04-10 22:58:00
作者: wei115 (ㄎㄎ)   2019-04-10 23:15:00
作者: LinuxKernel (Linus Torvalds)   2019-04-10 23:22:00
好猛
作者: danielhsu88 (DanielHsu)   2019-04-10 23:27:00
作者: invidia (莎莉竟然会飞)   2019-04-10 23:33:00
好猛
作者: ice80712 (我很有事)   2019-04-10 23:38:00
腾讯跟阿里也太硬
作者: jay123peter (萧瑟风雅)   2019-04-10 23:39:00
推推,真强
作者: sylvia9511 (叶凉)   2019-04-10 23:39:00
超厉害 推推
作者: yamakazi (大安吴彦祖)   2019-04-10 23:43:00
硬 强
作者: xxoooxx34567 (xxoooxx345678)   2019-04-10 23:46:00
跪着看
作者: xxi511 (少北)   2019-04-10 23:47:00
这样叫技术弱....对不起我废物都不如orz
作者: dapple (dapple)   2019-04-11 00:08:00
强喔 你想留台湾还是去美国?
作者: joe820730 (Let it go)   2019-04-11 00:38:00
这样叫做技术力不足我只能跪着了...
作者: WorkForFree (---)   2019-04-11 00:46:00
从小就喜欢写程式 真好
作者: sorryla (Mr.东)   2019-04-11 01:23:00
如果目标是来美国的话,以你的情况的确选软软risk最低Bing的话应该是在Bellevue办公室,这边比Redmond热闹多了我之前都住downtown,方便度比Redmond好很多
作者: gotrend (fisherman)   2019-04-11 01:40:00
朋友托福96 上uc系列的cs 你经历不输他 不要放弃呀!
作者: abc53 (abc)   2019-04-11 01:45:00
作者: Aeishiteru42 (lovelovejuju)   2019-04-11 01:51:00
超猛的啊…
作者: bamchisu (suchi)   2019-04-11 02:01:00
作者: chuegou (chuegou)   2019-04-11 02:04:00
>>我觉得技术是我比较弱的方面看到这句不知道该笑还该哭...
作者: stfang925 (司马铃薯)   2019-04-11 02:05:00
这篇技术弱 上篇非本科
作者: c0758 (R>W1>E2>Q滿)   2019-04-11 02:15:00
高手分享推
作者: Gaogaigar   2019-04-11 02:16:00
拿过ICPC银牌才会觉得非科班刷了就转过来软件工程吧下意识觉得每个人刷leetcode都满简单的其实你想走那方向都会打趴一堆人了
作者: a58524andy (a58524andy)   2019-04-11 02:40:00
跪 同为大三我还在地上爬
作者: meRscliche (如此而已)   2019-04-11 02:56:00
作者: a2470abc (D.F.)   2019-04-11 03:04:00
我投了google 但是整个无回应...我太废惹QQ
作者: keyut2433 (keyut2433)   2019-04-11 04:34:00
有转正机会一定要抓.
作者: DarkIllusion (′・ω・‵)   2019-04-11 07:18:00
结尾心得很有价值,推
作者: aa0917954358 (Doem)   2019-04-11 07:35:00
推强者!
作者: nova06091   2019-04-11 08:39:00
神人
作者: overhead (overhead)   2019-04-11 08:45:00
强中之强
作者: goodice (一水隔天涯)   2019-04-11 09:00:00
高手推
作者: ngsmsw (csJC)   2019-04-11 09:26:00
作者: godbye45 (苗栗金城武)   2019-04-11 09:31:00
深神人
作者: onthesea (i am telegrammed)   2019-04-11 09:48:00
强到这样每家都抢着要的不用担心
作者: jimmy067 (吉米)   2019-04-11 09:51:00
仔细推
作者: Eric0605 (我还有点饿)   2019-04-11 10:34:00
强者推
作者: lvanwu15 (lvanwu)   2019-04-11 10:35:00
作者: w199381 (恶心肥宅)   2019-04-11 10:38:00
超强!但是去了那些公司鹤立鸡群的机会就少了 要更强!
作者: plsmaop (plsmaop)   2019-04-11 10:48:00
台北微软为了绑几个卷哥,实习薪水给超高
作者: fate111085 (学店鲁肥宅)   2019-04-11 11:05:00
技术弱…那我岂不是幼儿园程度
作者: zackl852l (bb)   2019-04-11 11:40:00
神人
作者: coord (那又怎样)   2019-04-11 12:18:00
作者: caeserhaha (凯萨沙拉)   2019-04-11 12:29:00
推 强者 请问你实作都FAT32有open source吗? 想看XD
作者: ok8752665 (dd8752665)   2019-04-11 12:33:00
作者: Revetice (Revetice)   2019-04-11 12:35:00
作者: freepenguin (浮企鹅)   2019-04-11 12:36:00
推分享~
作者: kiki86151 (鲁饭)   2019-04-11 12:45:00
作者: y2468101216 (芸)   2019-04-11 12:59:00
作者: tonekaini (吾辈)   2019-04-11 13:00:00
我不知道转正去美国微软有没有提供签证 除非你要出国念MS用OPT去取得工作许可 这点可能要问问Google转美国也是先看你有没有办法自身就有工作资格
作者: sorryla (Mr.东)   2019-04-11 13:11:00
台湾办公室做满一年就可以申请L1了,无论是微软或谷歌我前同事就是从台软转到美软,还有认识另一个苏软转来的
作者: sooge (老衲)   2019-04-11 13:30:00
你经历那么丰富才有面试机会 不然早被丢到垃圾信件
作者: karta0910489 (coyote)   2019-04-11 14:04:00
好猛....同为大三真的惭愧...
作者: tonekaini (吾辈)   2019-04-11 14:20:00
喔喔 我以为你转正要直接去米国
作者: bab7171   2019-04-11 14:38:00
大三会那么多,真的超神
作者: lNishan (紫小霓)   2019-04-11 15:40:00
L-1 目前审核听说变严了 但如果是类似的技术还能通转正在 Google 其实也不难 跟分到的 project 会有点关系台湾 Google 这边也是几乎每个 team 都会跟美国合作美国微软我大学毕业也面过 跟 G 差别应该是如果要去美国会需要跟美国微软的工程师再多两场面试之前面微软正职是 1 phone + 4 onsite + 2 场额外跟美国微软工程师面试 有拿到 offer 他们提供的选项也是 L-1
作者: siriusu (かがみは俺の嫁。)   2019-04-11 15:51:00
推 <(_ _)>
作者: wadeedaw (wei)   2019-04-11 16:06:00
太神
作者: y956403 (寻欢)   2019-04-11 16:53:00
楼楼楼上超强
作者: tonekaini (吾辈)   2019-04-11 17:57:00
楼楼楼楼上安安 去年实习有见过面XD
作者: Arctica (欲聆听,必先静默)   2019-04-11 18:12:00
哇 真的强
作者: raysun011081 (sanfrain011081)   2019-04-11 19:37:00
太屌啦 已跪
作者: qazxws (QAZ)   2019-04-11 21:43:00
感谢分享
作者: descent (“雄辩是银,沉默是金”)   2019-04-11 23:18:00
英雄出少年
作者: naskate (QQ)   2019-04-11 23:57:00
好猛
作者: zebraseven (Die walkuere)   2019-04-12 01:23:00
Push
作者: aa06697 (todo se andarà)   2019-04-12 01:24:00
1周看150题medium...猛
作者: sorryla (Mr.东)   2019-04-12 06:00:00
L1从川普上了之后变严没错,去年软软律师有建议把资格从一年改成一年多几个月,加强通过的条件不过这条路还是能走的,顶多要求你在分部待久一点
作者: quickey (色肥宅)   2019-04-12 07:06:00
对不起,看完我觉得我可以去买鸡排了
作者: Transform728 (cy)   2019-04-12 22:47:00
作者: WWWucy (WWWWucy)   2019-04-15 02:45:00
听过名声 推
作者: bingripplw (首吟天下)   2019-04-26 23:07:00

Links booklink

Contact Us: admin [ a t ] ucptt.com