微软面试经历 |设置 50
R1 电话
- 给定一个大的 int 数组,对其进行排序。整数的范围是 1-10。
- 在 0 和 1 的二维数组中找到最大为 1 的行,假设数组是按行排序的。
R2 F2F
- 查找数组中的最大连续和。还得写测试用例。
- 不记得
R3 F2F
- 在一个屏幕上,绘制了多个矩形,当用户点击任意一点时,找到包围该点的最小矩形。
- 在 Facebook 中设计 poke 功能
R4 F2F
- 异步实现文件读取操作。
- 有N个大日志文件按时间戳排序。合并它们。
- 有 N 个大文件,其中包含要在地址簿上执行的按名称排序的操作。
地址簿作为名称值对存储在另一个文件中,该文件根据名称进行排序。应用这些操作并存储在一个新的地址文件中。
不得不为此编写代码和测试用例。
R5 F2F(招聘经理)
- 关于前台和后台线程的一些讨论。
- 同一个进程的2个线程有什么共同点,有什么区别。
- 您将如何在 2 个进程之间进行通信。
- 我们可以在 2 个进程之间创建类似于 tcp 连接的连接吗?
- tcp和udp的区别。
- 如果网络永远不会丢失,则数据包会在 tcp 中丢失。
- 创建一个宏以根据字节反转 int,例如,一个 int 有 4 个字节,编号为 1234,宏应返回 4321。
- 在二维字符数组中,如果用户选择任何 4 个框,请检查这些框是否连续。连续框是那些位于框周围的 3×3 子阵列中的框。
- 设计自动完成功能。
仅有关线程的其他一些操作系统问题。
微软的所有练习题!