微软中国校招一二三面面经

===12.14更新===
获得了feedback,一面Hire,二面三面No Hire。
反而是感觉良好的两轮No Hire.
一面:尝试多次且没要提示(good)。
二面:花了太多时间且没要提示(bad)。
三面:问题分析和系统思维not good,CS背景not good,coding过于复杂且有bug。

feedback尖锐深刻,是秋招获得的最有价值的信息和资料,等价于一个北京28w的offer。

===原帖===

一面leetcode 297       准hard
二面leetcode 1358     准hard
三面leetcode 4               hard
三轮全是hard,无提示撕出。三面hard只20分钟,撕出最优解,依然被吐槽,第二天收到感谢信。

虽然败了,但我是败的一点都不服的!

===11.28更新===
有老哥觉得我有点过于纠结于最优解了。
所以在此贴一下代码,从而表达为何我过于纠结:
20分钟白板撕出,34行处加上 '||' 可AC leetcode第四题。
复杂度O(log(min(m,n))). 算法导论解。
public int getKth(int[] arr1, int[] arr2, int k) {
    if (arr1 == null || arr2 == null) {
        throw new RuntimeException("Invalid Input Arrays");
    }
    int [] longArr = arr1.length > arr2.length ? arr1 : arr2;
    int [] shortArr = longArr == arr1 ? arr2 : arr1;
    int longLen = longArr.length, shortLen = shortArr.length;
    if (k < 1 || k > longLen + shortLen) {
        throw new RuntimeException("Invalid k");
    }
    if (shortLen == 0) return longArr[k - 1];
    if (k <= shortLen) {
        return getUpMedianOfTwoSortedEqualLenArrays(shortArr, 0, k - 1, longArr, 0, k - 1);
    } else if (k <= longLen) {
        if (longArr[k - shortLen - 1] >= shortArr[shortLen - 1]) {
            return longArr[k - shortLen - 1];
        }
        return getUpMedianOfTwoSortedEqualLenArrays(shortArr, 0, shortLen - 1, longArr, k - shortLen, k - 1);
    }
    // k > longLen && k < longLen + shortLen
    if (shortArr[k - longLen - 1] >= longArr[longLen - 1]) {
        return shortArr[k - longLen - 1];
    }
    if (longArr[k - shortLen - 1] >= shortArr[shortLen - 1]) {
        return longArr[k - shortLen - 1];
    }
    return getUpMedianOfTwoSortedEqualLenArrays(shortArr, k - longLen, shortLen - 1, longArr, k - shortLen, longLen - 1);
}

private int getUpMedianOfTwoSortedEqualLenArrays(int[] arr1, int s1, int e1, int[] arr2, int s2, int e2) {
    if (arr1 == null || arr2 == null) {
        throw new RuntimeException("Invalid Input Arrays");
    }
    if (s1 < 0 || e1 >= arr1.length || s1 > e1
        s2 < 0 || e2 >= arr2.length || s2 > e2) {
        throw new RuntimeException("Invalid input start end");
    }
    if (e1 - s1 != e2 - s2){
        throw new RuntimeException("Length not equal");
    }
    while (s1 < e1) {
        int mid1 = s1 + ((e1 - s1) >> 1);
        int mid2 = s2 + ((e2 - s2) >> 1);
        int offset = ((e1 - s1 + 1) & 1) ^ 1;
        if (arr1[mid1] == arr2[mid2]) {
            return arr1[mid1];
        } else if (arr1[mid1] > arr2[mid2]) {
            e1 = mid1;
            s2 = mid2 + offset;
        } else {    //arr1[mid1] < arr2[mid2]
            s1 = mid1 + offset;
            e2 = mid2;
        }
    }
    return Math.min(arr1[s1], arr2[s2]);
}


