📜  微软采访 | Set 32 (校内实习)

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

微软采访 | Set 32 (校内实习)

最近微软在我的大学进行了一次校园面试。它包括5轮,都是在校园内进行的。它们如下:

第 1 轮(在线)(30 分钟):

由 15 个 mcq 组成,主要与 c/c++ 和概率有关。这相当容易,很少有人被淘汰。

第二轮(线上)(1小时):
在这一轮中,我们必须编写两个程序。

1. 给出了随机索引中散布有 NULL 的字符串的排序列表。返回给定搜索字符串的位置。如果字符串不存在,则返回 -1。
例如:“a”、“b”、“”、“”、“c”、“”……。找到“b”。 o/p: 2

只需一个简单的线性搜索就足够了。

2. 给定一个整数数组,其中所有元素都出现奇数次,但 3 个元素出现偶数次,找出这 3 个元素。

蛮力解决方案很好。您也可以使用哈希图。

以上两轮由cocubes.com主办。

第三轮(团体飞轮)(30分钟):

剩下的候选人以5人为一组。每个小组都被分配了一名面试官,我们被分配了一个要解决的问题。

编写一个程序,使用恒定空间将一个方阵顺时针旋转 90 度。

第 4 轮(F2F)(90 分钟):
面试官问了很多关于我项目的问题。在与 NLP 和机器学习相关的问题上花了大约 30 分钟。问了我关于 SVM、神经网络、反向传播等的问题。

然后他转向编程问题。我被要求编写一个正则表达式(regex)匹配器。给定一个模式字符串和一个输入字符串,如果两者匹配,则返回 true。正则表达式特殊字符,如 * 和 ?必须考虑在内。基本上如果有一个'?在模式字符串中,输入字符串中的任何字符都可以代替它。 '*' 也是如此,但在这种情况下,任何数量的字符都可以在输入字符串中替换它。

Example: a*b matches acdb
         a?b matches acb
         a*b does not match bca
         a?b does not match acdb 

采访的其余部分涉及对这个程序进行修改。例如,修改程序,使其在部分匹配时返回 true,即即使模式存在于输入字符串中。

第 5 轮(F2F):
这一轮从诸如你为什么想为微软工作之类的问题开始。讲述一些关于你自己等的事情。
然后是最后一轮的技术问题。
我被要求编写 2 个程序并回答一些理论问题。
1. 给定一个 0 和 1 的 MxN 矩阵,将所有行和列转换为 0,其中至少有一个 0。您可以使用 O(m) 空间。
2. 给定一个字符矩阵和一个输入字符串,如果字符串存在于矩阵中,则返回真。

input string = ABCDE
Matrix =  A    T   G
          B   E    H
          C   D    V

输出:字符串存在。

最后的一些问题:
1.关于b树的一些问题。不记得确切的问题。
2. 描述一种平衡二叉搜索树的算法。
3. 描述相同的另一种算法。

这是最后一轮。

我要感谢 geeksforgeeks 团队为我们提供了如此出色的平台。

希望这至少对你们中的一些人有所帮助。

谢谢你。

微软的所有练习题!