微软c+ai swe intern凉面经
微软的技术面试一共三轮,从下午14:00-18:00,中间空了一个小时。用的是MS Team,到点之后点开HR发的链接,输入自己的名字就可以与面试官连线了~~
一面:
操作系统:线程进程的区别、调度方式;死锁产生的原因 算法:列表旋转、删除链表的倒数第n个结点
算法写完之后面试官花了很多时间检查细小bug以及让我考虑各种corner case
二面:
面试官照着简历一行行的问过一遍,然后才开始面试
(现在回想起来还会感到一丝压迫
数据库:各种join的区别;如何限制两个用户不能同时修改一个数据;一些关于数据表设计的问题 算法题:给一个有序数列,实现二分查找,如果目标不存在,返回一个可插入位置,使得把目标插入之后数列保持有序
然后二分查找调了好久
三面(leader):
算法题:求一个数列中逆序对的数量
标准解法是归并排序,我一开始没想到,提供了一个错误思路,就一直被追问。这一面很凉。
总体来说,微软对基础课的要求比较“基础”,算法方面题目比较常规,但是每个题目都会讨论如何优化、如何处理corner case、时间复杂度的问题。整个面试时间在1小时左右。