微软采访 |设置 2
请在下面找到我的 Microsoft 面试的详细信息。
面试日期: 2012年8月3日
轮数: 2 次在线考试 + 4 轮 PI
面试类型:新生校园面试
第一次在线测试:时间1小时
30 个关于基本数学和逻辑问题的 MCQ 和 20 个关于 C 编程的 MCQ。
第二次在线测试:时间1小时
将编写 3 个程序。他们想要完整的节目,而不仅仅是功能。语言:C/C++
- 给定链表的头指针,每个节点的数据值只有0/1/2,正确排序链表并返回头指针。
- 给定一张像素排列在 N*N 矩阵中的图片,将图片向右旋转 90 度。
- BST 的两个节点被交换。更正 BST。
面试第一轮:时间30-40分钟。
- 给定一棵二叉树,除了两个通常的子指针外,每个节点还有指向其父节点的父指针。编写中序后继函数。讨论这个函数的所有可能的测试用例,以及你的函数是否可以处理所有这些测试用例。
- 如何以最优化空间的方式检查二叉树是否为 BST。
面试第2轮:时间30-40分钟。
- 给定两个排序的链表,创建第三个列表,其中仅包含第一个列表的那些元素,这与第二个列表不常见。用 O(n) 时间做到这一点。讨论这个函数的所有可能的测试用例,以及你的函数是否可以处理所有这些测试用例。
第三轮面试:时间30-40分钟。
- 如果你的朋友写了一个文本编辑器软件给你测试,你会在软件上做哪些测试以确保它满足一个天真的用户的基本要求
- 给定两个链表,如何检查这两个链表是否在某个节点以 O(n) 时间相交?讨论这个函数的所有可能的测试用例,以及你的函数是否可以处理所有这些测试用例。
第4轮面试:时间30-40分钟。
- 给定一个未排序的整数数组,找出总和为给定 N 的所有数字对。讨论此函数的所有可能测试用例,以及您的函数是否可以处理所有这些测试用例。
- 给定三个点 a、b 和 c,编写一个函数来找出它们构造的三角形的类型或是否可以制作三角形。讨论这个函数的所有可能的测试用例,以及你的函数是否可以处理所有这些测试用例。
雇用!! 🙂
微软的所有练习题!