微软暑期实习面经汇总

微软STCA NLP实习面经

作者:牛客646160723号 链接:https://www.nowcoder.com/discuss/744650?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack 来源:牛客网

一面(9.10)

1.自我介绍

2.算法题 从数组中找第K大的数。我先用小顶堆实现了,复杂度是(nlogK),面试官问我有没有其他方法,提示我用快排,我就对快排改一下,实现了。

二面(9.14)

1.自我介绍

2.问了一下pytorch的基本知识,例如reshape和transport,因为几个月没碰算法了这个答得不好

3.算法题。从[0,5]这个均匀的概率分布(骰子)中实现[0,9]的概率分布。我大概用两个这样的骰子实现,(a*6 + b)%10

4.算法题。反转链表,白板写这个比较简单。

5.概率题。车有10个座位,总共卖了12张票,乘客有0.6的概率不来坐车,问至少有一个乘客站着的概率。二项分布,这个也很简单。

微软STCA面经

作者:叶柒 链接:https://www.nowcoder.com/discuss/652673?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734743085 来源:牛客网

3.20 笔试 4.8 LC1邀请,但是后来取消掉

4.26 LC1

1.自我介绍,聊项目,大约20分钟

2.(共享屏幕做题)旋转图像(LeetCode原题)

但是我没做出来,我后来看了题解,跟我的方法都不太一样。我用的直接通过索引旋转的方式。 大概就是这种方法,当时算索引一片头大,没有当场算出来,只算对了3维的,4维的没解出来。 可能是我思路比较不一样,但是还是过了

void rorate(vector<vector<int>> &matrix,int n,int size,int l)
{
    for(int i=0;i<size-1;i++){
        swap(matrix[l][l+i],matrix[l+i][l+size-1]);    
    }
    for(int i=0;i<size-1;i++){
        swap(matrix[size-1+l][size-i-1+l],matrix[size-1-i+l][l]);        
    }
    for(int i=0;i<size-1;i++){
        swap(matrix[l][l+i],matrix[size+l-1][size+l-i-1]);        
    }
}

4.30 Leader

1.自我介绍,聊项目,15分钟

2.假设你能获得抖音后台数据,如何获得点赞视频的中位数。

我当时以为是数据流的中位数,但是提示我想一下数据更新方法,后来发现数据更新是类似于视频的点赞数不停变动那种,而不是数据流中位数。

3.(共享屏幕做题)获取Excel的StringHeader,就是输入1输出A,输入26输出Z,输入27输出AA这种。

5.13 信息收集邮件

5.14 调剂邮件(疑似是STCA挂掉导致)

5.16 Transfer 到SWE,并且Status变成Completed.

5.19 Offer

记录贴 微软苏州 STCA Summer Intern 面试

作者:南大秃头彭于晏 链接:https://www.nowcoder.com/discuss/638754?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734743085 来源:牛客网

一面

自我介绍,中文。本来准备了一晚上的英文自我介绍,结果面试官直接说用中文就行。。。。。

问项目,大概有20分钟左右。因为自我介绍说自己有个项目投递了顶会,然后就让我给讲讲这个项目。感觉面试官也不是搞CV的,所以没有挖掘什么东西,就是讲一讲自己论文的背景啥的,所用method的基本原理,做了哪些东西,达到了什么效果。还问了本人是第几作者(哈哈哈,当然是一作啦)

开始做代码题,问我主要用什么语言,我回答python,明显感觉面试官顿了一下。。。(python果然是鄙视链底层啊)后来解释了一下,之前也学习过C++,但是最近搞科研项目就是python用的多,C++可能不是很熟练了。虽然面试官说用python也行,但是感觉减分不少。 题目:二维数组从左上角走到右下角最小路径和。剑指 Offer 47. 礼物的最大价值

使用本地IDE并分享屏幕,虽然一开始面试官说这题简单就不用IDE了吧。。。虽然题目不难,但是微软比较看重代码的可读性、简洁性跟规范性。面试官说我写的代码有一段冗余了,没有非常简洁。然后说我另外创建滚动DP数组,额外增加了空间(不过我解释了滚动数组可以不用改变原数组的值,他说也对,也是一种思路)。可能时间比较紧张,我看快到45分钟了,就没有仔细检查优化代码,所以被挑出毛病。感觉写完代码还是应该仔细检查优化一下,面试官又没说注意时间,他不急我急啥,害

因为我单方面非常精准的把握时间,所以整个面试45分钟就结束了。最后面试官让我把写的代码复制给他,整个面试就结束了。

提问环节,问了下面试官苏州STCA暑期实习生是不是统一招聘,是所有实习生招过来做软件开发,还是有不同分组?答:录用后根据实习生的个人情况,再分到各个不同小组。

二面 lead round

自我介绍,中文

