您好,我是一名后端开发人员,拥有 8 年的实践经验。微软的一位人力资源人员找我询问我是否对他们的机会感兴趣,我被告知同一天总共会有四轮,3轮之后是招聘经理轮。
第1轮:
小组中的 2 个面试官,一个在提问,另一个在他的笔记本电脑上做笔记
当被问及我过去的项目时,我一提到“NoSQL/Cassandra”,他就问:
- 什么是 NoSQL?
- 为什么选择它而不是 RDBMS?
- NoSQL 可以实现哪些 RDBMS 不能实现的功能?
- 编写代码以在给定数组中查找最大和子数组。
- 给定一个大小为 n 的已排序整数数组,查找是否存在重复至少 n/4 次的数字,n 是数组的长度。时间复杂度应该小于 O(n)。解释方法并编写代码。
最初我被要求用任何语言编写代码,但后来他们阻止我编写 Scala 代码并要求我用其他语言编写,我用Java编写。
第二轮:
来自 PowerPoint 移动应用团队的一位资深人士采访了我。
- 给定一个经过排序的循环 LinkedList,给定这个 LL 的一个节点和一个整数,WAP 将项目插入到 LL 中,以便 LL 在插入后保持排序,处理所有边缘情况。
- 还有一个我忘记的问题。
第 3 轮:
Excel在线团队的一位女士(非常资深)采访了我。
- 关于 NoSQL 的问题与第一轮中的问题相同。
- 给定火车时刻表(到达和离开时间),找出运行火车所需的最少站台数量。写一个程序。
- 设计电话簿。跟进:如何在 Trie 数据结构中存储和检索数据?
午休!
第 4 轮(HM 轮):
从事即时通讯产品的资深人士。
- 你的其他回合如何?
- 当被问及我过去的项目时,正如我提到的“NoSQL/Cassandra”,他问了与第一轮相同的问题。
- 电梯的OO设计。编写接口和实现和逻辑。
- 你为什么想离开现在的工作?
- 为什么是微软?
- 他告诉我他们如何决定在哪个团队中部署新加入者?
除了HM,所有面试官都给了我足够的时间提问。他们一直彬彬有礼,镇定自若。总的来说,这是一次很棒的体验。
我参加了所有轮次,两天内我收到了一封标准的拒绝邮件。