📜  微软面试经历|校内实习

📅  最后修改于: 2021-11-17 09:58:19             🧑  作者: Mango

第 1 轮:在线编码测试

我在我的TYBTech。 (Sem 5),当微软访问我们的校园提供2个月的暑期实习。

第一轮是在 CoCubes 平台上进行在线编码测试。题型难度中等。 3 编码问题需要解决。问题是

  1. 一个车牌问题,平日只有奇数和偶数车牌的车辆可以出去。给定工作日的车辆数量和奇数/偶数时间表,找出一天可以出门的最大车辆数。
  2. 一个基于图的 BFS 的问题。类似于烂橙子问题。
  3. 给定一个单链表,使用 O(1) 空间反转链表。

其他一些问题是

  1. 在大小为 K 的组中反转链表
  2. 一些基于 BST 和图的遍历问题。

近25名学生通过了这一轮。

第 2 轮:纸上编码轮

成立了小组,每个小组都分配了一名导师。我们应该在纸上解释给我们的导师和代码的问题的方法。问题是:

  1. 在不使用额外空间的情况下检查给定的二叉树是否是 BST。
  2. 查找数组的第二个最大元素。
  3. 查找 BST 的深度。

我发现第一个问题是树的有序遍历,但没有使用额外的空间。我将空间复杂度降低到 O(1),但时间复杂度为 O(n)。我使用递归找到了 BST 的深度。

近15名学生被选为面对面的面试。我就是其中之一。

第 3 轮:面对面面试 – 1

我面试时问的问题是:

  1. 写在纸上用于二分搜索的代码
  2. 使用堆栈数据结构实现队列数据结构。
  3. 编写代码来堆化一个数组。这基本上是一个堆数据结构问题,但我在这里搞砸了。
  4. 询问有关动态规划和查找最长回文子序列的问题。
  5. DBMS 的 ACID 属性。

这一轮只有 5 人通过了,我在这之后被拒绝了。