简单问了下项目,没有怎么深入,问了下自己做的这个项目遇到的最大难题是什么,大概讲了讲。

问了有没有项目相关的实习,回答没有,然后就直接开始做题了

第一题:大小为n的数组,范围在1~n之间,数组中有重复,但是重复次数不大于2,求出所有的重复数字。要求:不能使用任何额外空间,快速排序的数字交换那种也不行。

第二题,一个二叉树,数值为int型,给出从根节点到某一节点的路径最大值。

太紧张太紧张太紧张了!!!因为我很想去微软,非常非常想去,期待值过高,导致这一次面试非常非常紧张,面试基本脑子不转了。。。第一题没做出来,在面试官的提醒下,大概有点思路。面试官看我没做出来,出了个简单的第二题,结果我脑子直接瓦特了,第二题也在绕过来绕过去没说对。。。(后面冷静之后一想,这不就是个DFS嘛,太简单了啊!我服了我自己,面试的时候一直想BFS。。。)

面试官因为我这个菜鸡还搞得超时了,一个小时了才结束,题目没做出来最后就那样结束了o(╥﹏╥)o

周一上班应该就能收到感谢信吧,吸取教训,秋招再战吧

更新: 嗯。。。。。。今天(5月19号)竟然收到了微软的offer了。。。我本以为早凉透了的。而且我投的苏州,给我调北京去了。不过我已经开始实习了。。。这下有点麻烦了

微软苏州stca sde/swe 实习面经

作者:yang👴yang 链接:https://www.nowcoder.com/discuss/651448?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734743085 来源:牛客网

祝大家offer多多 2021.3.12 笔试 做出88%

2021.4.8 收到一面通知

2021.4.12 微软一面

面试官是bing搜索组

什么是树,什么是二叉搜索树,什么是二叉平衡树

手撕:寻找一颗二叉树最后一层最左边的节点

扩展:还有没其他实现方法?提示现在使用BFS(层序遍历)写的

DFS实现上述代码。讲下思路并 证明

什么是图(说不出来哈哈)?

Leetcode785 知道二部图吗?面试官介绍了二部图的定义,接着让写一个函数判断一个图是不是二部图

直接懵逼,后来面试官一步一步引导得出最终结论:图中不存在环,或者存在环且所有环的节点数都为偶数的图为二部图 接着问怎么实现,联想到leetcode207课程表的dfs找环解法,一步一步提出问题。最后没让实现

为什么要做这个项目,为什么要用rabbitmq

redis怎么解决宕机数据丢失

这面试官真是太好了,一步一步引导,最后还是给我过了

2021.4.16 微软lead round

聊项目

了解docker和k8s吗

手撕

LRU Cache,如果多线程场景下怎么处理?

那么redis怎么处理多个请求并发的场景?我说的是redis是单线程模型,就没追问。。。

2021.4.27 原本投递的是sde,一看被transferred成swe了,状态为Completed

2021.4.28 正式offer

微软苏州STCA暑期实习一面+终面凉经【已感谢信】

作者:dragon_bra 链接:https://www.nowcoder.com/discuss/619269?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

3.15 一面(50min) 自我介绍+概念题 英文介绍(对着稿子说着说着发现截图掉了最后两段,草草收尾,逐渐紧张。。。)

介绍一下你的一个项目吧

面试官:我更希望听你从设计模式方面来讲你的项目,但你更多的是讲的算法相关的是吧,不过没关系

设计模式还有了解?

介绍一下死锁吧

C++的虚函数了解吗?virtual?多态了解吗?

【此时心想,咋这么多概念题,,我以为上来微软就算法呢。。】

那问道数学题吧,小学时候我们学过,能被三整除的数字有一个性质,就是各位的和加起来能被三整除,为什么?能证明一下吗?(讲得比较好吧,面试官说很好,然后就发链接写代码了)

算法题(给了一个在线编辑的网页链接写代码)

  1. 给一个字符串,仅由空格和单词组成,只要不是空格就是单词的一部分,把单词的顺序全部反转,并保留原来的两个单词之间的空格长度。比如:" Nice to meet you! \0" -> " you! meet to Nice \0" (题很简单,肯定是O(n)解决。但是面试官考察的更多是在问能不能优化性能(常数级别),比如要求传入的是一个char *,直接在原串的空间上把答案存进去。)(然而我为了写的顺手用了一堆string)

(还好第一题手速比较快,面试官又给了道题,不然写代码部分就惨了)

2. 给两个数组表示rank的分数,比如[6, 3, 5], [8, 4, 6]这两个,每一个代表给每个下标的page的一个打分,但是最终结果不关心打分的分数,只关心这一组page里的排名大小是否相同。写一个函数判断这两个数组代表的排名是否相同。 (问了一下要求O(n)吗?面试官说那至少有一个排序的复杂度吧。直接不想神仙离散化操作,直接开数组sort。。两个数组分别存一下val和idx后sort,然后判断两个数组的idx是否相同)

