12.7去西雅图微软on-site,等了两周终于等来了offer。看了地里很多面经,因为微软并没有签保密协议,今天来贡献一下。
先说一下微软onsite体验真的很好,宾馆机票吃饭都安排的很好。一天给75刀饭补,本来以为都这样,后来谷歌onsite才知道谷歌只有30.
我面的组是hololens,一共五轮,全都是白人面试官,没有遇到三哥很幸运。
第一面是要实现一个数据压缩编码,是一个微软十几年前用的。思想和算法都很简单,就是最开始理解有些费劲。编码的主要思路就是int型有时候会有些浪费,比如你传1,前面的bit等于都是浪费掉的。所以把int编码成byte,只留有效位。
第二面是要设计一个函数plot功能,要求就是输入任意一个函数,比如f(x) = x * (x - 1) / 2 * 3 + 1. 怎么最高效画出函数图。
第三面时lunch interview 吃了半个小时饭之后回来做算法。输入数据为int, string数组,比如 0 root, 1 node10, 2 node20, 2 node 21, 1 node 11,int是节点深度,string是节点名字,要求返回多察树
root
node10 node11
node20 node21
还有一个要求是 任意一个节点找到根节点的路径要o(1)
第四面很简单的一个类似智力的题目
第五面 numbers of islands,是个directror of engineering,因为做过,马上写出dfs。但是面试官很不满意dfs的效率,一直要求优化,最后给出了几个思路但是没有特别让他满意。后来想要么就是压力测试,要么就是想要union find。 不过我说unioin find时候他表示,fair。然后我就没再写代码了。
有16年入职的小伙伴加个微信啊