微软采访 |设置 30(校内)
线上回合:
由 CoCubes 组织的 15 个 MCQ 和 2 个编码问题。
编码问题 –
- 给定以空格分隔的字符串列表,返回所需字符串的位置。如果字符串不存在,则返回 -1。
ex:"at", "bat","","","car","","","","dog" ... find "car" . o/p: 4
- 给定一个数字列表,找到甚至没有出现的数字。次。
团体飞轮:
- 将二维矩阵顺时针旋转 90 度(就地)
第1轮:
- 你怎么理解多态性?
- 什么是构造函数?
- 什么时候使用复制构造函数?
- 什么是虚拟析构函数?你为什么需要它们?
- 检测链表是否有循环。找出循环的长度。
- 打印二叉树中完整节点的值。 (如果一个节点同时具有右子节点和左子节点,则称该节点已满)。
第 2 轮:
- 告诉我一些你的事吧
- Java中 System.out.println 中的“系统”一词是什么意思?
- 给定 2 个排序数组,找到中间元素。 (没有多余的空间)
在数组中搜索一个元素。 (他只是想要 n 比较,即我正在使用一个 for 循环,它在 for 循环中有一个比较和另一个比较来查找元素。他将它们计为 2 个比较。因此 2n 比较。) - 第一范式。如果模式具有日期属性,则为 1NF 中的模式。
第三轮:
- 告诉我一些关于你的项目的事情。
- 查找大于给定数字的元素的索引(该数字可能存在也可能不存在于数组中)。该数组已排序,包含重复项。
- 删除链表中m个元素后的n个元素,一直持续到链表末尾。
第四轮:(人力资源轮)
- 你为什么想为微软工作?
- 他给出了可以在文件中使用的函数列表。仅使用这些函数查找文件中的最后 n 行。 (你以前听过这个问题吗?你的朋友和你讨论过吗?如果你代替你的朋友,你会告诉他们你的问题吗?)
- 给定一个按行和按列排序的二维矩阵。找到第 k 个最小的元素。(不是最小堆方法,他需要更优化的方法。他指导我完成了这个问题。)
注意:小组成员非常有经验,无论您是否知道问题,他们都会理解。所以就自己认吧。测试用例非常重要。微软有一组令人惊叹的小组成员。他们只对基础知识感兴趣。他们不会问非常困难的问题,因为他们想了解您是否可以提出解决方案。
微软的所有练习题!