(思路没问题,问能否优化?答只sort一个数组根据idx判断另一个序列的val是否递增的,面试官说对的)

感想 写完第二道题,面试官说后面也没有别的场次面试了,和我多聊一聊吧,然后就问了些情况之类的。 当时面完觉得算法题太简单了,没展示出什么优势,然后八股答得又比较一般,结果聊到最后还蛮愉快的,感觉面试官人很随和,顺利通过一面。

3.19 二面(45min) 介绍 用英文介绍一个你做的项目吧(当时现说的,有些磕磕绊绊) CCF-CSP是什么?CCPC是什么?

算法题(共享屏幕写代码)

题面:给一个字符串,找到其中最长的回文子串(teams里发的文字描述,还有几点别的要求,能想到的最优复杂度,测试尽量完备的测试数据等)

当时看到就有点慌(平时字符串做得比较少),,说,我知道最优解是O(N)O(N)的manacher,但是我可能忘记了几个关键点,现场可能手写不出来。面试官说没事,他面试几百人可能现场能写的也没几个,你写你能想到的最好算法就行了。

我当时纠结了一会儿,没什么思路,感觉除了马拉车肯定都是n^2n 2 的,面试官说,你可以写dp啊。

我又想了很久,觉得dp的复杂度似乎都没有暴力扫一遍优秀啊,如果有二维那肯定是n^2n 2 起步,状态看着也有点小儿科。于是说我可能还是打算写暴力吧。

然后就开始写,我直接想到的暴力就是插入分隔符后扫一遍中心扩展,一边写一边在说我的思路。【面试官直接打断说,你确定你有认真读题吗?请发挥出最好水平,写出你能想到的最优复杂度的解法。】我那会儿就很慌了,说我可能dp想不到很好的定义状态的方法,没有马拉车那步关键的优化复杂度肯定是n^2n 2 的。

于是我还是接着写中心扩展,一边写一边试图解释我的思路,【面试官再次打断,说你安静写你的好了,时间也不多了。】

写完之后,我说应该没问题了,我多出几组测试样例再试试。面试官突然说时间差不多了,你那边代码写的怎么样了?我说差不多了,我的暴力写好了。然后面试官直接说,那你还有什么问题想问我的吗?(当时心情挺复杂的,我写代码的时候看不到teams的摄像头,看他说问问题的时候似乎也在看电脑屏幕别的地方,好像完全没读我的代码之类的……)问了问题他也没回答,直接嗯嗯了两句说,你现在大三是吧?以后机会还多,拜拜。

感想 终面的体验真的很糟糕,感觉面试官后半段都不愿意理我,也不看我的代码也不听我说话,有种拳头打在棉花上的感觉,可能这就是Lead面吧(苦笑)重温了一下manacher发现当时距离正解就差一个maxRight的点拨。当时百思不得其解,难道有O(n)的dp解法我不知道吗。。

后来和同学复盘,发现LC上题解的dp就是n^2n 2 ,且空间也是n^2n 2 ,那么复杂度其实是劣于中心扩展法的,而我把中心扩展称为“暴力”,可能面试官当时以为我说的是n^3n 3 的暴力,就完全不想听我的思路了。。思考了一下,感觉这次最主要是吃亏在了自己知道自己的算法不够优秀,就说了是暴力,下次得先说,“我有一个n^2n 2 的算法”了。。

但是面完到现在心里还是很难受,有种很强的挫败感。感觉自己很不被尊重吧,没有在面试时间里进行有效沟通就被否决了。后半段也仿佛是在和空气说话,代码不读也不保存,就草草结束了。感觉和之前看到的微软面经比起来,心理落差还是有点大。。

不过归根结底也是自己太菜了吧,如果能在说出正解是manacher后直接写出来,也没有那么多事情了。。

3.20 感谢信 结果很意料之中,但是内心很拧巴

祝大家面试好运,加油

微软苏州STCA 暑期实习面经

作者:说好的排骨呢 链接:https://www.nowcoder.com/discuss/643072?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

一面(2021.4.7)

有一个只有0/1的矩阵,标记为1的是墙不可通行,你有一把锤子,能够砸穿一面墙,问从起点到终点的最短距离。

因为网络问题迟到了,时间不太够没想全情况。 (ノへ ̄、) 其实只需要直接从起点进行bfs,对每个点标记两个状态(到达的时候有没有砸过墙,因为有可能某条更长的没砸过墙的路可行,但是经过的点提前被砸过墙的路访问了),两个状态第一次到达的时候都标记然后入队,就可以解决了。 另外因为这道题只砸一面墙,也可以分别从起点和终点进行bfs,路上不砸墙,再对每个点求取到起点和终点的最短距离和,取最小值(枚举到墙的时候就相当于路上砸了这面墙),脑测了一下应该可行。

