微软面试经历 |设置 157(校内)
微软参观了我们的校园。在此之前,大约一个月前,他们进行了一次在线编码测试。面试由 3 轮 f2f 组成。
在线测试:
- 该测试包括 3 个编码问题。每个人的问题都不相同。
- 查找 AP 系列中缺少的号码。
- 在二叉树中找到最大和路径(节点值的总和)。节点也可能有负值。
- 给定一棵二叉树,找出总和为特定值的子树的数量。
第1轮:
- 总体介绍。项目介绍。
- 序列化和反序列化二叉树。
完整的代码是预期的。
第 2 轮:
- 总体介绍。
- 您将如何加快网页的加载速度?
- 谈到缓存,服务器端负载均衡器等。面试官详细介绍了缓存,询问了几种情况,例如,如果在写入数据库时发生电源故障怎么办,导致对检查点,日志文件等的简要讨论。
- 最后他让我设计LRU缓存。只期望代码片段和正确的数据结构使用。
第三轮:
- 总体介绍。
- 连接二叉树同一层次的所有节点。
我提出了使用队列的基本级别顺序遍历。 https://www.geeksforgeeks.org/connect-nodes-level-level-order-traversal/
但是他想出了一堆限制,所以我给出了这个解决方案。
https://www.geeksforgeeks.org/connect-nodes-at-same-level-with-o1-extra-space/他看起来不是很高兴,但继续前进。
- 给定一个已旋转的圆形数组,在其中找到一个特定元素。给出了基本的 O(logn) 方法,通过首先查找枢轴来查找已排序旋转数组中的元素。
他要求我一口气完成,而无需单独找到支点。
并不难弄清楚。
他似乎很高兴。问我是否有任何问题。解释了他在微软的工作。
大约 1.5 小时后,他们宣布了结果。他们为 Microsoft Redmond 选择了 4 名学生,为 MSIDC 选择了大约 8-9 名学生,包括我自己 🙂