微软最近访问了校园,为IDC和IT档案招聘实习生。 我想分享我的经历。
- 在线MCQ回合 -约15个问题和30分钟-cocubes上的MCQ问题。通用域名格式 问题主要是C和Java中的输出类型问题,还有一些关于组合学的问题。
.
- 在线编码回合 –两个CoCube编码问题,提供一小时。 第一个问题是给出一个二叉树,写一个函数,返回树的叶子的链表,这样 a) 链表中的节点按最左边的叶子到最右边的顺序排列,即头部是最左边的叶子 b) 使用常量(O(1))内存–不允许存储指针等 第二个问题是,给定一个数组和一个沿着数组滑动的窗口大小,求每个窗口中唯一元素的总数。
For example, if the array were 1 2 1 3 3 and window size was three First window - 1 2 1 - only two unique = 1 Second window- 2 1 3 - all unique = 3 Third window - 1 3 3 - only one unique = 1 Total = 1+3+1 = 5 Which was to be returned.
很少有人用O(n)求解,但大多数人用O(nk)求解,其中n是数组的大小,k是窗口的大小。
.
- 集体飞行 –给出了两个问题,需要在大约20分钟内解决(最多)
问题是: a) 给定一个已旋转的已排序数组,找到排序到哪个数组的索引。
对于ex:3 4 5 6 1 2,答案是3,因为元素6的索引是3。
b) 给定一个数字数组,找出数组中三个数字的最大乘积
我们被期望编写解决方案、编写方法、时间复杂度和测试用例。
对于第一个问题,他们期望一个O(logn)解决方案,其中n是数组的大小。 对于后者,他们主要想检查申请者在数组中是否考虑了负数,产品可以是三个正数,也可以是两个负数和一个正数。
.
- 采访一 很少有基于理论的问题,如C++中的抽象,易失性关键词。 给出了一个问题——“给定一个数字数组,编写一个返回平衡二叉树的函数”。他还要求我修改它,以返回一个尽可能接近对称的二叉树。
.
- F2F采访II –首先给出了一个简单的图案打印问题–例如,如果给出16,则打印:
16 11 6 1 -4 1 6 11 16 if input was 10 10 5 0 5 10
挑战是不声明任何变量或使用任何循环。给出了一个简单的递归函数,隐式使用堆栈打印模式。他很满意。
第二个问题是,给定两个排序的数组,在线性时间内合并它们,而不使用额外的空间,也就是说,给定一个数组,有足够的额外空间来容纳第二个数组和第二个数组,这两个数组都已排序,将第二个数组合并为第一个数组,并以O(m+n)时间和O(1)空间复杂度返回它,其中m是第一个数组的大小,n是第二个数组的大小。
.
- 采访三 –这在一定程度上也是一次人力资源采访,我们讨论了微软及其服务/工作文化/竞争。
唯一的问题是给一本包含所有单词的字典,把所有的字谜打印在一起,时间与字典中的单词数成线性关系。
面试真的很发人深省,面试官很有帮助,也很友好。作为一个团队,而不是解决问题。面试官非常乐于接受我们的问题和耐心。
大约70人撰写了在线MCQ轮次,大约30人进入了编码轮次。有些人直接被要求参加面试,有些人不得不参加集体飞行。大多数被选中的候选人都是参加集体飞行的人。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。