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

📅  最后修改于: 2022-05-13 01:57:17.783000             🧑  作者: Mango

微软面试经历 |设置 157(校内)

微软参观了我们的校园。在此之前,大约一个月前,他们进行了一次在线编码测试。面试由 3 轮 f2f 组成。

在线测试:

    该测试包括 3 个编码问题。每个人的问题都不相同。
  1. 查找 AP 系列中缺少的号码。
  2. 在二叉树中找到最大和路径(节点值的总和)。节点也可能有负值。
  3. 给定一棵二叉树,找出总和为特定值的子树的数量。

第1轮:

  1. 总体介绍。项目介绍。
  2. 序列化和反序列化二叉树。

    完整的代码是预期的。

第 2 轮:

  1. 总体介绍。
  2. 您将如何加快网页的加载速度?
  3. 谈到缓存,服务器端负载均衡器等。面试官详细介绍了缓存,询问了几种情况,例如,如果在写入数据库时发生电源故障怎么办,导致对检查点,日志文件等的简要讨论。
  4. 最后他让我设计LRU缓存。只期望代码片段和正确的数据结构使用。

第三轮:

  1. 总体介绍。
  2. 连接二叉树同一层次的所有节点。

    我提出了使用队列的基本级别顺序遍历。 https://www.geeksforgeeks.org/connect-nodes-level-level-order-traversal/

    但是他想出了一堆限制,所以我给出了这个解决方案。
    https://www.geeksforgeeks.org/connect-nodes-at-same-level-with-o1-extra-space/

    他看起来不是很高兴,但继续前进。

  3. 给定一个已旋转的圆形数组,在其中找到一个特定元素。给出了基本的 O(logn) 方法,通过首先查找枢轴来查找已排序旋转数组中的元素。

    他要求我一口气完成,而无需单独找到支点。

    并不难弄清楚。

    他似乎很高兴。问我是否有任何问题。解释了他在微软的工作。

大约 1.5 小时后,他们宣布了结果。他们为 Microsoft Redmond 选择了 4 名学生,为 MSIDC 选择了大约 8-9 名学生,包括我自己 🙂