二面(2021.4.9)

1.在一个排好序的数列中找某个数的第一次出现和最后一次出现

因为当时面试官引入问题的时候先提了二分搜索,所以就说二分查找大于这个数和小于这个数的第一个位置,看左右是不是这个数,是就输出。然后写了其中一半的二分。

2.实现map

说实话这个问题我在面经里看到过,但从没想过有一天真的会被问到。面试官说要问一个我平时接触不到的。 (⊙﹏⊙) 于是就说先求hash值(我知道C++的map是红黑树,但是不会写),然后开了个二维不定长数组,将key-value存进对应的hash值处。插入的时候查询是否存在,存在就修改,不存在就插入,查询的时候也是差不多的流程。 然后针对代码简单讨论了一下多线程和锁的问题,比如写操作可以只锁正在修改的那一个hash值的位置之类的。最后聊了差不多五分钟的天,提前结束了。

Leader面(2021.4.13)

英文对话+问题交流+一道简单的算法题(给出年月日,求是这一年的第几天)。

这一轮面试的感觉相当糟,对话一塌糊涂不说,这么简单一道题代码还出了纰漏,后面基本就是面试官逮着我的代码格式和变量名挨个怼(因为我是个打比赛的菜鸡,为了追求写代码的速度和表面的简洁,写的过程中会省略掉能省的括号和空行什么的,不符合大众规范)。这事我以前从没注意过,以后真的要多上心。 后面还探讨了一下怎么优化,譬如比起省掉一个小循环,%运算更值得改进之类的。

后续 最后一面这么反常,我觉得我肯定凉了,而且当时脑抽选了个不常用的邮箱,这一周就都没去管。 今天去邮箱看了一眼,发现前天(4.15)收到了信息采集表,昨天(4.16)收到了offer。嘛,这就是意外之喜吧。 也祝大家都收到心仪的offer,心想事成,天天开心。XD

顺带一提,今天(4.24)又一次突发奇想(……)查邮箱的时候知道了组,是M365的。强烈建议大家真的别选不常用的邮箱,容易像我一样屡屡险些误事。

微软2021暑期实习面试—时间线

作者:牛客56814494号 链接:https://www.nowcoder.com/discuss/666613?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

2021.03.20 官网投递简历,苏州,STCA, Software Engineer Intern

2021.03.26 笔试,三道题,分数79

2021.05.12 一面,做了一道数学题,没有撕代码

过程:英文自我介绍==>做数学题,跟面试官说了几个思路,但是都不行,最后也没有做出来,但是整个面试过程很流畅。

题目:一排黑球中间穿插红球,只允许相邻的球进行交换,求使得红球聚拢到一起最少的交换次数。

2021.05.18 Leader面,撕了两道题,都做出来了

过 程 :和面试官相互自我介绍,中文==>两道代码题,用面试官发的白板链接写的代码==>反问环节。

题目1: 反转字符串

题目2:序列化二叉搜索树

附加 提问 :采用前序遍历和层序遍历进行序列化各有什么优缺点(这个没有回答得上来)

2021.05.25 Data collection 2021.05.29 Offer

=====================分割线 ============================ 个人感觉自己这次面试经历还是比较幸运的,leader面的代码题也比较简单,微软面试官们都很nice,面试体验非常棒! 写这篇帖子,记录下自己面试的经过,给之后的小伙伴们留些参考,毕竟自己在整个求职过程中也都很焦虑,等待的时间是真的很长~

阿里五面+微软两面实习面经+offer比较

作者:蓝色北半球 链接:https://www.nowcoder.com/discuss/629687?type=post&order=recall&pos=&page=2&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

微软一面

都了解哪些设计模式

介绍一下单例模式

单例模式的优缺点是什么

介绍一下MySQL的索引

为什么MySQL要用B+树呢

做了两道题:leetcode39.组合总和 leetcode40.组合总和 II

微软二面

自我介绍

你觉得算法题目的代码和项目的代码有哪些区别

如果让你设计一个系统,你设计的时候要考虑什么,才能让系统做到高内聚低耦合呢(因为上一个问题我说到项目代码要考虑面向对象的方面)

说一下面向对象中的多态

你觉得像Java和C#这样的语言采用自动内存管理都有哪些好处和弊端

操作系统中进程和线程的区别

聊了聊并发的一些内容

**写一段代码实现:给定一个整数num和一个offset,得到将这个整数左移offset位的结果(例如num为12345,offset为2,那么要返回34512)

其实题目不算难,但要考虑好多细节。例如offset小于0怎么办,大于num位数怎么办,整数移位后超出int型范围怎么办等等**

微软苏州STCA暑期实习面经

作者:菜狗就是我自己 链接:https://www.nowcoder.com/discuss/657566?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

