微软采访 |第 23 集
笔试:第一轮是cocubes平台的在线测试(不适合编码)。该测试基于 C、C++ 和 DS。本轮入围的学生将被选入下一轮,即编码轮。编码轮有两个问题:
- 在井字游戏中,两名玩家正在玩,其中玩家 0 表示为 0,玩家 1 表示为 1。给定玩家移动的链接列表,确定谁是获胜者以及他需要多少移动为了获胜。
Struct Move { int p; //Player number int x; //x and y pos in the tic-tac-toi int y; struct Move *next; };
解决方案:GeeksforGeeks 链接
- 给定一个数组 if in a position let a[i][j] =1 然后打印它的所有行和列 1。在过去的计算中将位置 1 设为 1 后,不应考虑位置 1。
注意:在这个问题中,要求不要使用任何额外的空间。sample(input): (i) 00100 (ii)10 00000 01 output: (i) 11111 (ii)11 00100 11
团体飞行/活动:
- 检查二叉树是否平衡。
- 从字符串中删除重复项。
面试第一轮:
- 面试官让我优化上一轮问题2的代码(不是复杂度,而是汇编指令的数量,执行每条指令的时间)
- 一些基于LL的简单问题。抱歉我想不起来🙁
- 使用位运算识别两个的幂
面试第二轮:
- 具有以下字段的节点
a) data b) next_ptr c) prev_ptr
可用于表示双向链表、二叉树或无。给定一个随机指针,识别它是否形成 DLL、二叉树或无。我指出必须给出二叉树根节点,然后他要求我假设相同。
第三轮面试:
- 2 个数字,每个数字由链表表示,编写一个函数,给出这些数字的差异。
- 考虑一个网页,它有一个大的单一图像和另一个页面,其中前一个图像分为 6 个部分,哪一个加载得更快?
现在提出一个减少加载时间的解决方案。(这个问题没有界限,我提出了一个解决方案,包括视觉,网络和多媒体的概念。面试官印象非常深刻,并立即告诉我我将拥有下一轮)
面试第四轮:
- 复制带有下一个和仲裁指针的链表..
我告诉他我知道这个问题,然后他问我方法和测试用例,然后转到下一个问题。 - 给定两个排序数组。第二个数组有足够的额外空间来容纳第一个数组中的元素。给出通过合并两个数组而不使用额外空间获得的排序数组。
- 考虑一棵二叉树,它的根节点和目标节点被提供给您。给出目标的下一个兄弟。(让目标在第k层,那么你需要给出在第k层的直接节点)
- 其他问题是基于数组、链表和二叉树(这些的混合)。
所有的面试官都非常酷,乐于助人等等……他们理解我们的紧张情绪,并试图让我们尽可能地感到舒服。在我们从食堂到面试室的小路上,第一个面试官甚至把手搭在了我的肩膀上。
是的,被雇用了!!!感谢GFG。
许多许多祝贺作者。如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。
微软的所有练习题!