📜  微软面试经历| (实习)

📅  最后修改于: 2021-11-16 08:01:42             🧑  作者: Mango

第 1 轮(在线轮):
这基本上是一个在线回合,由三个编码问题和 90 分钟组成。一个是简单的临时,另一个是字符串操作,最后一个是 LCA(最低共同祖先)。

https://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/。

第 2 轮(Group-Fly Round):我们有两个问题需要在 45 分钟内编写代码。 第一个问题是我们得到了一个表达式并反转字符串的表达式
前任:

input :- 3 / 45 + 6

output:- 6 + 45 / 3

https://www.geeksforgeeks.org/reverse-words-in-a-given-string/

第二个问题:这是一个基于最长递增子序列的问题,而不是它必须在二维矩阵中找到 LIS,它可以从任何位置开始,并且可以在任何四个方向上移动。

例如:- 输入: – {{9, 9, 8},{6, 9, 7}, { 2, 1, 7}}

输出:4 1->2->6->9

https://www.geeksforgeeks.org/longest-increasing-subsequence/

第 3 轮(技术面试):这是面对面的面试。面试官问了我的项目。然后他问我 OS 中的 Page Thrashing,基于死锁的简单问题。后来他还让我展示 NAND 和 NOR 是通用门,并使用通用门之一转换表达式。后来他问我下一个具有相同数字集的更大数字。

https://www.geeksforgeeks.org/find-next-greater-number-set-digits/

第 4 轮(技术面试):我被要求进行第二面试,我被问到一个关于概率的棘手问题,然后是动态规划,即 LCS。

https://www.geeksforgeeks.org/longest-common-subsequence/

第 5 轮(技术面试):这是最后一次面试,我被问及是否对链表感到满意。问题是节点的结构发生了变化,即

struct Node{
int data;
struct Node* next
struct Node* nextGreater ;
}

您必须将 next Greater 分配给正确的节点。

例如:-

7->3->8->NULL

输出:- 链表,其中节点值 7 nextGreater 指向节点值 8,节点值 3 nextGreater 指向节点值 7,节点值 8 nextGreater 指向 NULL,因为没有大于 8 的元素。

注意:-面试体验非常好,他们专注于计算机科学学科的所有核心概念。保持冷静并保持礼貌。 GeeksforGeeks 对我有很大帮助,因为它在我的准备过程中帮助了我很多。

微软的所有练习题!