2019微软冬季实习生面试题

背景:

1.base 苏州微软
2.winter intern 项目

电面:

过了简历筛选之后被HR联系约线上面试时间,两轮连在一起,各一个小时,由不同的人面。面试用自家的产品Teams,多人会议软件。简单的自我介绍(中文),之后直接在 collabedit 白板上说题。

第一场:
数字转码,例如 126 可以转换成 ABC , LC, AZ 三种,那么给出一个数字串,求能转换出来的字符串。
这个题可以说很经典了,最多LeetCode中等难度,但是没有IDE的白板写着不太舒服。先讲自己的递归思路,然后再手写,完了之后面试官说递归中有重复计算,要优化。于是 dp 代替 递归。然后面试官说 0 和 00 不能转换的情况没有考虑,又修修补补,才算弄好,1个小时过去了。

第二场:
接着就是第二场。流程一样,简单自我介绍之后,面试官问是熟悉算法还是熟悉数据结构。我选了数据结构。
第一题是判断两条链表是否相交。竟然把链表的一些操作忘了,没做好经过提示之后,问题升级成求交点,这个太经典了但还是没想起来,巨尴尬的跳过了。
第二题是写非递归中序遍历二叉树,这个3分钟写好,幸亏没有要求O(1)的时间复杂度的写法…
第三题是编辑距离,这个直接dp,五分钟写好,但是他说N方的空间,有没有优化的点。以为是空间优化,可以降维,但是其实还有其他非空间的优化思路。

第三场:
前两场结束后电话通知有第三场,在苏州公司面,去了之后一个35岁左右的技术女主管,1V1在一个小屋子里单面一小时。寒暄之后出了个题,例如给定字符串 abc abc ab 那么 abc就是模式串,最后的ab缺少一个c,就是求模式串和对应结尾缺少的字符串。给定的字符串可能没有模式串,例如 abcbc,abcabe。现场可以用电脑,也可以手写。写完之后问了对代码问了具体细节,问了时间复杂度,问了优化,问了如何测试,问了如果是中文字符串会怎样。总之还是挺考验人的。之后就是向面试官提问题,谈了一些关于工作方面的问题。

写在最后:
互联网产业刚刚经历了网易裁员事件,华为251事件,搞得人心惶惶。由于微软不加班且双休,福利待遇,以及工作氛围都挺好,就是钱可能不是太多(但也不少,offer show 可查),于是微软变的开始香了,最后可能是真香…更注重人性化,工作是高度沟通与协作的,不是写了多少代码,而是有完整且很规范的流程。

你可能感兴趣的:(2019微软冬季实习生面试题)