📜  微软面试经历| (SDE-2 3 年经验)

📅  最后修改于: 2021-09-23 05:38:04             🧑  作者: Mango

我通过 Naukri Portal 接到了一个电话。我收到了周末开车的面试邀请。

第1轮
黑客等级测试:
Q1:给定所有节点的树的子父关系。求那棵树的直径。
Q2:https://www.geeksforgeeks.org/maximum-difference-between-two-elements/

还有 3 个 MCQ 正在测试中。

回合:2
Q1:给定一棵 n 叉树。按递增顺序查找具有连续整数的最长路径(从上到下)
Q2:设计一个 RangeSet 类,您可以在其中以优化的方式添加、删除和搜索

例如添加 10-20
删除 13-27
添加 – 23-28
搜索(3)-输出假
搜索 (22) – 输出假
搜索 (24) – 输出真

回合:3
Q1:https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
Q2:给定一棵树,找到输入中任何给定元素的下一个正确元素(层序遍历)
Q3:计算二叉树中所有可能的不同和(自上而下)。

第 4 轮:
Q1:https://www.geeksforgeeks.org/nuts-bolts-problem-lock-key-problem/
Q2:https://www.geeksforgeeks.org/dynamic-programming-set-27-max-sum-rectangle-in-a-2d-matrix/
Q3:给定2棵树,检查树A是否包含树B。(包含意味着所有节点和它们的孩子的方向应该匹配)

第 5 轮:
Q1:给定一个像下面这样的字符串,它嵌入了 0 到 9 个单词,您需要根据字符串计算总和

onehhhtwo减三hhkkseveneightjnine
应该相当于
1+2-3+78+9
输出:87

twothreekkkminuspponeksevenoeightllninenine
应该相当于
23-1+7+8+99

输出:136

一二三四
输出:1234

Q2:设计一个像 bit.ly 这样的小型 URL 服务

Q3:一个谜题:
给定 1 个带 2 个闩锁的盒子
A 和 B 处于不同的状态。
A 有 2 个锁存器 1 的键
B 有 2 个锁存器 2 的键
现在用户 A 必须在一个框中向用户 B 发送一条消息。
在发送消息时,A 必须确保途中没有人阅读该消息。如果 A 发送了密钥,任何人都可以打开它并检查 。
您将如何确保消除这种读取中间消息的威胁。

这是一次很好的经历,虽然几天后我被拒绝了