微软面试经验(SDE II)

第一轮:

null

第一轮是由3个问题组成的机器测试。

  1. 给定一个范围为(0–49)的数字数组,以及具有起始索引和结束索引的查询,为每个查询查找最大元素。(我使用平方根分解)。
  2. 给定N个自然数,1缺失,找到该数。然后,面试官扩大问题范围,找出2个或更多缺失的数字。
  3. 给定连续的字符串流,随时找出前10个最大的字符串。下面的链接将很有帮助。

第二轮:

这一轮基于HLD(高级设计)。

1.设计一个搜索引擎。处理自动更正和文本预测的案例(如现代搜索引擎)。解释(尝试+DFS+字符串处理)。然后,我们讨论了搜索引擎以及如何改善用户体验。

第三轮:

这一轮是基于我在Delhivery的项目。

1.讨论绿色线程及其与内核级线程的区别。解释如何使用多线程和多任务处理。哪一个表现更好。(我在I/O密集型任务中使用了绿色线程。)

2.使用Api gateway和lambda等AWS服务设计身份验证。

3.然后,他问我关于谷歌代码夏令营项目和我对开源的贡献,我们进行了非常健康的讨论。

第四轮:

这一轮是由一位高级经理主持的。

1.给定一个大小为n的整数数组。如果1到n-1范围内的i的arr[i-1] arr[i+1],或i=0的arr[i]>arr[i+1]或i=n-1的arr[i]>arr[i-1],则索引i处的元素称为峰值元素;以小于O(n)的时间复杂度查找数组中的所有峰值元素。

2.您将获得许多6GB的文件,每个文件都有整数流。你的主内存中还有4GB的空间(主要是为了换出,换入)。必须将所有文件中的已排序整数序列存储在另一个输出文件中。你会怎么做?

然后我们讨论了红黑树、切分、redis内部结构、单线程应用程序和事件循环的概念。等

第五轮:

这一轮是基于人力资源团队的行为技能。

他们问了几个基于情景的问题,比如,如果你和你的经理在某些实施方面发生争执,你是如何解决的。你的经理信服了吗。

一个月后,我接到人力资源部的电话,说我被选中了。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享