📜  微软面试 |第 29 组(校内实习)

📅  最后修改于: 2021-11-10 07:04:32             🧑  作者: Mango

最近我们在我们的校园进行了微软面试实习。

在线测试
这是技术+少数能力测试。 Cocubes.com 上的所有学生都有大约 4-5 套 mcq。我很幸运有一个简单的。

然后我被选中参加第二轮。

第二轮:(在线评委)

    大约 200 人被选入第二轮。本轮包含2个问题。

  1. 给定一个链表,其中包含以“0”分隔的一系列数字。添加它们并就地存储在链表中。
    for eg : i/p linked list is 1->2->3->0->5->4->0->3->2->0
    o/p Linked list is 6->9->5
  2. 给定一棵二叉树和值 V。删除其值等于 V 的所有叶节点。它必须处理所有情况,例如,如果你从一个节点说 B 中删除两个叶。那么节点 B 也成为叶节点。
    这一轮是相当轻松的一轮。第一个可以在 O(n) 中完成,第二个可以通过后序遍历完成。

    我有信心我会被选中参加下一轮。一周后公布结果,24名学生被选入下一轮。

第三轮:(集体面试 笔试)

    本轮仅17名学生,前7名直接进入第4轮。我是七个人之一。排名以前两轮的成绩为准。所以每一轮在微软都很重要。

    这次面试问了2个问题。

  1. 删除双向链表中的备用节点。
  2. 将字符串转换为没有重复的字符串而不改变字符的顺序。 EG:输入:香蕉输出:禁令

.

他们中的许多人很容易在这一轮中被淘汰出局。整洁和缩进也很重要。

第四回合:(技术回合)

    这一轮是最艰难的一轮。面试官似乎有点严格。他把我和另外一个男孩叫进去接受采访。
    我以为他会在我们中选出一个参加下一轮比赛。但实际上你不会在这些方面进行比较。他们问我的第一个问题是
  1. 给定一个二维字符数组,你可以向下、向左、对角线向下移动并形成一个字符串并检查该字符串是否存在于字典中。
    答。我给了他回溯方法,他看到了,他问我是否可以再改进一点。我给出了在字典中搜索的二进制搜索解决方案,他告诉我我也可以使用前缀检查。然后我利用了它。然后他转向第二个问题。
  2. 给定一个棋盘 nXn 大小和骑士,你从位置 (a,b) 开始,必须以最少的步数到达 (C,d),并且在一些方块中可以有墙也可以阻挡骑士。
    GeeksforGeeks 链接
    我真的很紧张,紧张时我给了他 DFS 解决方案。他一直问我是否可以改进它,最后我告诉我可以应用 djksthra 算法。但我没有提到 BFS 这个词。我出来了,我以为我不会被选中参加下一轮。

    同时问我朋友的问题是

  3. 拓扑排序
  4. 盒子堆叠动态规划问题。

第 5 轮(个人面试):

    他们叫了我的名字,我就进去了。我把我的简历给了他,他通过了简历,然后他对我在第二年的 groupon 实习印象深刻。然后他问我为什么是微软?然后我们聊了一会儿游戏编程(Xbox),他问了云计算。然后他在我的简历中看到我是弱学生数据结构的导师,所以他在链接列表中问了我的问题。
  1. 给定一个 2n 大小的单链表。第一个 n 和第二个 n 被排序。对整个链表进行排序。他要求提供所有可能的解决方案。我告诉他解决方案
    • 按节点交换
    • 按数据交换
    • 归并排序方法
    • 散列(计数排序方法)
      这并不太难。

第六轮(最后一轮)

    我认为这是压力面试。面试叫我和我的一位朋友一起进去。他问我们关于前两轮的情况。然后他给了我2个问题
  1. 设计 LRU 缓存。 (我前一天读过这个)
  2. 在字符串查找和替换。

    最后我被选为微软实习生。微软的人也很好很友好。我在采访之前阅读了几个网站,geeksforgeeks 是其中最好的网站之一。准备geeksforgeeks的面试真的很好,微软的每一轮都很重要。

微软的所有练习题!