首页 > 微软上海暑期实习C+AI 一面二面三面面经
头像
ffgulu
编辑于 2022-02-28 19:44
+ 关注

微软上海暑期实习C+AI 一面二面三面面经

两轮是平行面,只要通过一轮就可以进终面,都是英文面试,有且仅有最后的反问环节可以说中文
一面:
英文自我介绍,详细聊实习中的两个项目,详细问各个部分用了什么技术,聊实习的收获,聊学校实验室是做什么的,实验室的课题是什么。
算法题:
2080. 区间内查询数字的频率 一开始用的哈希表+前缀和差分,后来优化成哈希表+二分查找,本地ide共享屏幕的,要写测试用例,输出,自定义类,成员变量构造函数什么的,比leetcode麻烦点


二面:
英文自我介绍,实习项目介绍,问细节,项目中http发送request服务端返回response,那么如果任务执行失败怎么办,怎么查看,答有:前端平台记录了log信息和任务status
算法题:
34. 在排序数组中查找元素的第一个和最后一个位置
二分查找很快写出来了,面试官:I didn't expect that you solve the problem so quickly,然后问如果这个数组是一个数据流的形式,怎么做,我只说了从左往右O(N)遍历,后面就是介绍部门情况,技术栈,前端还是后端,实习生的安排是怎么样。面试官介绍了很多,还讲了转正流程

三面:
先是英文自我介绍,还是全程英文交流,面试官竟然问我这是第几轮面试……
问研究生为什么转了专业,我就说兴趣原因,问喜欢做算法还是开发,我说开发实现某个功能会比较有成就感
然后问现在在哪里,我说在上海字节实习,问实习多久了,问最近参与的项目是什么,我详细介绍了一个项目。项目聊了很多细节,前面都是介绍性质的,基本是我准备过的仔细说一遍
然后给我想了一个场景,如果多个任务同时访问一个临界变量是否会产生冲突,要怎么解决问题。
划知识点:critical resources 临界资源/变量,我反复确认才明白这个词的意思
解决方法:死锁的解决方法里面有几条是可行的,哲学家就餐问题解决方法类似的,但是提问是根据我的项目场景问的,所以我带入项目里聊了一下实现,面试官说是可行的,还帮我补充说了一种方法

算法题:Bool AreEqual(stringA, stringB) Given two strings strA and strB, return if they are equal. # means a backspace character.
挺简单的,开两个栈或者数组都可以,不过这样需要O(n)的时间复杂度,写了一版之后让优化,又写了一个双指针的,这个只能是从右往左遍历的双指针,再加一个记录‘#’个数的变量,遇到‘#’加一,遇到字母减一,如果该变量为0才比较相应位置的字母是否相等
然后一开始有一些重复可复用代码,面试官问应该怎么做,我说可以merge into a function,追问好处是什么,一个是代码简洁,另一个是改动的时候只需要改动函数就行了

后面是聊了一下部门的各种情况

如果发offer了我回来说一声

更新:已offer,但由于一些原因拒了

更多模拟面试

全部评论

(18) 回帖
加载中...
话题 回帖
历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