第 1 轮:在线编码测试
我在我的TYBTech。 (Sem 5),当微软访问我们的校园提供2个月的暑期实习。
第一轮是在 CoCubes 平台上进行在线编码测试。题型难度中等。 3 编码问题需要解决。问题是
- 一个车牌问题,平日只有奇数和偶数车牌的车辆可以出去。给定工作日的车辆数量和奇数/偶数时间表,找出一天可以出门的最大车辆数。
- 一个基于图的 BFS 的问题。类似于烂橙子问题。
- 给定一个单链表,使用 O(1) 空间反转链表。
其他一些问题是
- 在大小为 K 的组中反转链表
- 一些基于 BST 和图的遍历问题。
近25名学生通过了这一轮。
第 2 轮:纸上编码轮
成立了小组,每个小组都分配了一名导师。我们应该在纸上解释给我们的导师和代码的问题的方法。问题是:
- 在不使用额外空间的情况下检查给定的二叉树是否是 BST。
- 查找数组的第二个最大元素。
- 查找 BST 的深度。
我发现第一个问题是树的有序遍历,但没有使用额外的空间。我将空间复杂度降低到 O(1),但时间复杂度为 O(n)。我使用递归找到了 BST 的深度。
近15名学生被选为面对面的面试。我就是其中之一。
第 3 轮:面对面面试 – 1
我面试时问的问题是:
- 写在纸上用于二分搜索的代码
- 使用堆栈数据结构实现队列数据结构。
- 编写代码来堆化一个数组。这基本上是一个堆数据结构问题,但我在这里搞砸了。
- 询问有关动态规划和查找最长回文子序列的问题。
- DBMS 的 ACID 属性。
这一轮只有 5 人通过了,我在这之后被拒绝了。