先写下timeline 3.16 投递 3.28 笔试 4.28 面试邀请 5.12 一面 5.18 LEAD面 5.20 感谢信

/------------- 分割线 -------------/

一面

自我介绍:大概三分钟。主要是为了让人放松一点。 直接做题两道:顺时针旋转矩阵+实现LRU 两道题先解释思路再写,第二题解释的时间比较久,中间有打断,做完大概过去30分钟不到。 又问了http和https。答的一般 后面问了最近读了那些书(非技术或课程相关),说三个你认为程序员在非技术方面需要的能力。 反问环节:问了下苏州那边的site大概有哪些分组;实习生和全职考察的能力侧重是否一致,哪些比较重要。又问了觉得面试情况怎么样,没有正面回答,只说HR会给feedback。

目前进行到一面,后面有进展继续更。希望后面也顺利,发面经攒下人品。

/------------- 分割线 -------------/

LEAD面

惯例自我介绍:连说带交流,大概5分钟 听到实习是搞image processing写Python,刷题用Java,问咋回事儿。解释了一下,说EE转专业来的想转开发。 听说是写Java:小伙子JVM懂吗?ummm,没看过源码,就看过点点GC机制,blabla... 看我编不下去了,说那咱开始写题吧。

给一个入栈的序列中间可以随便出栈,求一共有多少种出栈序列的可能(e.g. [1,2,3] -> 5) 现实让我吧[1,2,3]的结果个数告诉他,交流了一下过程, 这个大概过去5-10分钟

一开始说枚举排列然后验证,面试官说,这个思路可以做但是复杂度太高了让我想一下有没有其他思路。

支支吾吾连想带说,说可以回溯模拟一下出栈入栈(都没想好咋实现,就说了)。

面试官听到这思路说可行,面试官中间有事离开了15分钟,中间卡住了叫天天不应,说都没人说......

等到面试官回来基本没剩多少时间了,没写出来就进入了反问环节。 问了学习的建议和技术选型的建议,因为问题很宽所以回答了个大概。 然后就结束了...

LEAD面这轮表现是真的糟糕 这轮面试官好像很忙,没有像第一轮一样有个share doc在上面白板写码。 只让teams share屏幕,Mac上teams又出了点问题一直share不了。 各种原因导致沟通很不顺畅,浪费了不少时间... 加上一开始就思路受阻,心态炸了。 八成是直接无了,坐等感谢信...

/------------- 分割线 -------------/

已经感谢信,比之前看的部分面经里来的快一些。

微软暑期实习sde-STCA 北京 一面-终面面经

作者:小山山山 链接:https://www.nowcoder.com/discuss/625051?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

update:4/14刚刚收到offer了

微软的面试很硬核,没问一句八股文,上来就做题。

一面:

1、给你一个random6,如何实现random10

2、给你一个random1,如何求pi

3、罗马数字转数字

4、开头的时候简单地聊了一下项目,但感觉面试官并不在乎,似乎只是为了让面试不那么单薄😅

终面:

1、滑动窗口 求数组中连续k个数的最大平均值,送分题

**2、二叉树的序列化和反序列化

3、八皇后

4、沿途加油站,求汽车从起点到终点需要加油的最少次数

嗯,终面就聊了五分钟项目,然后就是撕代码,难度都不大,基本都是medium。

攒一波人品哇,求早日收到oc😭😭😭

微软苏州STCA暑期实习面经

作者:JosephJohnny 链接:https://www.nowcoder.com/discuss/630248?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

3.5 笔试

3.15 一面

先是简单的自我介绍,然后对着简历问了下之前的项目经历,由于楼主本硕都是自动化的,且实验室做的项目都是工业控制项目,因此面试官没有问很多细节,只是简单了解了下项目的过程,更像是聊天,整个过程还是比较轻松的

接下来就开始做题了

  1. 给定一个无序数组,找到三个数使得乘积最大

  2. 给一篇文章,找出词频最大的十个单词

3. 计算器只支持-1操作和 *2 操作,初始值x和目标值y,最少通过几步可以从x到y

感觉这次运气比较好,没有碰到比较难的题,面试官反馈说表现不错,让我好好准备下一轮面试

3.19 终面

是Leader面,但是貌似这次Leader有事没来,等了几分钟后进来一个小哥,应该是临时被拉来的,花了几分钟出题目

先是问了下有没有做过互联网的一些项目,回答没有,就说那我们直接开始做题吧

1. 给定一个链表A,要求在A的第i到j位置中间插入B链表

  1. 给定一个二维数组matrix,每一步的代价是两个位置数字的差的绝对值,求从左上角到右下角的最小代价

由于是面试官临时出的题,可能他一下子也不是特别熟,在沟通解题思路的时候不是很顺畅

================================================ 3.24

收到了收集信息的邮件

3.31

收到了offer

总的来说,微软的面试体验还是非常棒的,没有问一点八股文,面试官也非常nice,整个面试过程都是比较轻松的

