这是为 Skype 团队准备的。 2 次与经理的访谈,1 次与合作伙伴的访谈。
第一轮(1.5 小时)
- 对以往项目的讨论。
- 给定一个排序的整数数组,打印数组中所有不同的元素。给定的数组可能包含重复项,并且输出应该只打印每个元素一次。
- 给定一个排序的整数数组,打印在数组中只出现一次的所有元素。给定的数组可能包含重复项,并且输出应该只打印每个元素一次。
这两个问题的解决方案都需要空间复杂度 O(1) 和时间复杂度 O(n)。 - 设计一个有助于计算每天平均 Skype 通话时长的系统。其中从移动应用程序跟踪事件。需要处理所有边缘情况,例如可以以任何顺序将事件记录到服务器,并且服务器端也可能会丢失一些事件。
第二轮(1小时)
- 项目讨论就像最具挑战性的项目,我处理过的最有趣的问题。
- 在已排序和旋转的数组中搜索元素。考虑所有边缘情况。
- 在所有情况下设计和实现 LRU 缓存。
最后一轮(1.5 小时)
- 基于过去经验的问题。
- 名人问题。 https://www.geeksforgeeks.org/the-celebrity-problem/
- 在 2D字符矩阵中搜索单词“Microsoft”。
- 有 n 个汽油铺位位于一个圆圈内。我们有一辆行驶里程为 1kmpl 的汽车。给出了汽油铺位之间的距离和每个汽油铺位可用的汽油升数。需要找到起点,使得汽车可以访问整个圆圈。