微软面试经历 |第 57 组(用于 SDE)
第 1 轮(45 分钟)
1)详细讨论了我在微软所做的项目以及我简历中提到的两个项目。
2) 有一个包含域名的 Bing 日志文件。为更快的 dns 查找设计一个缓存内存系统。(我建议使用 Trie 和基于最小堆的解决方案)。
我被要求让它节省空间。 (我用地图替换了特里)
3) 有一个基于回合的 2 人游戏,其中有 9 个引脚,每个玩家只能选择 1、2 或 3 个引脚。最后一个选择pin的玩家是失败者。
为此类游戏设计制胜策略。
4) 将上述解决方案推广到 n 个引脚。
第 2 轮(45 分钟)
1) 存在系统内存限制的大文件。你将如何存储它(我建议分布式系统)以及你将如何处理它。
2)假设大文件包含名称、地址、Dob、pan no等作为属性。为这样的系统设计类接口。这个问题被重新提出了更多的条件,我现在无法回忆。
2)详细讨论了stl map数据结构是如何实现的。
3) 讨论散列和冲突解决技术。
第三轮(40分钟)
讨论我的项目,然后是这些问题:
1) 编写代码以删除二叉树中不位于从根到叶的任何路径且总和>=k 的节点。
2)有一个旋转和旋转的数组。编写代码以确定数组旋转了多少次。 (我在 O(log n) 中做到了)。
感谢 geeks4geeks 帮助我准备技术面试。
微软的所有练习题!