首页 > 微软一二三四面挂经

微软一二三四面挂经

笔试:9月收到苏州微软的笔试邀请,一大早起床做完,然后没了消息。

一二面:
10月一二面,应该是平行面吧。
一面:
  • 项目经历
  • 第一题:shuffle an array, 简单证明了一下,没有写代码
  • 第二题:定义一个点是valid的当覆盖在这个点上的interval数量不超过2(两个及以下)。求问,给一串intervals([0,2],[0,3],[1,3]...),最少删掉几个interval可以使所有的点都valid(面试官很好,提示思路就是greedy,然后用PriorityQueue解决了)


二面:
  • 项目经历
  • 1001个数字,全都在1-1000内,所有数字都只出现一次,只有一个出现两次,找出重复的数字(我先用数学发sum up,然后又用了链表找cycle的方法,但好像都不满意,后来知道是要用XOR)
  • reverse linkedlist in k group,但是我用的纯指针变换好像不是很满意,后来暗示用stack就可以(好吧我其实提到过stack,但觉得太简单了就没仔细说)


三面
  • 面完当天就收到三面的邀请,效率不错
  • 项目经历(主要是microservice,版本管理,依赖循环等)
  • 第一题:deep copy of a linkedlist with random pointer, 我用hashmap做完,他问怎么用O(1)的空间,支支吾吾半天没做出来。其实后来看了也不难,就是指针操作变换。所以刷题真的不是做出来就行的,还得试试一题多解。

前面三面都是coding,所以我也就准备了下刷题,面完发现完全没做题。

四面是与一位principle大佬,上来看简历就说你这个经历不足啊。一段全职两段暑期实习还少吗?不解。

然后发现我本科是材料的,就问我怎么自学的计算机。之后就开始疯狂问底层,比如java和python的类有什么区别(还吐槽我说太关注语言了,要多学习他们深层次的区别),java类在内存里长什么样,python运行时内存结构是怎样的,gc的实现方式以及各自的优缺点。

看我支支吾吾,又开始问git。git是怎么实现分布式的,怎么实现回滚的,blob是怎么工作的,git是怎么利用树的结构的。好吧还是不会。

之后看我项目里提到了高可用高弹性,问如何提高系统的可用性,怎么确保系统奔溃后能够快速重启并且恢复数据,怎么评估一个系统的可靠性(3个9,4个9),怎么在奔溃后检查确保数据的一致性等等。

其实我是有点不舒服的,但还是全程面带微笑(累)。我知道面试官有权利问任何题目,简历里有的都可以问,但我还是不禁怀疑有歧视非科班的嫌疑。我真的不觉得一个new grad能答上来评估系统可靠性这种问题(可能是我菜)。能答上来我就去当senior了呀。面完我就默认凉了,至今没有消息。

11.2 更新
一大早接了美国西雅图微软的offer,感觉美国问的反而比较简单?不管了,反正秋招终于结束了😭move on

希望各位也能早日上岸!

更多模拟面试

全部评论

(15) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