微软采访 | 12
在线测试:
MCQ:主要包括以下类型:查找输出、基本 C/C++ 概念的定义。
编码问题:
- 给定一个非常大的字符串,打印最后十行。
- 对二叉树进行级别顺序遍历。
面试第一轮:
- 找到输出:
void print() { char str[20] = “hello world\0”; int i=0; while (str[i]!=’\0’) { printf("%c", str[i]); i++; str[i] = str[i-1]; } }
围绕这个问题进行了近二十分钟的非常详细的讨论。我想我搞砸了这个。基本上,我必须解释如何以及为什么会发生分段错误。
- 假设一个链表包含包含特定单词的文档列表。给您两个这样的链接列表,您必须打印包含这两个单词的所有文档的名称。
[我基于列表包含按排序顺序的文档名称的假设给出了一个算法]。我还被要求编写有关此的代码。该操作可以分类为(A 和 B),其中 A 和 B 是单词并且它们具有与之关联的列表。然后,他转向更复杂的案例,例如(A 和 B 或 C 和(不是 D))。括号可能出现也可能不出现。我只被要求给出一个与此相对应的算法。 - 发送电子邮件时发生的步骤是什么。对此进行了详细讨论,其中我们还讨论了 OSI 模型的层,用于发送电子邮件的协议,它所属的层。
微软的所有练习题!