社招一年:微软Bing团队面经(算法方向)

写在前面

微软的面试整体偏向基础,英语能力考察仅限于个人简介和项目描述,如果运气好的话都是中国的面试官,没有英文面试。

投递简历之后会有hr先和你聊一轮,要求做一个一分钟的英文自我介绍,然后会对英文能力做一个整体评估,告诉你应该怎么准备可能的英文面试。


下面是技术干货部分

电话面试

微软的社招面试通常是先进行一轮电话面试,面试通过的话才会邀请进行现场面试

  1. 什么是死锁,造成死锁的原因有哪些
  2. 数据库的索引有了解过吗,有哪些优缺点
  3. 算法题:rotate一次的数组,找target,例如 [3,4,0,1,2] 找4所在的位置,如果不存在返回-1,要求logn时间 (LeetCode medium原题,直接二分即可,写代码之前记得问有没有重复元素这类二分可能会遇到坑,面试官很nice 很乐意多交流,另外ms的面试风格,一定要自己想test case,尽可能的覆盖所有边界条件)

现场面试

电话面试之后会约现场面试,通常会安排5-6轮的面试,每轮一小时,前3轮是基础面,面试结束后面试官商量决定要不要进行后续的面试,当然如果表现比较差,也可能在某一轮直接结束。

1面

  1. 算法题:最大子数组和 (LeetCode原题,n时间1空间)
  2. 算法题:两个长度为m的无序数组A,B,对于任意不相交的区间ab和cd,val[ab]=sum(A,a,b)- sum(B,a,b),val[cd] = sum(B,c,d)- sum(A,c, d)
    求abcd,使val[ab] + val[cd]最大 (这题比较难,先写了个暴力解法,然后和面试官逐步讨论优化,没有给出最优解法)
  3. n个准确率为50%的分类器,可以通过什么方式提升准确吗?60%呢?如果可以,提升到96%需要多少个?(这题在台大林轩田的机器学习课程里有提到过)
  4. xgb和gbdt的区别 (几乎必问的题目,提前准备一下,说的要有条理,有哪些算法优化,哪些工程实现优化,可以适当扩展提一下lgb)
  5. 前序遍历 中序遍历 后序遍历 知道那些可以恢复二叉树,只知道前序和后序可以吗?原因?

2面

  1. 无序数组找第k大的数 (经典题目了,这类题目可以表现一下思考过程,比如最开始最直观的做法是排序,然后优化的思路,不需要全部排序,部分有序就可以了,最后能给《算法导论》里的n时间解法当然最好了,给不到的话给个nlogn的解法也还可以吧)
  2. 一个字符串 切分成多个回文串,返回所有可能,如aab要返回 [[aa,b],[a,a,b]] (印象里应该是LeetCode原题)

3面

  1. 实现atoi 考虑所有情况 (LeetCode medium,记得考虑所有异常情况,包括溢出)
  2. 实际业务问题,如何屏蔽搜索结果的成人内容展示 (面试官一直提示说各种方法都可以,当时的思路被局限在了模型上。这类业务问题的通用套路:先考虑简单的规则,把所有可能覆盖的规则描述一遍;然后拓展到模型,想一些规则cover不到的case,但是模型有能力cover)

4面

  1. 细聊项目,里面的bad case怎么解,具体的优化方向 (这里主要考察的还是对自己项目的思考深度,面试官可能会挑战,你这个项目用一个简单的规则就可以解决,为什么要用模型。需要准备好可以应对挑战的典型case,能说服面试官。另外就是项目收益的评估问题,怎么评估模型正向,模型怎么上线)

5面 aa

  1. 聊人生聊理想 (对未来要做的方向的考虑,为什么工作了一年就想跳槽,需要准备一个合适的跳槽理由,然后说一下目前的想法,一定要主动去询问面试官,怎么样合理的做职业规划,面试官会很耐心的解答)
  2. 估算北京地铁有多少司机 (《编程珠玑》里有一章专门讲估算的)

转广告推荐 加面aa

面完bing搜索之后,hr告知面试通过但是组内没有HC了,帮我转了bing的推荐组

  1. 汉字数字转数字,如 一百二十转化成120
  2. 聊简历上的项目,比较宏观,为什么做这个项目,有没有什么数据支撑
#面经##社招##微软##算法工程师#
全部评论
1面第二题是不是这个思路 val[ab] + val[cd] = [sum(A,a,b)- sum(B,a,b)] - [sum(A,c, d)-sum(B,c,d)] 可以把 AB两个数组的前缀和相减得到数组 C,从数组 C 中去分别找到区间 [a,b] 保证 C[b]-C[a]最大,区间 C[d] - C[c] 最小?这样时间复杂度为 O(n^2),请问楼主最优解法的时间复杂度要比这个小吗?
2 回复 分享
发布于 2021-02-02 09:39
点赞 回复 分享
发布于 2020-07-15 11:49
tql
点赞 回复 分享
发布于 2020-07-15 13:44
感谢分享! 欢迎大佬参加我们的社招面经征集活动呀!有京东卡可以拿~社招面经征集|参加过社招的牛友,来发面经吧,拿京东卡~:https://www.nowcoder.com/discuss/374207 #社招面经#
点赞 回复 分享
发布于 2020-07-16 11:42
大佬太强了!!祝面试顺利
点赞 回复 分享
发布于 2020-07-16 11:47
tql
点赞 回复 分享
发布于 2020-07-20 10:13
哇,社招会不会招不对口的呀
点赞 回复 分享
发布于 2020-07-20 21:35
你好,想问下 电话面试完成后到通知视频面试有多长时间间隔
点赞 回复 分享
发布于 2020-07-28 09:12
请问一下1面的第二道算法题,是否题目描述有误呢?如果 val[cd] = sum(B,c,d)- sum(A,a,b) 那么 val[ab] + val[cd] = sum(B, c, d) - sum(B, a, b),这个就与数组A没有任何关系。感觉不太对。 是不是val[cd] = sum(B, c, d) - sum(A, c, d) ? 或者 val[cd] = sum(A, c, d) - sum(B, c, d)
点赞 回复 分享
发布于 2020-08-02 10:53
请问一下楼主面的是哪个城市的,工程院还是研究院
点赞 回复 分享
发布于 2020-08-17 15:29
请问一下楼主面的北京的还是苏州的微软?属于工程院?
点赞 回复 分享
发布于 2020-08-21 11:28
楼主最后去微软了吗
点赞 回复 分享
发布于 2020-08-25 12:46
不问项目嘛
点赞 回复 分享
发布于 2021-11-19 07:36

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
评论
19
164
分享
牛客网
牛客企业服务