最近微软访问了我们的校园,寻找 SDE 实习生。整个过程历时4个多月。
第 1 轮(在线 MCQ)
时间-30 分钟
本轮包括C、C++、Aptitude(概率)和操作系统的25个问题。
150 名学生中有 60 名入围下一轮。
第二轮(在线编码轮)
时间-90分钟
1) 写一个函数来检查字符串是否有效。(Check Balanced Parenthesis{},[],())。
*/header Stack.h 是在 C++/* 中添加的
https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/
2) 编写一个递归函数来形成一个包含两个给定链表的交集的列表,而不需要创建新节点。
https://www.geeksforgeeks.org/intersection-of-two-sorted-linked-lists/
https://www.geeksforgeeks.org/union-and-intersection-of-two-linked-lists/
选择了同时解决了两个问题的学生,也选择了一些解决了一个问题的学生。
37名学生入围下一轮。
第三轮(电话面试)
时间-27分钟
-首先,面试官自我介绍。然后让我做同样的。他让我带一支笔和一张纸。
– 他让我简要描述我在简历中写的所有内容。
-关于我的项目的问题
-随机函数
-关于Sql和Oracle的问题
-我在项目中遇到的困难
– 问我是想回答关于 DS 的问题还是谜题。我都说了。
-DS
-O(n) 中树的高度。
– 找到找到叶节点的最小级别。
– 树的高度和最小级别的叶节点何时相等。
-什么是高度平衡的树。
-谜
– 给一盘红色和蓝色的球。用最少的交换将左边的红色和右边的蓝色分开。
– 用红球、蓝球和绿球解决同样的问题。(只遍历一次!)
只有 9 人入围了进一步的面试。我有幸成为其中之一。
我们被叫到位于海得拉巴的微软印度开发中心。共有 23 名学生来自 IIT indore、IIT hyderabad、
IIIT 海得拉巴和其他一些研究所。
有 3 次 f2f 面试。
第 4 轮(技术)(30 分钟)
1) 继续讨论。
2)写一个算法来合并两个排序的链表。我写了一个算法然后他让我
– 在不使用双指针的情况下进行。
– 没有虚拟节点
-问我如何测试我的解决方案。
-所有可能的测试用例以及我的代码将如何响应它们。
https://www.geeksforgeeks.org/merge-two-sorted-linked-lists/
关于项目的一般讨论。
*\最简单的回合!\*
在第四轮之后不久,我们中的一些人被要求参加下一轮。
第 5 轮(技术)(35 分钟)
1)离根K距离的节点。他让我写测试用例。我写了大约15.他很满意。
2)什么是死锁?
死锁的条件。
编写代码以显示死锁。
解释银行家算法。
3)给定一个列号,找到它对应的Excel列名。
https://www.geeksforgeeks.org/find-excel-column-name-given-number/
他告诉我,我有很好的编码技能。
第 6 轮(应该是 HR 但技术!)(30 分钟)
他问我之前的面试怎么样。
问我这样的术语
-垃圾收集器
-Unicode
-Ascii 等。(大约 10 个!)
1) 给定 n (数组的元素数){1,2,3,4,5,6,7,8} , K (指定的一行或一列中的元素数)(例如 3)
和一个布尔变量 Col & Row。当 Col =True 时,我们必须打印数组元素,例如-
1 4 7
2 5 8
3 6
当 row=True 时
1 2 3
4 5 6
7 8
2)假设有一个电脑屏幕。所有的像素都是黑色的。给定 (x1,y1) 和 (x2,y2) 你必须给连接这些的线着色
两点黑。
(提示:这条线并不总是一条对角直线。有时我们可能必须垂直向上然后横向移动)
面试官很有帮助,很有耐心。
体验很棒!人家真是太接地气了!每一次面试都感觉像是一次简单的点对点对话。
我所建议的只是 Geeks For Geeks 而你什么都不用做 😀