M家onsite面经# JobHunting - 待字闺中
P*y
1 楼
周四面的SDE, 面完就给口头offer了,没签啥保密协议,就分享一下面经。
运气比较好,五个人全是美国人
第一个人:1. two sum,很简单。 2. 一个人与人之间认识的关系网,单向的,就是我
认识你,你不一定认识我。每两个人之间至少有一种认识关系。如果一个人被别人认识
,但都不认识别人,叫做celebrity。问是否存在这样的celebrity,如果存在,可否存
在多于一个的celebrity。然后问怎么去represent这样的关系
第二个人:1. rotated数组找最小值,经典题。2.一堆六边形连成一片,每个六边形上
有字母B代表base或者数字代表资源数。需要解决的问题是为每个base分配资源,使得
每个base都可以分配的10个资源。每个base只能得到相邻的资源,如果取得某个资源后
,可以再去找这个资源相邻的资源。让设计API接口来解决这个问题。属于OOD的题
第三个人:1. 判断两个null结束的字符串是否anagram。里面有除字母外的其他字符,
但要skip这些字符。写完后让优化空间到最小。这个很喜欢问优化的问题。2. null结
束的字符串把空格替换成“%20”,in place。有告诉你字符串的memory大小,先判断
能否这样替换,如果能再进行替换。还问了判断是否为空格进行处理的条件if,else对
调的话对性能有啥影响。主要从architecture角度考虑。
第四个人:1. 先序中序恢复二叉树。这个比较狡猾。说完题目我讲思路的时候就问我
是否做过,我老实交待。然后就换题了。2. 双向链表swap pair。leetcode上的是单向
链接。这个双向有更多的指针,比较容易搞错。这就题被找到了两个bug。其他之前的
题都bug free.
第五个人:应该是manager。先问了research的项目和一些behavior的问题。之前前面
的人也都有问一些behavior的问题。然后做了一个关于DAG的BFS。
整体都不难,就是经常从每道题还扩展一些问题,有时候刚开始不知道他们想要啥答案
,好几个人都是在经过提示下最后说出了他们想要的,然后就很满意了。
运气比较好,五个人全是美国人
第一个人:1. two sum,很简单。 2. 一个人与人之间认识的关系网,单向的,就是我
认识你,你不一定认识我。每两个人之间至少有一种认识关系。如果一个人被别人认识
,但都不认识别人,叫做celebrity。问是否存在这样的celebrity,如果存在,可否存
在多于一个的celebrity。然后问怎么去represent这样的关系
第二个人:1. rotated数组找最小值,经典题。2.一堆六边形连成一片,每个六边形上
有字母B代表base或者数字代表资源数。需要解决的问题是为每个base分配资源,使得
每个base都可以分配的10个资源。每个base只能得到相邻的资源,如果取得某个资源后
,可以再去找这个资源相邻的资源。让设计API接口来解决这个问题。属于OOD的题
第三个人:1. 判断两个null结束的字符串是否anagram。里面有除字母外的其他字符,
但要skip这些字符。写完后让优化空间到最小。这个很喜欢问优化的问题。2. null结
束的字符串把空格替换成“%20”,in place。有告诉你字符串的memory大小,先判断
能否这样替换,如果能再进行替换。还问了判断是否为空格进行处理的条件if,else对
调的话对性能有啥影响。主要从architecture角度考虑。
第四个人:1. 先序中序恢复二叉树。这个比较狡猾。说完题目我讲思路的时候就问我
是否做过,我老实交待。然后就换题了。2. 双向链表swap pair。leetcode上的是单向
链接。这个双向有更多的指针,比较容易搞错。这就题被找到了两个bug。其他之前的
题都bug free.
第五个人:应该是manager。先问了research的项目和一些behavior的问题。之前前面
的人也都有问一些behavior的问题。然后做了一个关于DAG的BFS。
整体都不难,就是经常从每道题还扩展一些问题,有时候刚开始不知道他们想要啥答案
,好几个人都是在经过提示下最后说出了他们想要的,然后就很满意了。