btw,那个survey也必须在两天内完成嘛,现在还在和导师沟通中,暂时没法确定实习时间

微软苏州STCA 2021暑期实习一面面经

作者:SPRRTY 链接:https://www.nowcoder.com/discuss/615719?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

3.15下午场

上来简单自我介绍,介绍项目。 项目都是机器学习相关,提问内容均为项目中用到的模型,问了CNN,RNN

做题:

  1. 求第K大,首先提出用堆排序,但是由于堆排序相当于求出了1-K之间每个第k大,没有必要,于是按照快排思想在codeshare上白板写题。

2. 给MxN矩阵,每个矩阵有非负值,求从一点到另一点最小路径,要求只能往小于当前值的坐标走,第一问最小路径的定义为经过的步数(BFS),第二问定义为经过格子值的总和(DFS),第三问为中间有k个障碍不能走,有去除一个障碍的机会,求最短路径。(当场时间不太够,只说了一个每次随机去除一个障碍,分别求最短路径)

全程中文面试

3.16下午收到LEAD面通知邮件

发个面经攒人品

微软苏州STCA暑期实习面经(已拿offer)

作者:牛客416603874号 链接:https://www.nowcoder.com/discuss/404378?type=post&order=recall&pos=&page=2&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

4.12日编辑:

发现除了题没有写日常的面试流程,特来加上:

一面:自我介绍(中文)-> 问项目(面试官询问项目细节)-> 做题 -> 问答

二面:自我介绍(英文)-> 项目介绍(面试官让我主动介绍)-> 做题 -> 问答

————————————————————————————————————

等了刚刚好两周终于拿到了人生第一个offer,激动的心,颤抖的手~

本来上个月的几次面试都不是很理想,现在来看,除了自身的菜,在众多面试中,微软确实是花了心思的,刷题、准备中英自我介绍、准备项目介绍都有做,算是付出有所回报吧。

写篇面经感谢牛客网的各位盆友,等待offer群的各位盆友,以及特别感谢一位微软的学长给的帮助!

进入正题: 网申: 大概2月28左右进行网申(内推),3月12接到了面试时间收集的问卷.

一面(3.19):

一面是在中午,面试官是个很温柔的哥哥?,感觉很年轻。因为一些原因面试官上线迟到了20分钟,所以整个过程很紧凑,惯例做题:

1、单向链表交换奇偶节点

比较简单,考虑了一些边界情况,还特意美化了一下代码hhh,面试官看了一下就过了

2、TopK问题,没有时间了就不用写代码,口述思路

从简单到复杂:先说了冒泡排序和插入排序,随口说时间复杂度是O(kN);然后说堆排序和快速排序;最后扯了并行计算。

说完后面试官问了TopK快排的时间复杂度,我写了算式,算到最后一步脑子抽筋等比数列求和都没算出来,紧张的不行,面试官安慰我说没关系,还跟我说其实有公式(这两天上课我才知道有主定理这个东西,后悔ads去年没选上/捂脸)

最后的最后聊了会儿天,没有怎么介绍微软,倒是给了我一些读研和工作的建议(我以为挂了结果过了)

Lead面(3.26):

Lead面据说是最终工作的组的老板,感觉很耐心很专业,惯例做题:

1、最大子序列和

非常非常经典的题,如实说自己做过,10分钟写完了

2、取整问题

例如3.14取整到3.1,3.15取整到3.2,3.25取整到3.2,3.2500001取整3.3。先说规则以及为什么要这么取整。然后码代码,给float和取整位数n。

一开始说float乘10幂次判断,两个问题是超过范围以及float不能比较,超过范围很快说了解决思路,不能比较面试官说这里忽略这个问题。最后写的时候有个小技巧最高位进位不处理,面试官指出了这个问题,我说明了我的思路(不处理进位也没关系hhh心机)。然后边界情况也是照例考虑。

两道题做完才30分钟,面试官说太快了哈哈就问我有什么问题,然后聊了研究生本科生的差异之类的,最后40分钟面试结束。

总体来说我的微软面试都很简单, 运气挺好的。面试官都很nice,感觉他们比较看重你在思考这个问题时的思路是否全面有条理,所以不要着急讲清楚就好。

对了,微软的HR姐姐们也超级nice,特别耐心地回邮件、解答问题。

最后祝愿各位牛客er都能拿到自己心仪的offer!

微软苏州STCA 一二面凉

作者:橙子.. 链接:https://www.nowcoder.com/discuss/432087?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641734918542 来源:牛客网

一面:2020年4月13号

英文面试 自我介绍 介绍项目 问项目细节

中文面试 继续问项目细节 Java和C++的区别?

做题 LeetCode 124. 二叉树中的最大路径和 设计测试用例

反问环节和面试官聊得很开心呀

