微软IDC面试经历 |第 88 套(适用于 SDE-1)
Position : SDE兵团
1. Skype 回合:
- 敏捷软件开发过程简介(在我的简历中提到)
- 检测链表是否循环。
- 检查数字是否是 2 的幂。
- 检查两棵树是否相同。
- 给定一个先递增后递减的数组,找出它从递增到递减的索引。
2.FF第一轮
- 在二叉树中找到 LCA。
我给出了 geeksforgeeks 中给出的递归解决方案。然后他要求给出一个没有递归的解决方案。然后在询问提示时,他说了一些与高度有关的内容,并且允许在树中进行一些修改。所以我使用父指针做到了。
3. FF第2轮
- 克隆一个带有随机指针的链表。
- 给定一个数组,找到一个总和最接近于零的子数组(我给出了 O(nlogn) 解)。
面试官非常配合。他给出了很多优化解决方案的提示。
4. FF 第三轮
- 给定两组字符串A 和 B。求 (AB) U (BA) ( U = union )。答案应该按字典顺序排列,A 的元素应该出现在 B 的前面。
5. FF 第四轮
- 他询问了我目前的项目,因为我目前正在开发 Android 应用程序。所以他问了一些问题,比如你有多少活跃用户。应用程序的大小是多少。为什么这么大的应用程序?如何提高可用性?他想检查所有权技能。
不要忽视这一轮。为此类问题做好准备。每次都要求提示。面试官将引导您找到解决方案。
非常感谢极客的极客
微软的所有练习题!