Showing posts with label Google. Show all posts
Showing posts with label Google. Show all posts
Google Onsite Interview 面经
2020年初Google Onsite面经
第一轮:超级nice的国人姐姐。因为到的比较早,先去kitchen拿了点零食然后闲聊了半天G家的室内装潢(……)和简历上的经历。题目是给一个positive integer N,求N最少能由几个2^i组成。比如N=1的时候,1=2^0,那么N最少能被1个2^0组成。再比如N=7的时候,7=4+2+1=2^2+2^1+2^0,这个case中N最少被3个2^i组成。然后follow up是,可以同时使用正或负的2^i。同样的例子N=7,在这个情况下,7=8-1=2^3-2^0,这样最少只需要2个2^i就能组成N。
第二轮:台湾葛格,人也挺nice的。没有废话直接上题,就是lc的bomb enemy,不同的是bomb也能放在enemy所在的位置。第二题是给一个iterator: 2,3,1,5,1,8… 要求写一个iterator要能return 3,3,5,8…
第三轮:印度姐,关于最近时间的问题,当前显示时间为 ab:cd,求下一个离当前时间最近的时间,并且只能用{a,b,c,d}这个集合里面的数字,数字可以重复使用,不一定要全部用到。输入输出都是字符串。
举个栗子
当前时间为“23:02”,下一个最近的时间为“23:03”
当前时间为“23:58”,下一个最近的时间为“22:55” (第二天的)
我用的方法很蠢,就是找出所有可能的组合,去掉那些不合法的(比如42:23这种),然后求出和当前时间的时间差,取最小的。
第四轮:白人小哥,看起来就智商很高的那种。题目是给一瓶药,里面100颗完整的药片,每天需要吃半颗。每天吃的方法是随机从瓶子里取一颗药,如果是整颗就吃半颗,剩下半颗扔回瓶子里;如果取出的是半颗,那就直接吃掉。第一小问是simulate这个过程,然后print每天瓶中剩下的整颗和半颗的数量,直到空瓶。第二问是,求整个simulation过程中,瓶中剩下1整颗,0半颗的概率。最后问了running time。
除了印度姐姐全程冷漠脸以外其他面试官都很热情友好一天下来感觉面试总体难度还行,并没有某些面经那么难(面之前看别人的面经真是吓得不轻……) 接下来默默等结果吧
~ No comments: ~
[转载 from mitbbs] 骑马找独角兽的过程
发信人: geniusxsy (小尾羊), 信区: JobHunting
标 题: [bssd]糖一下骑马找独角兽的过程
发信站: BBS 未名空间站 (Sun Feb 7 04:28:51 2016, 美东)
干货不多,大家有兴趣打发时间的话就看看吧。这贴也许对fresh grad没啥意义吧,对
experienced或许更有用些。
******* 我是小广告的分割线 **********
帮ld求好心朋友帮忙内推下三番或者中半岛的轻松养老型的马工职位,ld在某软某办公
软件里呆了若干年,现在才发现没有积累到什么流行的技术,现在想找工作背景上比较
吃亏。不过ld底子和学习能力都很好的。
***************************
背景是在西雅图地区的G干了五年多主要做backend。最近一两年前,身边朋友纷纷跳槽
,现在比较后悔的就是,早知道两年前刚拿到卡就该挪一挪,拖到现在算有点晚了。另
外一方面,在G干的活,现在也越来越提不起兴趣。朋友的怂恿和激励下,去年10月终
于下决心要跳了。
==> take away: 要跳趁早,时机不等人。
当时也没想要跳湾区,差不多就是一心想去打车公司的西雅图分店。其实去年夏天就有
些蠢蠢欲动了,刷了几道题后懒了又不了了之。10月份开始认真刷lc,刷的也不快,到
12月才勉强刷一遍。后来回想,浪费很多时间,其实各个种类挑着做50~100道应该就差
不多了。然后花了很多时间精力去复习系统相关的知识。G家自己的用过的infra复习下
,spanner没用过,正好跟新project沾点边就看了个大概。有些东西像chubby, pubsub
用过但是内部完全不懂,趁这个机会也翻翻人家的design doc有点大致的了解。当然最
后我觉得也没有真正派上太大的用,不过做为知识积淀也挺好。然后就是市面上的技术
我是完全没接触过,起初还很担心,不过学了一圈下来也觉得没啥高大上的,大多能在
G里面找到类似的,而且比起G做的更简化。这些花的时候不必刷题少,而且design doc
/tech report/paper这些读起来可没有做题那么有趣。
==> take away: experienced hire,刷题到一定程度就够了,其他的知识积淀还是更
重要。
废话一堆之后,来聊聊面试经历吧。如果你是来找算法题,可能要失望了。忘了有没有
签nda,不过遇上很多国人interviewer,慎重起见我尽量模糊化具体的面试题。其实我
说了也没用,真的,更重要的东西其实是在交流上。
12月朋友催我说打车公司又要融了以后pay的越来越少要来赶快啊,我总觉得没准备充
分犹豫了一阵,月底才鼓起勇气让朋友递了简历。对拼趣一直也挺感兴趣,也让朋友帮
递了,不过说实话,当时也就是想试试而已。然后顺手找人帮投了个脸书家,想拿来练
手。听说facebook考刷题比较多,我自以为擅长做题。加上我背景里面social graph,
infra, product都沾点边,去面之前有种offer手到擒来的感觉。结果就悲剧了,怎么
说呢,也不算是被黑,发挥的也不好,有些很弱的失误回家路上就意识到了。算法题基
本上都是lc上的,有一道是hard但是那种非常经典大家都会做的,其他都是medium水平
的题,一共涉及了binary tree, stack, backtracking, prefix tree这些知识点。系
统题是让设计一个code search系统,基本上就是先装模作样分析估算下,然后画画大
的框架,反正差不多就是凭着经验和感觉走,然后接下来就是interviewer提问,对某
些component或者某些具体的情况zoom in进去讨论。虽然search我没做过,indexing系
统还是稍微接触过的,但是时间久了忘了不少,回家后又正好补了下知识。
==> take away: 面最心仪的公司前练练手也很有必要。
等脸书结果期间面了两轮u的店面,两轮都是很nice的中国人,跟第一位大哥中文聊天
也聊得非常愉快,coding题目也不难,用queue就能解决,大概也是放水吧。第二位系
统设计也是国人,问的google map,当时也没怎么准备过geospatial方面的话题,我觉
得磕磕碰碰的,结果还是承蒙面试官放水给过了。P家店面又是中国人,运气很好,问
了中等难度的lc题,就给水过了。不过有意思的是,这两家的coding都是online写完编
译调试,像我这样经常犯些typo或者弱智失误的,调试能力就可以弥补一些粗心,啪啪
啪的很快改完跑通,大概也给interviewer留下确实能干活的印象吧。不过坏处是如果
一两分钟没调出来,压力瞬间爆棚,只能扛着了。
==> take away: 其实大部分国人还是很nice的,遇上是缘分和运气!
这个时候fb悲剧的消息到了,感觉信心很受挫,情绪比较低落,本来觉得十拿九稳的事
情都黄了。其实现在想想悲剧是好事,让我带着卑微的心态努力尽力的准备之后的面试。
打车公司的onsite是在三番,虽然我申的职位是在西雅图。第一轮是老美mgr,名义是
考behavior,其实就是聊天,没有什么奇怪的问题。我准备的也比较充分,比较放松,
吹吹自己做项目的经历,侃侃对他家美好前景的向往,大家聊的也很愉快。第二轮是设
计题,他家的几道经典设计题目之一,设计netflix。还是先需求功能分析,然后画大
框架结构,然后主要问了下,serve media file怎么做到high available, high
throughput,这方面其实不太懂,这个时候就只有借助知识储备开始瞎扯,一会儿瞎扯
些分布文件系统的东西,一会儿又瞎扯些backup requests,parallel read等方案,然
后上面的caching层再扯几句。接着又继续问了recommendation系统,时间不多,只能
大致提了下user-based/item-base CF这些。其实几年前粗略的看过一些netflix做推荐
的资料,马马虎虎应付一下还凑合。总的感觉还是聊的比较愉快,交流上基本上还是比
较合拍。接下来一轮,我现在还有点摸不着头脑的感觉,很open的problem solving,
说是design但又不是system design,大概就是主题公园排队时提供fast track,比如
,交5块钱,告诉你一个小时后回来,有点像scheduling系统。最后还让写code简单模
拟一下。我稀里糊涂的都忘了怎么答的,感觉答的如何心里很没谱,最后居然也还是给
过了,也许是我东扯西扯一堆,擦着边击中了面试官心里想听的点子上?接下来一轮是
coding,简单的有点莫名其妙,其实后来听了不少别人的面经,U家问简单coding题似
乎是很正常的!不过然后不停的followup,如果这个是正式的code,unit test你怎么
写,让你自己做code review,有哪些你会改的,怎么refactor?感觉是在考察实际工
作中写码的能力,其实也make sense,毕竟工作里面是没有机会写太fancy的算法。不
过我觉得这样面,有工作经验的人写码多的人,尤其是从像g这样code review严的地方
出来的,应该都能pass才对。最后一个人又是聊天,大概聊了一半时间后,顺带着引出
一个系统设计问题,也是经典的高频题,就是让设计他家的打车系统里面的一个
feature,轻松搞定,走人。
总的来说,一大半时间感觉都是聊天,扯,吹牛。他家也特别看重culture fit,就是
你要有passion,要有ownership,做事快,take risk。我觉得这些都是靠聊天里面慢
慢透露出来的信息,不是说简单直接了当的问。当然了,认真准备culture fit我觉得
是非常有必要的,其实技术上的水平和背景经历,面试之前基本上就是定下来了的,而
culture fit是可以通过认真准备更充分的体现自己的fit。对了,每个interviewer必
问一次为什么想来U家,我都快能背下我的答案了,最后一个人问的时候,我就明给他
说, 前面问过很多次了,I’ll try to answer this in a different way,然后就即
兴了。
==> take away: 面试中交流聊天非常重要,我觉得不亚于做题写码的重要性。
一个星期后就是拼趣的面试。这一个星期内主要的功夫是花时间用他家的产品,做功课
,产品功能,business model,并且想想哪些是做的很好的,哪些地方可以提高怎么提
高。然后拼趣家的四点文化,认真想下交谈中怎么结合自己的经历能体现出来,对于有
经验的人,我想这些下功夫都是能做好的。虽然我准备了这些,但是最后其实很多准备
的东西都没有机会用上,不过至少还是让我有足够的信心去和面试官交流。拼趣的中国
人非常多,更难得的是,中国人都很抱团很友善,有三轮都是中国人面试官。因为准备
加入拼趣,面试题就不详细写了。
==> take away: 有针对性准备充分,也许会胜过广撒网批发面
打车公司最先给offer的,但是包裹一开始压的非常低,base跟现在差不多持平还略低
一点,只有$43w股票,基本上包裹就是跟现在持平,很失望。直到我有了拼趣的offer
,才追上来,谈到68w也谈不动了。
拼趣很快给了口头offer但是各种原因数字拖了一周才出来,base还不错比现在高,但
考虑到州稅。。。股票最后给涨到1个米,整个过程非常爽快,我也很开心。我知道有
牛人能要到更大的包裹,不过我想自己满意了就好。朋友说他家每年给的refresher也
比较给力,想起来纸面上的数字还是很吸引人。当然,如果没上市,就是一堆废纸。这
次也是我第一次真正经历negotiation,最后效果也还满意,也从朋友那里学习了不少
讨工钱的经验,如果有人有兴趣可以私信我,或者下次有空写写。
最后选了P,钱给的满意是比较小的一个因素,其实U给的也算还不错了。其他很多个人
的考虑,这里就不多说了。至于公司前景的比较上,不用说U的吸引力非常大上市几乎
是必定的,P的风险相比更大,但是潜力也不错,团队也很强,我觉得拼趣的
monetization做的不错,感到有比较强的信心。有机缘跟很多p家的国人接触过,觉得
他家中国人多而且友善团结融洽,这点很喜欢。
标 题: [bssd]糖一下骑马找独角兽的过程
发信站: BBS 未名空间站 (Sun Feb 7 04:28:51 2016, 美东)
干货不多,大家有兴趣打发时间的话就看看吧。这贴也许对fresh grad没啥意义吧,对
experienced或许更有用些。
******* 我是小广告的分割线 **********
帮ld求好心朋友帮忙内推下三番或者中半岛的轻松养老型的马工职位,ld在某软某办公
软件里呆了若干年,现在才发现没有积累到什么流行的技术,现在想找工作背景上比较
吃亏。不过ld底子和学习能力都很好的。
***************************
背景是在西雅图地区的G干了五年多主要做backend。最近一两年前,身边朋友纷纷跳槽
,现在比较后悔的就是,早知道两年前刚拿到卡就该挪一挪,拖到现在算有点晚了。另
外一方面,在G干的活,现在也越来越提不起兴趣。朋友的怂恿和激励下,去年10月终
于下决心要跳了。
==> take away: 要跳趁早,时机不等人。
当时也没想要跳湾区,差不多就是一心想去打车公司的西雅图分店。其实去年夏天就有
些蠢蠢欲动了,刷了几道题后懒了又不了了之。10月份开始认真刷lc,刷的也不快,到
12月才勉强刷一遍。后来回想,浪费很多时间,其实各个种类挑着做50~100道应该就差
不多了。然后花了很多时间精力去复习系统相关的知识。G家自己的用过的infra复习下
,spanner没用过,正好跟新project沾点边就看了个大概。有些东西像chubby, pubsub
用过但是内部完全不懂,趁这个机会也翻翻人家的design doc有点大致的了解。当然最
后我觉得也没有真正派上太大的用,不过做为知识积淀也挺好。然后就是市面上的技术
我是完全没接触过,起初还很担心,不过学了一圈下来也觉得没啥高大上的,大多能在
G里面找到类似的,而且比起G做的更简化。这些花的时候不必刷题少,而且design doc
/tech report/paper这些读起来可没有做题那么有趣。
==> take away: experienced hire,刷题到一定程度就够了,其他的知识积淀还是更
重要。
废话一堆之后,来聊聊面试经历吧。如果你是来找算法题,可能要失望了。忘了有没有
签nda,不过遇上很多国人interviewer,慎重起见我尽量模糊化具体的面试题。其实我
说了也没用,真的,更重要的东西其实是在交流上。
12月朋友催我说打车公司又要融了以后pay的越来越少要来赶快啊,我总觉得没准备充
分犹豫了一阵,月底才鼓起勇气让朋友递了简历。对拼趣一直也挺感兴趣,也让朋友帮
递了,不过说实话,当时也就是想试试而已。然后顺手找人帮投了个脸书家,想拿来练
手。听说facebook考刷题比较多,我自以为擅长做题。加上我背景里面social graph,
infra, product都沾点边,去面之前有种offer手到擒来的感觉。结果就悲剧了,怎么
说呢,也不算是被黑,发挥的也不好,有些很弱的失误回家路上就意识到了。算法题基
本上都是lc上的,有一道是hard但是那种非常经典大家都会做的,其他都是medium水平
的题,一共涉及了binary tree, stack, backtracking, prefix tree这些知识点。系
统题是让设计一个code search系统,基本上就是先装模作样分析估算下,然后画画大
的框架,反正差不多就是凭着经验和感觉走,然后接下来就是interviewer提问,对某
些component或者某些具体的情况zoom in进去讨论。虽然search我没做过,indexing系
统还是稍微接触过的,但是时间久了忘了不少,回家后又正好补了下知识。
==> take away: 面最心仪的公司前练练手也很有必要。
等脸书结果期间面了两轮u的店面,两轮都是很nice的中国人,跟第一位大哥中文聊天
也聊得非常愉快,coding题目也不难,用queue就能解决,大概也是放水吧。第二位系
统设计也是国人,问的google map,当时也没怎么准备过geospatial方面的话题,我觉
得磕磕碰碰的,结果还是承蒙面试官放水给过了。P家店面又是中国人,运气很好,问
了中等难度的lc题,就给水过了。不过有意思的是,这两家的coding都是online写完编
译调试,像我这样经常犯些typo或者弱智失误的,调试能力就可以弥补一些粗心,啪啪
啪的很快改完跑通,大概也给interviewer留下确实能干活的印象吧。不过坏处是如果
一两分钟没调出来,压力瞬间爆棚,只能扛着了。
==> take away: 其实大部分国人还是很nice的,遇上是缘分和运气!
这个时候fb悲剧的消息到了,感觉信心很受挫,情绪比较低落,本来觉得十拿九稳的事
情都黄了。其实现在想想悲剧是好事,让我带着卑微的心态努力尽力的准备之后的面试。
打车公司的onsite是在三番,虽然我申的职位是在西雅图。第一轮是老美mgr,名义是
考behavior,其实就是聊天,没有什么奇怪的问题。我准备的也比较充分,比较放松,
吹吹自己做项目的经历,侃侃对他家美好前景的向往,大家聊的也很愉快。第二轮是设
计题,他家的几道经典设计题目之一,设计netflix。还是先需求功能分析,然后画大
框架结构,然后主要问了下,serve media file怎么做到high available, high
throughput,这方面其实不太懂,这个时候就只有借助知识储备开始瞎扯,一会儿瞎扯
些分布文件系统的东西,一会儿又瞎扯些backup requests,parallel read等方案,然
后上面的caching层再扯几句。接着又继续问了recommendation系统,时间不多,只能
大致提了下user-based/item-base CF这些。其实几年前粗略的看过一些netflix做推荐
的资料,马马虎虎应付一下还凑合。总的感觉还是聊的比较愉快,交流上基本上还是比
较合拍。接下来一轮,我现在还有点摸不着头脑的感觉,很open的problem solving,
说是design但又不是system design,大概就是主题公园排队时提供fast track,比如
,交5块钱,告诉你一个小时后回来,有点像scheduling系统。最后还让写code简单模
拟一下。我稀里糊涂的都忘了怎么答的,感觉答的如何心里很没谱,最后居然也还是给
过了,也许是我东扯西扯一堆,擦着边击中了面试官心里想听的点子上?接下来一轮是
coding,简单的有点莫名其妙,其实后来听了不少别人的面经,U家问简单coding题似
乎是很正常的!不过然后不停的followup,如果这个是正式的code,unit test你怎么
写,让你自己做code review,有哪些你会改的,怎么refactor?感觉是在考察实际工
作中写码的能力,其实也make sense,毕竟工作里面是没有机会写太fancy的算法。不
过我觉得这样面,有工作经验的人写码多的人,尤其是从像g这样code review严的地方
出来的,应该都能pass才对。最后一个人又是聊天,大概聊了一半时间后,顺带着引出
一个系统设计问题,也是经典的高频题,就是让设计他家的打车系统里面的一个
feature,轻松搞定,走人。
总的来说,一大半时间感觉都是聊天,扯,吹牛。他家也特别看重culture fit,就是
你要有passion,要有ownership,做事快,take risk。我觉得这些都是靠聊天里面慢
慢透露出来的信息,不是说简单直接了当的问。当然了,认真准备culture fit我觉得
是非常有必要的,其实技术上的水平和背景经历,面试之前基本上就是定下来了的,而
culture fit是可以通过认真准备更充分的体现自己的fit。对了,每个interviewer必
问一次为什么想来U家,我都快能背下我的答案了,最后一个人问的时候,我就明给他
说, 前面问过很多次了,I’ll try to answer this in a different way,然后就即
兴了。
==> take away: 面试中交流聊天非常重要,我觉得不亚于做题写码的重要性。
一个星期后就是拼趣的面试。这一个星期内主要的功夫是花时间用他家的产品,做功课
,产品功能,business model,并且想想哪些是做的很好的,哪些地方可以提高怎么提
高。然后拼趣家的四点文化,认真想下交谈中怎么结合自己的经历能体现出来,对于有
经验的人,我想这些下功夫都是能做好的。虽然我准备了这些,但是最后其实很多准备
的东西都没有机会用上,不过至少还是让我有足够的信心去和面试官交流。拼趣的中国
人非常多,更难得的是,中国人都很抱团很友善,有三轮都是中国人面试官。因为准备
加入拼趣,面试题就不详细写了。
==> take away: 有针对性准备充分,也许会胜过广撒网批发面
打车公司最先给offer的,但是包裹一开始压的非常低,base跟现在差不多持平还略低
一点,只有$43w股票,基本上包裹就是跟现在持平,很失望。直到我有了拼趣的offer
,才追上来,谈到68w也谈不动了。
拼趣很快给了口头offer但是各种原因数字拖了一周才出来,base还不错比现在高,但
考虑到州稅。。。股票最后给涨到1个米,整个过程非常爽快,我也很开心。我知道有
牛人能要到更大的包裹,不过我想自己满意了就好。朋友说他家每年给的refresher也
比较给力,想起来纸面上的数字还是很吸引人。当然,如果没上市,就是一堆废纸。这
次也是我第一次真正经历negotiation,最后效果也还满意,也从朋友那里学习了不少
讨工钱的经验,如果有人有兴趣可以私信我,或者下次有空写写。
最后选了P,钱给的满意是比较小的一个因素,其实U给的也算还不错了。其他很多个人
的考虑,这里就不多说了。至于公司前景的比较上,不用说U的吸引力非常大上市几乎
是必定的,P的风险相比更大,但是潜力也不错,团队也很强,我觉得拼趣的
monetization做的不错,感到有比较强的信心。有机缘跟很多p家的国人接触过,觉得
他家中国人多而且友善团结融洽,这点很喜欢。
~ No comments: ~
[转载 from mitbbs] Google Interview Questions
发信人: lusty (lusty), 信区: JobHunting
标 题: 狗家面经
发信站: BBS 未名空间站 (Fri Apr 15 01:20:25 2016, 美东)
电面太容易 , 忘了
1. Number of Islands
2. Find Median from Data Stream, 举例描述每一步
3. Compute Avg for Data Stream, 小心overflow
4. MapReduce求稀疏矩阵乘法
5. Binary Search Tree Iterator, 举例描述每一步
6. Longest Alternating Subsequence
标 题: 狗家面经
发信站: BBS 未名空间站 (Fri Apr 15 01:20:25 2016, 美东)
电面太容易 , 忘了
1. Number of Islands
2. Find Median from Data Stream, 举例描述每一步
3. Compute Avg for Data Stream, 小心overflow
4. MapReduce求稀疏矩阵乘法
5. Binary Search Tree Iterator, 举例描述每一步
6. Longest Alternating Subsequence
~ No comments: ~
Google System Design Interview Question
Design a system to hand out telephone numbers for Google voice.
You want to present numbers to people such that:
a person sees 10 numbers at a time
no two people should see the same numbers at the same time
they get 2 minutes to choose one of those numbers or ask for more. If they
choose one after the 2 minutes are expired, the request fails.
Where you would put the various data elements - in a database, application
servers, front-ends or the browser.
What kinds of data structures you would use.
You want to present numbers to people such that:
a person sees 10 numbers at a time
no two people should see the same numbers at the same time
they get 2 minutes to choose one of those numbers or ask for more. If they
choose one after the 2 minutes are expired, the request fails.
Where you would put the various data elements - in a database, application
servers, front-ends or the browser.
What kinds of data structures you would use.
~ No comments: ~
[From MITBBS] Facebook and Google Interview Questions
Facebook:
Phone:
Input: Given a matrix of 0, there are some areas populated with 1, 2, 3s.
Output: Map<int, numOfRegions>
Onsite:
Round 1: cultural, project deep dive, things that can be done better
Round 2: Calculator, implement a function to output the current display
based on the inputs that is already typed.
Round 3: Word Ladder II in Leetcode
Round 4: Design facebook event notification system (push on mobile app, and
pull on web), discuss storage/api, how to generate events, prefer to use
periodical job to scan incoming events and generate messages accordingly
Round 5: Culture fit, strength, how to deal with disputes among colleagues,
reverse linked list in pairs
Google:
1. Given a robot and a maze, the robot supports these apis:
Turn left, move forward, checkIsExit
Write a program to make it move to the exit
2. Design Youtube access control system, storage, scales
3. Suppose there are k threads, write a multi-thread program to make them
come to deadlock, I use semaphore at first, then was asked to implement it
with countDownLatch
4. RunLength encoding, discuss various ways to minimize the encoded string
under different constraints
5. Design a system to generate Ids for distributed DBs, discuss various
Zookeeper patterns (leader elections etc).
For a given number, how to return minimum number of squares that sums up to
this number
Phone:
Input: Given a matrix of 0, there are some areas populated with 1, 2, 3s.
Output: Map<int, numOfRegions>
Onsite:
Round 1: cultural, project deep dive, things that can be done better
Round 2: Calculator, implement a function to output the current display
based on the inputs that is already typed.
Round 3: Word Ladder II in Leetcode
Round 4: Design facebook event notification system (push on mobile app, and
pull on web), discuss storage/api, how to generate events, prefer to use
periodical job to scan incoming events and generate messages accordingly
Round 5: Culture fit, strength, how to deal with disputes among colleagues,
reverse linked list in pairs
Google:
1. Given a robot and a maze, the robot supports these apis:
Turn left, move forward, checkIsExit
Write a program to make it move to the exit
2. Design Youtube access control system, storage, scales
3. Suppose there are k threads, write a multi-thread program to make them
come to deadlock, I use semaphore at first, then was asked to implement it
with countDownLatch
4. RunLength encoding, discuss various ways to minimize the encoded string
under different constraints
5. Design a system to generate Ids for distributed DBs, discuss various
Zookeeper patterns (leader elections etc).
For a given number, how to return minimum number of squares that sums up to
this number
~ No comments: ~
【转载 From MITBBS】Google, Microsoft, Zenefits 面经
Google
电面了2轮,题目有:
一个grid,点代表城市,边代表道路,输入是一个起始点跟一堆destination,还有哪些
路被blocked 打印所有能到的点
老题,2d matrix的row跟column都是sorted, 在里面搜某个数
oil pipeline problem, 下面这个链接的10.3-9
http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/chap10
补充问题是如果有2根pipeline,怎么放
Microsoft
电面了2个组,记得的题目:
best time to sell stock变种,每天只能买0或者1个,可以卖任意多个
BST输出给定范围内的节点
棒球比赛,有N个batter,要记录每人打中的球的数目,还要按分数排序输出batter名
字,写数据结构+伪代码
还问一些操作系统,数据结构基本概念
Zenefits
在线做题,3个小时2道题,可以去搜面筋,重复率很高
可以在线跑test case然后改,会告诉你pass几个fail几个,但是不告诉你具体哪个
case fail
第一个题目是下面这个链接的第一题
http://www.meetqun.com/thread-7939-1-1.html
第2题 rank of permutation
电面了2轮,题目有:
一个grid,点代表城市,边代表道路,输入是一个起始点跟一堆destination,还有哪些
路被blocked 打印所有能到的点
老题,2d matrix的row跟column都是sorted, 在里面搜某个数
oil pipeline problem, 下面这个链接的10.3-9
http://staff.ustc.edu.cn/~csli/graduate/algorithms/book6/chap10
补充问题是如果有2根pipeline,怎么放
Microsoft
电面了2个组,记得的题目:
best time to sell stock变种,每天只能买0或者1个,可以卖任意多个
BST输出给定范围内的节点
棒球比赛,有N个batter,要记录每人打中的球的数目,还要按分数排序输出batter名
字,写数据结构+伪代码
还问一些操作系统,数据结构基本概念
Zenefits
在线做题,3个小时2道题,可以去搜面筋,重复率很高
可以在线跑test case然后改,会告诉你pass几个fail几个,但是不告诉你具体哪个
case fail
第一个题目是下面这个链接的第一题
http://www.meetqun.com/thread-7939-1-1.html
第2题 rank of permutation
~ No comments: ~
【转载 From MITBBS】FLGU面经offer及杂谈
上点新鲜面经回馈版面
F家phone
中年亚裔,比较注重细节
3sum, 每个元素可用多次
ksum, 讨论了下理论最优解法和复杂度,面试官说空间复杂度太大而且不好code,就用
简单方法写了个recursive的
约onsite时recruiter说entry level招满了,要把onsite推到10月,只能放弃了
L家
phone
两个老美都挺nice 一个主面一个shadow
第一题lowest common ancestor in binary tree with parent pointer
第二题find minimum distance between two words in a string array
e.g (“the”, “quick”, “brown”, “fox”, “quick”)
distance(“fox”,”the”) = 3
distance(“quick”, “fox”) = 1
onsite
1.host manager面,国人大叔,主要是些背景和behavior question
2.technical communication,亚裔小哥,讲自己的project
这里一点个人的经验是如果面试官不熟悉你的领域的话不一定要讲自己亲手做的东西,
但一定要懂细节(因为不是每个人都有拿得出手又适合展示的project),我就是讲自
己组产品的框架。重点是不要让面试官觉得你做的东西很简单没挑战性,但是也不能太
晦涩要让他能听懂。所以最好先讲大的框架不要抠细节,他如果对那个具体细节感兴趣
自己会问,然后你再和他讨论效果会比较好。最好从他感兴趣的某个点上展开体现下你
的知识深度。另外如果面试官问哪块是你做的可以适当吹牛。
3.lunch interview
陪同你吃饭的人要提供feedback所以开始以为会吃得很不自在,结果碰到超nice的国人
大哥,直接和我中文聊让我放松,最后一路聊天加饭后散步水过,非常感谢!
4. system design,两位国女面试官,经典题url shortener。
开始上网上看过的一个做法,直接被shadow面试官全盘否定。主面试官大姐人很好帮我
打圆场,重新开始设计。这里一点个人经验是有些面试官喜欢否定面试者,这样的人往
往不是大牛但自傲,这种时候哪怕你知道自己是对的也千万不要与之硬扛,否则必死无
疑。最好顺着他来拍个马屁什么的,还有一线生机。
5. coding interview one,面试官是酷酷的国人小哥和新来的印度小哥。
warm up 如果两个linked list intersect的话如何找到merge point。
follow up 有环的情况
假设给一排n个房子paint,有m种不同颜色可选,相邻房子不能同色,给定一个mxn的
cost matrix,求最小cost的染色方法。
6. coding interview two,白人小哥。
algorithm game,两个玩家从一组数里轮流取数,取过就从数组拿走,如果某个玩家取
数后所有已经取出的数和超过给定值则胜出,要求判断第一个拿是否能赢写函数
boolean isWin(Set<Integer> choosable,target)
判断一个数组里是否存在三个数可以组成一个三角形
lc原题all permutation of array,array 可以有重复元素,结果不允许重复
G家
内部哥们强推,跳过phone
onsite
1. card shuffler:shuffle的程序是一个简单的array,array里的值代表当前位置卡
片的下一个位置
e.g 当前卡片位置ABCDE shuffle array是01234的话下个卡片位置还是ABCDE,43210的
话下个卡片位置是EDCBA。
问给定一个shuffle array,不断用这个array去shuffle,能否得到最初的card deck,
能得话要多少次。
吐槽下,面试官是个三哥,全程非常严肃/黑脸,我说句话就用小本子记下搞得我很紧
张。我说用java写可以吗,曰可以,刚写了两行问我add是啥意思,不知道是想考我基
础知识还是不懂java。
2. 给定一个binary search tree,返回range内所有key,key可以有重复。
版上出现了多次的把一个数拆成任意个平方和的最小拆法。
面试官是中年国人大叔,除了告诉我题目是啥就在电脑上自顾自工作,问话要问两遍才
有反应。写完说我程序有问题,查了半天查不出bug,然后指出我漏了个尖括号,跪了
。。
3. 版上出现多次的longest consecutive sequence in tree
follow up 如何加速,memory放不下怎么办。
国人小哥比较nice,但是只要我不和他主动说话绝不主动和我说话,因为前两场心情略
糟糕写完题目在白板前发呆,哥们就望着我啥也不说,尴尬。。当然也不怪他我自己比
较紧张,回家发现有很弱智的bug但小哥没提不知道怎么回事,可能放我水了
4. 设计个用bit形式表示时间(小时:分钟)的clock,
e.g 10:15可以写作1010:1111,每个bit是一个小灯泡,打印所有有且仅有n盏灯亮着的
时间,
e.g. n=0就只有0:0一种可能。
面试官是亚裔年轻mm,话不多人很cool,但是思路清晰会引导面试者,感觉碰到懂得引
导面试者或冷漠面试官对面试人表现会有很大影响,真的是看运气了。
5.算法游戏,给一个只有+-两种字符的array,两个玩家,轮到某个玩家他可以任选
两个连续的--将他们变成++,如果某个玩家发现自己无法行动则赢得游戏,要求写
isWin(String s)判断先行动的玩家能否赢。
followup 如何优化,时间上和空间上。
面试官是做android前端的白人mm,非常活泼健谈,一路聊天愉快,面完就感觉她会给
强推。
之前发过了U的店面,最后签了offer,就不发onsite面筋了。
背景:phd1年多经验,非互联网养老公司
工作c/c++为主做软件性能优化比较多,为了面试专门去coursera上了java(之前有人
推荐的Princeton的算法课)和python的课,感觉多会几种语言后对水平帮助很大,准
备过程中有什么不懂就stackoverflow,
也很有帮助。之前没有任何互联网经验,唯一经验就是自己在aws上做一个小blog网站
,aws构架是scalability的经典教科书,值得学习一下
干货结束,之后是对各个公司和offer的看法,有很多主观因素,不喜勿喷。
G家
很多人觉得g家面试官总体素质很高,不过个人最近面试中的不愉快经历基本都是在g家
发生的,没有明显觉得g家面试官比别家水平高,可能是我运气不好或第一个面的太紧
张。
g家offer流程不确定性很大,快的一周内搞定,慢的要一个月也不稀奇(我自己亲身经
历没有team match还用了快一个月,中间recruiter换过一次,第一个面的g但别家
offer deadline都过了才出结果)。所以最好把g排在最早面试,但是坏处是拿g热身风
险太大,面专门的热身公司对骑驴找马的同学cost又比较高。
个人对g的看法比较neutral,觉得5年之内还是稳稳的业界老大,但是增长已经放缓,
暂时看不到第二春的迹象。坏处就是有明显的刷简历和养老公司的趋势,碰到许多ex-
googler对自由度低和没有存在感颇有微词。很多人升T5不久就走了。
g家默认发low ball offer,但是如果你有好的competing offer可以给的range比任何
一家都大,就看想不想抢你了。从我自己搜集的资料来看,T4的range大概是(括号我
自己的number做参考)
base : 130-140K (130)
GSU:300-800 (670)
signon:0-50K (50)
基本原则就是没好的competing offer往下限看齐,否则往上限看齐,当然可以更多,
但那基本是极少数牛人,不在讨论范围内。base是HC定的,negotiate空间很小,GSU和
signon有很大空间,senior的recruiter给个几万signon完全可以自己决定。所以有
competing尽管开口要不会有问题。
g家刷题还是有些用处的,但不是决定性的。对非大牛来说g offer运气成分很大,g家
的挑人原则和别人不一样,有strong hire很重要,有个把not hire不影响大局,总体
是1 strong hire + 1 not hire 》1 hire + 1 hire。如果一个strong没有哪怕全是
hire也可能过不了HC。从我自己的base可以推断feedback平均分很一般,但有人力挺我
才拿到的offer,因为recruiter专门和我提到impress some interviewer,并且自己感
觉很有可能有一个面试官给了我not hire。
L家
个人对L家印象不错,recruiter很热情,感觉对面试人比狗家上心,面完后两天就告诉
过了HC可以有offer,专门找了hm和director和我约谈,感觉都不错,最后据offer的时
候很不好意思。
L家是我面过所有里面coding比重较小的,它家题库不大,career cup和论坛上把他家
题都刷熟再加leetcode过coding面一点问题都没有。L家的重头戏在design和
communication,一定要好好准备,我有认识acm大牛没拿到L offer估计就是栽在这些
上面。
L家感觉作为第一份工作非常好:entry level package高,不low ball;app track很
多职位做的事情类似full stack engineer,从mobile到后端都管,是学习的好机会;
总体氛围不错,worklife balance好。缺点是:senior拿的/refresh不如g; 烙印hm
多,干活的都是老中;在普通人群中牌子不如g硬。当然每个人感受不同,其中很多缺
点也算不上缺点。个人聊过的烙印hm感觉人还不错。最后拿的包裹:
base: 145K
RSU: 300K
signon: 50K
U家
对U家最深刻的印象是里面每个人都对公司有超乎寻常的热情。后来才知道对他家没热
情的面试就被刷了。他家很看重这个,如果有人面试中觉得你对他们公司没信心,基本
是一票否决。U家大概是近几十年争议最大的公司了,如果你去网上看新闻评论,各种
负面报道和谩骂基本是铺天盖地,看不见什么好评论,光看这些感觉这个公司分分钟要
倒闭的样子,但事实是它的business还在以惊人的速度增长,鲜明对比下的问题值得深
思。网上有很大的一部分负面评论和customer service有关,它家只有邮件没有电话客
服让很多人很抓狂,另外负面宣传让很多没怎么用过uber的民众觉得它就是个黑车公司
,根本不知道它后面的mission。还有一个很有意思的是我生活中认识的用过uber的人
基本都说好,没见过一个说不好的,但网上骂的那么多真的让人怀疑是不是出租车司机
或水军。
u家非senior面试主要还是coding加一点点design,题目感觉中等偏难。如果senior的
话design类问题比重大大增加,而且会有些很难回答的非算法问题,感觉比较考全方位
的软实力。u家基本是一票否决,所以不能弄砸某一轮。最近还在大量招人,不过面的
人也很多,所以还是比较挑剔的导致议价空间也很小。
u家面试很高效,onsite当天或第二天给offer,过两天没消息基本就是挂了,它家
经过5月最新50b估值后standard package慢慢开始low ball了,最近的2级(比senior
低一级)standard range大概是
base: 125-130K
rsu:12000-14000 unit 按39/unit来的
传说中它家基本不negotiate,但个人经验还是可以的,但是你要有比较好的competing
offer。它家现在和g抢人抢的挺凶,所以有好的GF之类的offer还是可以讲的但是操作
空间也不是很大,最后g家给的包裹基本快赶上u了而且全是cash(签uber的第二天g股
票就飙了),选他家主要是在养老公司呆怕了,希望能有点impact,但愿以后不会后悔。
F家phone
中年亚裔,比较注重细节
3sum, 每个元素可用多次
ksum, 讨论了下理论最优解法和复杂度,面试官说空间复杂度太大而且不好code,就用
简单方法写了个recursive的
约onsite时recruiter说entry level招满了,要把onsite推到10月,只能放弃了
L家
phone
两个老美都挺nice 一个主面一个shadow
第一题lowest common ancestor in binary tree with parent pointer
第二题find minimum distance between two words in a string array
e.g (“the”, “quick”, “brown”, “fox”, “quick”)
distance(“fox”,”the”) = 3
distance(“quick”, “fox”) = 1
onsite
1.host manager面,国人大叔,主要是些背景和behavior question
2.technical communication,亚裔小哥,讲自己的project
这里一点个人的经验是如果面试官不熟悉你的领域的话不一定要讲自己亲手做的东西,
但一定要懂细节(因为不是每个人都有拿得出手又适合展示的project),我就是讲自
己组产品的框架。重点是不要让面试官觉得你做的东西很简单没挑战性,但是也不能太
晦涩要让他能听懂。所以最好先讲大的框架不要抠细节,他如果对那个具体细节感兴趣
自己会问,然后你再和他讨论效果会比较好。最好从他感兴趣的某个点上展开体现下你
的知识深度。另外如果面试官问哪块是你做的可以适当吹牛。
3.lunch interview
陪同你吃饭的人要提供feedback所以开始以为会吃得很不自在,结果碰到超nice的国人
大哥,直接和我中文聊让我放松,最后一路聊天加饭后散步水过,非常感谢!
4. system design,两位国女面试官,经典题url shortener。
开始上网上看过的一个做法,直接被shadow面试官全盘否定。主面试官大姐人很好帮我
打圆场,重新开始设计。这里一点个人经验是有些面试官喜欢否定面试者,这样的人往
往不是大牛但自傲,这种时候哪怕你知道自己是对的也千万不要与之硬扛,否则必死无
疑。最好顺着他来拍个马屁什么的,还有一线生机。
5. coding interview one,面试官是酷酷的国人小哥和新来的印度小哥。
warm up 如果两个linked list intersect的话如何找到merge point。
follow up 有环的情况
假设给一排n个房子paint,有m种不同颜色可选,相邻房子不能同色,给定一个mxn的
cost matrix,求最小cost的染色方法。
6. coding interview two,白人小哥。
algorithm game,两个玩家从一组数里轮流取数,取过就从数组拿走,如果某个玩家取
数后所有已经取出的数和超过给定值则胜出,要求判断第一个拿是否能赢写函数
boolean isWin(Set<Integer> choosable,target)
判断一个数组里是否存在三个数可以组成一个三角形
lc原题all permutation of array,array 可以有重复元素,结果不允许重复
G家
内部哥们强推,跳过phone
onsite
1. card shuffler:shuffle的程序是一个简单的array,array里的值代表当前位置卡
片的下一个位置
e.g 当前卡片位置ABCDE shuffle array是01234的话下个卡片位置还是ABCDE,43210的
话下个卡片位置是EDCBA。
问给定一个shuffle array,不断用这个array去shuffle,能否得到最初的card deck,
能得话要多少次。
吐槽下,面试官是个三哥,全程非常严肃/黑脸,我说句话就用小本子记下搞得我很紧
张。我说用java写可以吗,曰可以,刚写了两行问我add是啥意思,不知道是想考我基
础知识还是不懂java。
2. 给定一个binary search tree,返回range内所有key,key可以有重复。
版上出现了多次的把一个数拆成任意个平方和的最小拆法。
面试官是中年国人大叔,除了告诉我题目是啥就在电脑上自顾自工作,问话要问两遍才
有反应。写完说我程序有问题,查了半天查不出bug,然后指出我漏了个尖括号,跪了
。。
3. 版上出现多次的longest consecutive sequence in tree
follow up 如何加速,memory放不下怎么办。
国人小哥比较nice,但是只要我不和他主动说话绝不主动和我说话,因为前两场心情略
糟糕写完题目在白板前发呆,哥们就望着我啥也不说,尴尬。。当然也不怪他我自己比
较紧张,回家发现有很弱智的bug但小哥没提不知道怎么回事,可能放我水了
4. 设计个用bit形式表示时间(小时:分钟)的clock,
e.g 10:15可以写作1010:1111,每个bit是一个小灯泡,打印所有有且仅有n盏灯亮着的
时间,
e.g. n=0就只有0:0一种可能。
面试官是亚裔年轻mm,话不多人很cool,但是思路清晰会引导面试者,感觉碰到懂得引
导面试者或冷漠面试官对面试人表现会有很大影响,真的是看运气了。
5.算法游戏,给一个只有+-两种字符的array,两个玩家,轮到某个玩家他可以任选
两个连续的--将他们变成++,如果某个玩家发现自己无法行动则赢得游戏,要求写
isWin(String s)判断先行动的玩家能否赢。
followup 如何优化,时间上和空间上。
面试官是做android前端的白人mm,非常活泼健谈,一路聊天愉快,面完就感觉她会给
强推。
之前发过了U的店面,最后签了offer,就不发onsite面筋了。
背景:phd1年多经验,非互联网养老公司
工作c/c++为主做软件性能优化比较多,为了面试专门去coursera上了java(之前有人
推荐的Princeton的算法课)和python的课,感觉多会几种语言后对水平帮助很大,准
备过程中有什么不懂就stackoverflow,
也很有帮助。之前没有任何互联网经验,唯一经验就是自己在aws上做一个小blog网站
,aws构架是scalability的经典教科书,值得学习一下
干货结束,之后是对各个公司和offer的看法,有很多主观因素,不喜勿喷。
G家
很多人觉得g家面试官总体素质很高,不过个人最近面试中的不愉快经历基本都是在g家
发生的,没有明显觉得g家面试官比别家水平高,可能是我运气不好或第一个面的太紧
张。
g家offer流程不确定性很大,快的一周内搞定,慢的要一个月也不稀奇(我自己亲身经
历没有team match还用了快一个月,中间recruiter换过一次,第一个面的g但别家
offer deadline都过了才出结果)。所以最好把g排在最早面试,但是坏处是拿g热身风
险太大,面专门的热身公司对骑驴找马的同学cost又比较高。
个人对g的看法比较neutral,觉得5年之内还是稳稳的业界老大,但是增长已经放缓,
暂时看不到第二春的迹象。坏处就是有明显的刷简历和养老公司的趋势,碰到许多ex-
googler对自由度低和没有存在感颇有微词。很多人升T5不久就走了。
g家默认发low ball offer,但是如果你有好的competing offer可以给的range比任何
一家都大,就看想不想抢你了。从我自己搜集的资料来看,T4的range大概是(括号我
自己的number做参考)
base : 130-140K (130)
GSU:300-800 (670)
signon:0-50K (50)
基本原则就是没好的competing offer往下限看齐,否则往上限看齐,当然可以更多,
但那基本是极少数牛人,不在讨论范围内。base是HC定的,negotiate空间很小,GSU和
signon有很大空间,senior的recruiter给个几万signon完全可以自己决定。所以有
competing尽管开口要不会有问题。
g家刷题还是有些用处的,但不是决定性的。对非大牛来说g offer运气成分很大,g家
的挑人原则和别人不一样,有strong hire很重要,有个把not hire不影响大局,总体
是1 strong hire + 1 not hire 》1 hire + 1 hire。如果一个strong没有哪怕全是
hire也可能过不了HC。从我自己的base可以推断feedback平均分很一般,但有人力挺我
才拿到的offer,因为recruiter专门和我提到impress some interviewer,并且自己感
觉很有可能有一个面试官给了我not hire。
L家
个人对L家印象不错,recruiter很热情,感觉对面试人比狗家上心,面完后两天就告诉
过了HC可以有offer,专门找了hm和director和我约谈,感觉都不错,最后据offer的时
候很不好意思。
L家是我面过所有里面coding比重较小的,它家题库不大,career cup和论坛上把他家
题都刷熟再加leetcode过coding面一点问题都没有。L家的重头戏在design和
communication,一定要好好准备,我有认识acm大牛没拿到L offer估计就是栽在这些
上面。
L家感觉作为第一份工作非常好:entry level package高,不low ball;app track很
多职位做的事情类似full stack engineer,从mobile到后端都管,是学习的好机会;
总体氛围不错,worklife balance好。缺点是:senior拿的/refresh不如g; 烙印hm
多,干活的都是老中;在普通人群中牌子不如g硬。当然每个人感受不同,其中很多缺
点也算不上缺点。个人聊过的烙印hm感觉人还不错。最后拿的包裹:
base: 145K
RSU: 300K
signon: 50K
U家
对U家最深刻的印象是里面每个人都对公司有超乎寻常的热情。后来才知道对他家没热
情的面试就被刷了。他家很看重这个,如果有人面试中觉得你对他们公司没信心,基本
是一票否决。U家大概是近几十年争议最大的公司了,如果你去网上看新闻评论,各种
负面报道和谩骂基本是铺天盖地,看不见什么好评论,光看这些感觉这个公司分分钟要
倒闭的样子,但事实是它的business还在以惊人的速度增长,鲜明对比下的问题值得深
思。网上有很大的一部分负面评论和customer service有关,它家只有邮件没有电话客
服让很多人很抓狂,另外负面宣传让很多没怎么用过uber的民众觉得它就是个黑车公司
,根本不知道它后面的mission。还有一个很有意思的是我生活中认识的用过uber的人
基本都说好,没见过一个说不好的,但网上骂的那么多真的让人怀疑是不是出租车司机
或水军。
u家非senior面试主要还是coding加一点点design,题目感觉中等偏难。如果senior的
话design类问题比重大大增加,而且会有些很难回答的非算法问题,感觉比较考全方位
的软实力。u家基本是一票否决,所以不能弄砸某一轮。最近还在大量招人,不过面的
人也很多,所以还是比较挑剔的导致议价空间也很小。
u家面试很高效,onsite当天或第二天给offer,过两天没消息基本就是挂了,它家
经过5月最新50b估值后standard package慢慢开始low ball了,最近的2级(比senior
低一级)standard range大概是
base: 125-130K
rsu:12000-14000 unit 按39/unit来的
传说中它家基本不negotiate,但个人经验还是可以的,但是你要有比较好的competing
offer。它家现在和g抢人抢的挺凶,所以有好的GF之类的offer还是可以讲的但是操作
空间也不是很大,最后g家给的包裹基本快赶上u了而且全是cash(签uber的第二天g股
票就飙了),选他家主要是在养老公司呆怕了,希望能有点impact,但愿以后不会后悔。
~ No comments: ~
[转载 From MITBBS] Google Interview Questions
1. 二维matrix,含0,1。 1是障碍。
00011
11100
从左上角出发到右下角, 可以往上,往下,往右移动。
把1变成0,使得你可以从左上角到右下角。
求最小的变化数字。
2。 两个区间,左闭右开。数字可以是整数或者浮点,
要你判断两个区间是否相交。
特殊例子需要你自己定义。
00011
11100
从左上角出发到右下角, 可以往上,往下,往右移动。
把1变成0,使得你可以从左上角到右下角。
求最小的变化数字。
2。 两个区间,左闭右开。数字可以是整数或者浮点,
要你判断两个区间是否相交。
特殊例子需要你自己定义。
~ No comments: ~
[From MITBBS] Google Interviews Experience
Myself:
Definitely middle-aged.I am now over 40. I graduated long time ago. I am not
very successful in my career. My spoken English is BAD. I came from Canada
to Bay Area six months ago with TN visa. I received a call from recruiter 2
months ago, and started to prepare for interview. Had phone interview one
month ago, and had onsite interview recently.
Interview process
Phone Interview: Sparse Matrix Addition.
after this, I asked to schedule onsite interview one month later so I could
have time to prepare.
I am interviewed for front-end position. onsite interview has 5 sessions.
All of them are conducted by native-speakers. Four of them are front-end
questions(html/javascrpt/css/web security) mixed with with some algorithms.
One of them was system design(or data structure design). I did bad in this
one. This design question can be easily reduced to a tree construction/
traversal question. But I am so used to List/map in my daily coding. I didn'
t recognize that it is a tree problem. Anyone will have this problem after
he works after a while. Think how many time you use tree/graph in your daily
program. I used none.
Lessons
I was given a mock interview by one developer manager in G家。He told me
that each interviewer has about 3 or four questions in reserve. The
interviewer will select one of them from his reserve to question applicant.
Interviewer does not change his reserve unless some of them are exposed in
internet and banned by company. Very useful information, isn't it?
he told me that the question should be relative easy and coding can be
finished in 20 to 30 minutes. It does NOT test your knowledge in graph, etc.
So what does it test? It tests whether you can find a simple(or brute force
) solution and code them correctly. 1) finding simple solution is not easy.
It really needs some intuition and luck. 2) He may not be correct since I
saw so many graph and other algorithm questions in this board and leetcode.
lesson 1: I was given some relative simple algorithm questions. two of them
appeared in this board and leetcode. But I only started checking this board
2 days before onsite interview. I didn't pay attention and think them over
before interview. Luckily I have correct solution for them during interview.
So the lesson is allocating sometime to go over the questions in this
board or leetcode before interview! It could be helpful.
Lesson 2: you definitely don't need to remember how to construct red-black
tree, suffix tree, max-flow algorithm. They are too complicated to fit in
one interview session and couldn't test anything of the applicant. I spent
about more than two weeks on them! What a waste!
Lesson 3: communication! I lack communication in the system design session.
I rushed to coding. I only have about 3 to 4 eye contacts. Try to read the
interviewer face expression to guess you are on the right track or not.
Developer manager told me this. But I am really bad at this aspect.
Lesson 4: interview for front-end engineer is easier than back-end or full-
stack engineer. It is my feeling.
This link is in the guide from recruiter: https://www.topcoder.com/community
/data-science/data-science-tutorials/. it is pretty good. If you have time,
you can go over it.
I can't point out what questions were asked since I signed NDA. I hope these
lessons are helpful to others.
Definitely middle-aged.I am now over 40. I graduated long time ago. I am not
very successful in my career. My spoken English is BAD. I came from Canada
to Bay Area six months ago with TN visa. I received a call from recruiter 2
months ago, and started to prepare for interview. Had phone interview one
month ago, and had onsite interview recently.
Interview process
Phone Interview: Sparse Matrix Addition.
after this, I asked to schedule onsite interview one month later so I could
have time to prepare.
I am interviewed for front-end position. onsite interview has 5 sessions.
All of them are conducted by native-speakers. Four of them are front-end
questions(html/javascrpt/css/web security) mixed with with some algorithms.
One of them was system design(or data structure design). I did bad in this
one. This design question can be easily reduced to a tree construction/
traversal question. But I am so used to List/map in my daily coding. I didn'
t recognize that it is a tree problem. Anyone will have this problem after
he works after a while. Think how many time you use tree/graph in your daily
program. I used none.
Lessons
I was given a mock interview by one developer manager in G家。He told me
that each interviewer has about 3 or four questions in reserve. The
interviewer will select one of them from his reserve to question applicant.
Interviewer does not change his reserve unless some of them are exposed in
internet and banned by company. Very useful information, isn't it?
he told me that the question should be relative easy and coding can be
finished in 20 to 30 minutes. It does NOT test your knowledge in graph, etc.
So what does it test? It tests whether you can find a simple(or brute force
) solution and code them correctly. 1) finding simple solution is not easy.
It really needs some intuition and luck. 2) He may not be correct since I
saw so many graph and other algorithm questions in this board and leetcode.
lesson 1: I was given some relative simple algorithm questions. two of them
appeared in this board and leetcode. But I only started checking this board
2 days before onsite interview. I didn't pay attention and think them over
before interview. Luckily I have correct solution for them during interview.
So the lesson is allocating sometime to go over the questions in this
board or leetcode before interview! It could be helpful.
Lesson 2: you definitely don't need to remember how to construct red-black
tree, suffix tree, max-flow algorithm. They are too complicated to fit in
one interview session and couldn't test anything of the applicant. I spent
about more than two weeks on them! What a waste!
Lesson 3: communication! I lack communication in the system design session.
I rushed to coding. I only have about 3 to 4 eye contacts. Try to read the
interviewer face expression to guess you are on the right track or not.
Developer manager told me this. But I am really bad at this aspect.
Lesson 4: interview for front-end engineer is easier than back-end or full-
stack engineer. It is my feeling.
This link is in the guide from recruiter: https://www.topcoder.com/community
/data-science/data-science-tutorials/. it is pretty good. If you have time,
you can go over it.
I can't point out what questions were asked since I signed NDA. I hope these
lessons are helpful to others.