======= ==== ==== ==== ======== 这是一条分割线 ============ ==== ==== =============

二面:2020年4月24号

聊项目

项目的技术难点、解决了什么问题

做题

有n个二维平面上的点和距离d,将它们分成k组。

若两点间的距离小于等于d,则这两个点在一组;如果点A和点B在一组,点B和点C在一组,则点A和点C在一组。

算法返回每个点所在组的编号(0..k-1)

噼里啪啦敲完了代码,

面试官:估算下时间复杂度?如何改进?

巴拉巴拉说了一堆,好像不太对,面试官给了提示,开始接着改代码

面试官:时间来不及了,不用写了,用英语介绍下快速排序吧

第二天中午收到了thank you letter,是我太菜了,俺不配 (灬ꈍ ꈍ灬)

滚烫的微软STCA一面面经

作者:一只胖脸 链接:https://www.nowcoder.com/discuss/402918?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641777238449 来源:牛客网

14:30-15:30

表白温柔的面试官小姐姐

上来先是自我介绍,简要介绍了一下自己的研究方向,然后就开始手撕代码了

lc79题,撕出来以后让写测试用例

之后发了个链接给看一篇文章,表示看不懂。。

最后又问了如何判断两个链表是不是有交点

STCA 苏州微软实习生面经(1、2面)(已过)

作者:hzzzzzzll 链接:https://www.nowcoder.com/discuss/409741?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641777238449 来源:牛客网

一面:

英文自我介绍,

第一题是个模拟,给一种字符串加密方法,加密过程是把一个串不断左右左右移动: abcde => dbace,你需要写一个还原函数,简单模拟,注意长度 奇数偶数分开讨论。。O(n)解决。。但是可以常数小一点。。

第二题。给一个森林(数组形式),每个树有个高度,现在我要选一个高度,高于这个高度的树木会被砍下,我只砍一次,在给定个目标树木和target, 要求看下的树木之和在>= target 基础上尽可能小,求最接近的答案 简单的二分。。。 O(n) check... 但是据说。。计数排序可以O(n)排序树木。。。 一旦有序。。记录后缀和然后再二分中套个二分就可以让时间复杂度变成 O(n + log(n) * log(n) )。。

二面:

直接做题,把中文数字转化为阿拉伯数字, 比如 一百零一 =》 101, 二零一九 =》 2019 ,

分两种情况。。

第一种情况就是纯数字。 check下字串。不带 百、十、万,只包含一、二、三。。。这样的,直接暴力处理。

第二种情况就是代表一个有大小的数字: 三种解法

O( n * log(n) ) : 直接暴力递归, 每次找当前串中最大的部分 然后划分左右部分,左边计算完乘以中间最大值再加上右边部分, 当当前串长度为1特判。零也要特判,(比如一百零一里的零其实没啥特殊意义)

O( n ) : 单调栈从左到右扫一遍, 出栈时特殊处理一下,把栈顶元素累加到当前值上,最后再把当前值入栈,结果就是栈内元素累加和。

O( n ) 空间复杂度小一点的 : 从右到左去扫,记录最大值,累加。。。

面试都过了。。但是offer还要等。。不清楚得到了面试通过邮件算不算口头offer了。。 (如果涉及私密信息,私聊楼主,立刻删除)

///// 4.16更新。。收到offer了。。。刚发完面经就收到了。。祝大家好运。。

微软暑期实习面经分享

作者:JennyLQ 链接:https://www.nowcoder.com/discuss/416863?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641777238449 来源:牛客网

#微软-STCA-北京

3.1 投简历

内推,简历没过筛,没有获得免笔试资格

3.25 笔试

三道题,第一题过了,第二题过了4个case,一共10个,第三个没看。具体题目在牛客上可以找到。

4.1 hr收集面试时间,约定4.8和4.9两天集中面试

4.8 一面

自我介绍大概5分钟,简单聊了项目

给了个链接,白板写代码

算法题:

  1. 字符串反转:字符串中用空格分隔每个单词,空格数量至少一个,输出反转后的字符串,要求反转后单词之间的数量与之前不变。 (先交流思路,然后写代码,没问题后问测试用例怎么写,有几类。测试用例没怎么了解过,面试官提示说要考考虑非法输入和合法输入,保证非法输入下程序不会崩溃才可以)

  2. 机器人走棋盘:一个m*n的棋盘,机器人从左上出发,目的地是右下,每次只能向右或者向下,格子中为0表示机器人可以通过,为1表示障碍,机器人不能通过。问机器人是否可以成功从左上出发到达右下。 (交流思路,写代码,没问题后面试官又拓展,让求机器人从左上到右下的路径条数,在上题代码上修改。改完后问除了递归解法,还有没有其他方法,说了dp,面试结束)

4.10 二面

(本来是4.9二面,hr临时通知面试官有事,约明天或者之后重新发面试链接)

