2020.3.9 微软苏州软开暑期实习生凉经
我是冬季实习生,当时题特别简单,就稀里糊涂的进了。但是现在我的很多同学投我这个岗位的暑期实习,难度还挺大的。
ms 基本上不分前端后端测试之类的,开发岗叫 SoftWare Engineer. https://careers.microsoft.com/
面试的话不怎么看重项目和实习经历,但是卡学历还是很严重的。
面试内容基本是算法,就 leetcode 那种,一般一次面试一个小时,出一或两道题,现场白板手写(可能要run)。 一般是总共是三次面试。
另外, 有小概率自我介绍让用英文,看面试官了,但是概率不大。
我内推了几个同学,所以现在总结一下他们的面经。
2020.3.9 一面 65分钟
寻找字符串包含自身所有元素的最小字串, 如 aaabbbcc 只包含a,b,c 三种,所以返回 字串 abbbc
和 leetcode 第76题 类似,但是要简单一些。
面试的时候要想到滑动窗口双指针的思路,然后一步一步写出来 run。
2020.3.10 二面
自我介绍(中文)
简单介绍项目
算法: leetcode 79 单词搜索 (这个在同学的字节跳动面试中出现了两次)
用dfs很简单的写出来了,但是比较恼火的是他让 bfs 再实现一下, 搞了半个小时没搞出来。结束后翻遍了 leetcode 题解,没找到有人用 bfs 的。
还有其他内推的同学,他们的题不少是 hard 难度, 例如
Leetcode 124 二叉树的最大路径和
例如:
链表判断环,求环交点。
例如:
给定一个数组如 nums = 【3,4,1,9,5,2,3】 和一个数 k = 3, 要求将数组分成连续的 k 个字串,使字串和的最大值 最小, 求出最小值。
这里 分为 【3,4,1】,【9】,【5,2,3】, 子串和为 8,9,10,最大值为8 , 所有分法中这一种最大值最小。
很难的一个二分,从 max(nums) 到 sum(nums) 进行二分。