微软苏州-Software Engineer-前三轮凉经
12.22更新:
收到感谢信了,效率还是蛮高的😂,死的很痛快
各位想去微软的小伙伴加油吧~祝好
一面 12.14
- 自我介绍
- 什么时候能去工作
- 项目中遇到的最challenge的事情
- 看你挺了解算法和数据结构的哈,说说你了解的排序
- dfs和bfs的区别、适用场景
- 算法:一道全排列的题(本地IDE共享屏幕即可,但是我共享屏幕一直失败。。。于是就用在线文档写的。。哭了)
二面 12.14
二面跟一面是连着的- 自我介绍
- 设计模式:单例、策略模式、观察者
- 算法2道:(我的共享屏幕work了!这两道题是用本地IDE写的~)
- String2Double:尽可能的考虑更多情况。假设你是库函数的设计者
- 二叉树的序列化和反序列化:在时间和空间尽量高效。https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/
三面 12.21
(面试官本人都不知道我这是第几面。。所以我也不是很懂。。我看好多人的三面是leader面?但是我这一面只写了一道算法题,也不像leader面,可能是要凉)
这轮面试没有自我介绍也没有聊项目,开门见山的写算法
- 面试官直接扔给我一个连接:http://www.cplusplus.com/reference/cstring/strtok/,让我实现c++的一个库函数strtok。
英文的题目要求我看了好半天。。。惭愧
代码是用在线文档写的。
虽然是实现出来了,但是面试官不太满意,我发现微软的面试官特别在意我们代码的全面性和架构性,对各种“意外”输入如何处理,代码可读性(比如能不能用面向对象的一些方式重构代码),时间复杂度和空间复杂度等等。在他们眼里AC的代码不一定是好代码~这一点我在三轮面试中也是颇有收获的,之前我刷题都只关注核心逻辑来着,但其实这些整体性框架性的东西也很重要~
感觉第三面有点凉,来发个面经攒攒人品~~~