算法:求无序数组中前K个最大值。

用最小堆求了前K个,面试官要求不用优先级队列,自己写一个最小堆,不会 转而用冒泡写了另一种解法,面试官要求优化时间复杂度,一次遍历,又回到了最小堆 面试官拓展说,求海量数据中前K大元素,内存空间不足。回答了桶排序,面试官要写出代码,因为思路本身就不清晰,代码没写出来时间就到了,估计没戏了。

4.16 三面

自我介绍,讲项目(大概半小时),然后做题。

算法:(1)输入excel中一个列号的字符串(e.g. “AX”),输出是第几列。 (2)输入一个字符串,输出去掉所有空格后的字符串,要求不使用额外空间。 (感觉整体比较简单,本来以为微软面试就结束了,结果hr小姐姐来电话约下周面试时间,下周还有一次,希望好运呀)

4.21 四面

自我介绍,聊项目,做题

算法:

(1)逆时针反转矩阵:先垂直折叠翻转,再对角线翻转,两次交换

(2)二叉树中序遍历下一个节点:这个刚开始没理清思路(虽然之前做过),跟面试官说了两遍错误的思路,第三次才说清楚,然后写代码。 还有时间,面试官提出第一题能不能一次交换完成反转,没思路,面试官给了提示,类似于剑指offer上逆时针遍历矩阵的思想,从外围向里依次旋转,写代码。代码写出了外层循环,中间具体交换没写,时间到了,结束了。 (下午5点左右收到oc,告知一周内发offer)

还没收到offer,等的好捉急。。

微软苏州SWE一二三面过经

作者:Five1号 链接:https://www.nowcoder.com/discuss/395852?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641777238449 来源:牛客网

STCA是一二面平行,过了一个就进lead面。

一面

1.英文自我介绍

2.问了几个JAVA基础问题

3.算法题:设计一个数据结构以O(1)时间复杂度实现4个方法:

void addWordOnce(string word);

void removeWordOnce(string word);

int GetMaxOccurredWord();

int GetMinOccurredWord();

一面题还是比较难的,说了自己的错误思路后,在面试官引导下有了正确(maybe)思路,写了变量定义,第一个方法刚写了两行就断开了白板连接,并且***也连不上。。就口述实现,细节比较繁琐,不写成代码比较容易漏掉情况。一面挂,一是题确实难,二是连不上只能口述也太难受了。。

二面

1.斐波那契数列分析时空间复杂度,问我系统栈压栈顺序,这块我说不太确定,面试官人很好说我下去可以了解一下。

2.拓扑排序:题目类似LC课程表,想好之后把思路说了下,面试官说思路对的,开始写的不是最优,问怎么优化,然后想了一会说出了优化思路,感觉MS比较重视follow up,而不是一上来写最优解。

3.最长递增子序列

都是原题,天不绝我。。

三面

lead面 1.中文自我介绍

2.实习项目问了比较久,比较细,问有没有可以优化的地方

3.JVM垃圾回收一些问题

4.Linux命令 shell语法的一些问题(项目有用到)

5.算法:最大子序和(子数组)

easy题,但是比较经典。

这个我刚开始比较紧张,想着区间dp,说了一下,然后复杂度是O(n2),后面我说我想下效率更高的解法,他说不用返回子数组,只要最大和,我就想到了一维dp,就写了,写完我看可以压缩到O(1),就边说边改。白板写代码corner cases一定要注意,最后还让我写几个test cases。写完面试官很满意。

总结

感觉微软是比较看重你思考优化的过程,思路一定先说出来,面试官认可了再写代码,写完也可以自己写一下test cases。

二三面手撕代码都是原题,只能说我欧气太足了哈哈哈,三面中午面完,下午五点前就出结果了,MS效率还是很高的,HR说三面过了后面就offer审批了。

PS: MS面试属实玄学,我每次看到大佬们的面经都看的怀疑人生,只能说多刷题多总结,不要期望每次都碰到原题,提高自己的算法思维能力才是王道。

PPS: Luck Game

Java 实习应聘总结 & 面经分享,感谢牛客网

作者:IMAQ 链接:https://www.nowcoder.com/discuss/78654?type=post&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=2A1F30AE963041153EE3DCD91FE26142-1641777238449 来源:牛客网

Microsoft

一面: 项目介绍,聊项目的具体内容;

问 Java 的各种底层相关内容(内存管理,类型系统,GC,JIT,……)

然后和 C++/C# 做了一些比较;手写一个算法题。

二面:手写两个算法题;用英语介绍一个项目并回答相关的问题。

三面:英语尬聊,职业规划之类的;给出一个需求,做分析和设计,并简单地写出部分代码实现。

全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 12:19
要开奖了,期待ing
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总
点赞 评论 收藏
分享
评论
3
13
分享
牛客网
牛客企业服务