📜  微软面试经历|第 107 组(校内实习)

📅  最后修改于: 2021-11-15 08:20:46             🧑  作者: Mango

第 1 轮:编码
Q.1 一个 5*5 的螺旋阶矩阵是
螺旋

现在,对于一个 N*N 螺旋矩阵,填充类似于上面给出的矩阵,找到存在于 [R,C] 位置的元素,其中 R = 行数,C = 列数。
约束:您不能自己创建矩阵。打印数字而不显式创建矩阵。

Q2。给定一个字符串S 和两个索引 i 和 j,修改一个模式中的字符串,使得:
从字符[0至i]索引现在是在字符串的回。
从[J直到字符串的结尾]字符在字符串的前面。
例如 S = “abcdef” 并且 i=1, j=3。
输出应该是:“defcab”
约束:恒定空间。

Q3。 https://leetcode.com/problems/simplify-path/

第二轮:团体传单
一季度。给定一个正整数数组,以这样的方式对数组进行排序,使得当新数组的所有元素连接成一个字符串,形成的数字最大。
例如输入:[12,9,32]
输出:[32,9,12]

Q2。在母语中,字母按以下顺序排列:
abdcklgh ng qr
给定两个字符串str1 和 str2,找出 2 中哪个更大。(更大意味着排名更高,例如,如果给出“da”和“c”,则“da”>“c”,因为 d 首先出现)。
写这个函数:

bool compare(char* str1, char* str2);
return 1, if str1 > str2.
return -1, if str2 > str1
return 0, otherwise 

采访:我们需要在纸上写下我们的代码。

第一轮F2F:

问:https://leetcode.com/problems/letter-combinations-of-a-phone-number/
我使用递归完成了它,然后他让我考虑迭代方法。一问DBMS,我告诉他我来自ECE,没有研究过DBMS。然后他问我在 CSE 部门完成了哪些课程。我告诉他 OOP、DS、架构、网络。
最后他问我有没有什么问题。我询问了 diff b/w MSIDC 和 MSIT。
第二轮F2F:

一季度。 https://www.geeksforgeeks.org/find-longest-path-directed-acyclic-graph/
他给了我这个问题,并要求在 45 分钟内解决它。首先,他询问了方法。我告诉他我将如何编码的方法和程序。

然后他改变了我不知道为什么的问题,下一个问题是:
Q2。在“N”度树中。找到 2 个给定节点的 LCA。所有元素在树中都是唯一的。
首先我给了他一个通用的解决方案。由于空间的复杂性,他似乎并不相信,并告诉我要多考虑。我回答的方法是我们可以存储从根节点到给定节点的路径并匹配路径。他当时就被说服了,并告诉我在第 3 轮之前等待 5 分钟。

第三轮F2F:
他问我关于我自己。然后他问我最喜欢DS的哪个部分。我说的是树,链表。

一季度。给定 2 个数字 ‘N’ 和 ‘M’,其中 ‘N’ > ‘M’ 并在 (1,32) 之间表示索引 [i,j] 的范围,这表示 ‘N’ 的二进制表示形式,更改所有位在这个范围内到数字“M”的位。此外 (ji) 等于 ‘M’ 的最高有效位
例如 N=9 :: (binary) 000000…0001001
和 M=2 :: (二进制) 000000…0000010
并且 (i=1,j=2) 意味着 N 的 1 到 2 位必须更改,以便它们等于 M 的位。
预期输出:10 ::(二进制)000000…0001010
其中 (…) = 19 个零
起初我没有明白,但后来他用上面的例子解释了。
第二次在 O(32) 中回答。

Q2。在 O(1) 空间的二叉树中填充下一个指针。

Q3。关于死锁的一些事情。我问了这个话题,他说 OS。我告诉他我没研究过这个。他平静地说“哦好吧没问题”😛

最后他们团队的一个人告诉我“我们今天的工作结束了,你可以离开了”😛

共有11名学生被选中。

微软的所有练习题!