📜  微软IDC面试经历| 81套(实习用)

📅  最后修改于: 2021-11-10 06:17:39             🧑  作者: Mango

第一轮是技术能力。大约有 120 名学生坐了下来。询问了 15 个 MCQ——每个人都有不同的设置。各种各样的问题都被问到了,我有关于 C、STL、排序、 Java、计算机体系结构和操作系统的每个问题。

第二轮-编码。
大约 60 名学生入围,并在同一天进行了编码回合。每个人都有不同的问题。给出了两个问题,我有-
1. 求一棵二叉树所有叶子在同一层上的数据和,然后将所有层的和相乘。
2. 给定两个链表,每个链表都包含一个正数,找出两个数的差并将其存储在链表中,并返回对结果链表头部的引用。
例如:LinkedList1: 6 -> 5 -> 3 -> 0
LinkedList2:4 -> 5 -> 2 -> 0
输出 -> 2 -> 0 -> 1 -> 0

两个都解决的人,有的人一个都解决了。一个月后公布结果。
第二轮后有 25 人入围,并被召集到班加罗尔。
来自不同学院的许多学生都在那里接受了过程。

第三轮——组飞。
这是淘汰赛。一小时内要解决两个问题。每组 8-9 名学生分配一名导师。我们必须讨论我们的方法,然后编码并提交。
1. 在 O(n) 中原地删除字符串中的重复项。
2. 检查给定的二叉树是否平衡。定义是没有两片叶子的高度差应该大于一。
解决了这两个问题的人都入围了。

第四轮 – 技术面试(45 分钟到 1 小时)
面试官很热情,也很配合。
关于我的项目的前 15 分钟讨论。然后他问了我一个关于数组的问题。
给定三个数组 (arr1, arr2, arr3),每个数组都包含不同的正数,分别从 arr1, arr2, arr3 中找到三个数字 a,b,c,使得 (abs(ab) + abs(bc) + abs(ca)) 是最低限度。我为它提供了一个 nlogn 方法,然后我将代码写在纸上。
最后一轮是 HR
除了 HR 问题之外,我还被要求解释溢出和下溢算术异常并编写代码来检测它。
整体体验非常好。面试结束10天后公布最终结果。

微软的所有练习题!