#微软##面试题目##秋招#
全部评论
太强了,面试官怕你进去把他干掉
2 回复
分享
发布于 2020-11-28 21:23
这个两个有序数组找第k大写的过于复杂,建议去leetcode上找一些精简点的写法。 还有就是按微软历来的规则,给了两个不通过的话就不会有下一轮了。3面没通过的话,一二轮肯定是挂了一轮的
2 回复
分享
发布于 2020-12-03 22:38
联易融
校招火热招聘中
官网直投
patpat, lz很强了,同微软三面挂,挂的也不甘心,感觉这个时候hc很少了应该是优中择优了吧,anyway, move on了,一起加油!
1 回复
分享
发布于 2020-11-27 14:21
应该是有比你厉害的,过于自信了楼主
1 回复
分享
发布于 2020-11-27 15:16
楼主只是运气差了点,别的公司也一定能进的!可以发邮件给hr问一下面试官的feedback
1 回复
分享
发布于 2020-11-27 19:35
momo楼主,解题毕竟只是面试中的一个测试手段,如果只是谁的代码最好就录取谁,那就取消面试,全都拉到一个大房间里写代码,从AC的人里再检查检查谁是最优解就好了,省时省力多开心呀?如果楼主可以自己试图找一下可能存在的问题,万一找到了,对自己也是有很大帮助的呢。有些时候运气只是一方面吧,如果只是因为做过知道最优解是什么,然后当场写了出来,也不算是很特别的优秀能力足够让只要有hc就能进去下一轮啦~lz如果本着学习心态可以和HR要一下面试评价,可能会有收获呢!加油!
1 回复
分享
发布于 2020-12-09 13:44
可能有的时候沟通交流更重要,做题的同时让面试官跟着你的思路一起思考可能更好些
点赞 回复
分享
发布于 2020-11-27 13:50
要主动介绍思路和分析复杂度也许
点赞 回复
分享
发布于 2020-11-27 13:59
可面试官就想刁难你,就是不给过,就是说你代码不好,能有什么解?
点赞 回复
分享
发布于 2020-11-27 14:02
讲真,原本我的目标不高,对自己有所认识,知道微软太难。 本来的目标是到达三面,努力了很长时间,也确实到达目标了。 如果因为题目做不出来或做的不够好、考虑的不够周全而凉掉,我也心甘情愿认输。 但撕出来,各种case、边界也考虑的很周全的情况下还是凉掉,就真的很不甘了。。
点赞 回复
分享
发布于 2020-11-27 16:59
微软没hc了,我前两面跟面试官聊的非常开心,第二天直接感谢信
点赞 回复
分享
发布于 2020-11-27 20:52
北京的base?可能hc没了,听说今年北京人太多了
点赞 回复
分享
发布于 2020-11-28 08:45
老哥已经很牛逼了……
点赞 回复
分享
发布于 2020-11-28 12:28
抱抱楼主,不过三面面试官既然给了一道常规LC题目,估计考察的并不是,面试者是否能给出最优解。如果楼主方便的话可以把三面面试的过程给披露一下,可以让大家帮你看看,到底面试哪些地方有问题
点赞 回复
分享
发布于 2020-11-28 14:44
虽然是留学生但是感觉lz说的有点道理。。。听说浙大的很多同学投了简历笔试全ac也没被约面试,作为留学生虽然可能个人运气比较好但一路面下来确实挺顺利的,遇到的面试官不少也对留学背景比较有兴趣,最后聊天环节会爱问,可能对外企留学背景加分确实不少,也算是侥幸了
点赞 回复
分享
发布于 2020-11-28 15:55
楼主这么强,好好准备后面的面试应该稳稳的
点赞 回复
分享
发布于 2020-11-28 16:37
题目好难..是bing还是365?
点赞 回复
分享
发布于 2020-11-28 22:11
请问楼主,微软面试只撕算法题吗?会不会聊项目背景细节啥的?
点赞 回复
分享
发布于 2020-12-03 23:59
不用太在意,还有很多好公司的
点赞 回复
分享
发布于 2020-12-09 23:38
我四面挂的也很不甘心,面试官给出题目后,我感觉我有更好的解法,所以没有用dp用数学方法解决了,然后就没有然后了。
点赞 回复
分享
发布于 2020-12-10 12:58

相关推荐

4 46 评论
分享
牛客网
牛客企业服务