📜  微软面试经历|设置 161(校园内)

📅  最后修改于: 2021-11-17 07:25:21             🧑  作者: Mango

微软来到我们的校园,大约有 170 人参加了。

第一回合:
这是在 CoCubes.com 上进行的,我们必须在 75 分钟内解决 3 个问题。每个人的问题都不一样。我的问题是:

  1. https://www.geeksforgeeks.org/length-longest-consecutive-1s-binary-representation/
  2. https://www.geeksforgeeks.org/leaders-in-an-array/
  3. 我们得到了一个链表,我们必须以这样的方式分离它的偶数和奇数位置节点,奇数位置节点在偶数位置节点之前,偶数位置节点必须附加在奇数位置节点之后,但顺序相反。我们不被允许使用任何额外的空间。
    Ex – linked list: – 1 -> 2 -> 3 -> 4 -> 5 -> 6
    Output: – 1 -> 3-> 5 -> 6 -> 4-> 2.

    其中 72 人被选中进行更多轮次。
    在微软海得拉巴办公室进行了更多轮次。

组飞:

    在这两个问题中显示了每个人都共有的问题。有一位导师分配给 6 人,您可以与他们讨论问题并提出疑问。 (PS:尽量多和他们谈谈。提交前告诉他们你的解决方案。告诉他们一些你能想到的好的测试用例)。

    问题是:

  1. https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/
  2. https://www.geeksforgeeks.org/connect-nodes-at-same-level/

其中 36 人被选中进行进一步的轮次。

技术面试第一轮:

    我没有发现面试官很有帮助。他也问了我一些突如其来的问题。
  1. 计算一个数字的二进制表示中 1 的数量。

    我先给了他天真的方法。他让我降低时间复杂度。我告诉他我们可以使用备忘录。他再次说我想要介于两者之间的东西(即空间复杂度和时间复杂度都不是太大)。然后在一些不成功的尝试之后,他要求使用线程(奇怪,是的!)。然后他不满意,要求继续前进。

  2. https://www.geeksforgeeks.org/union-and-intersection-of-two-linked-lists/

    这很容易,我编写了完整的代码。然而,他问了一些特定于测试用例的问题,我真的无法回答。然后我们继续前进。

    幸运的是我被选中参加第 2 轮。

第二轮技术面试:

    这次面试官
    真的很有帮助和甜蜜。他问了我一个问题:
  1. 1.) 给定两个字符串s1 和 s2。从 s1 原地删除 s2 中的所有字符实例。
    Ex: s1 = "hello world" : s2 = "eo" ; new s1 = "hll wrld"

    我给了他两种方法。
    a.) O(mn) 我们使用蛮力。
    b.) O(n) 其中我们使用哈希映射来存储 s2 的字符

    并遍历 s1。

    他也想要介于两者之间的东西。思索之后

    有一段时间我想出了一个 mlogn 方法,你可以对 s2 进行排序并在 s2 中搜索 s1 的字符。

    他真的很感动也很开心。

在这之后,我

被告知我得到了实习机会! 😀 Geeksforgeeks 对我准备实习真的很有帮助。