2022微软暑期实习C+AI上海三面凉经

2022年2月25日13点-13点45
一、英语自我介绍
二、针对简历内容提问
三、算法题
       面试官说手写快排(我一听还有这种好事?),后面来了一句不能用递归(直接痛苦面具)
       说实话,一下子懵了。因为平时写快排都是用递归,非递归真的没有考虑过,想应该用栈来模拟系统栈调用递归的过程,但面试时实在没有头绪
       最后写了一个递归快排,也没能改成非递归
       互相折磨后,面试官说这个会做就会做了,不会就不会了,我们聊点其他的吧(距离折磨结束还有15分钟)后面的聊天也无心恋战了,凉透
       晚上搜了一下,发现有位老哥面试腾讯时,也是leader面,遇到了和我相同的问题懵了,程序员的悲或许是相通的吧,哈哈
class Solution {
    public static void main(String[] args) {
        int[] nums=new int[]{9,1,8,2,7,3};
        Solution.stackQuickSort(nums,0, nums.length-1);
        for (int num:nums){
            System.out.println(num);
        }
    }

    public static void stackQuickSort(int[] nums,int left,int right){
        Stack<Integer> stack=new Stack<>();
        if (left<right){
            stack.push(right);
            stack.push(left);
        }
        while (!stack.isEmpty()){
            int l=stack.pop();
            int r=stack.pop();
            int index=quickSort(nums,l,r);
            if (l<index-1){
                stack.push(index-1);
                stack.push(l);
            }
            if (r>index+1){
                stack.push(r);
                stack.push(index+1);
            }
        }
    }

    public static int quickSort(int[] nums,int left,int right){
        int center=nums[left];
        int i=left;
        int j=right;
        while (i<j){
            while (i<j&&nums[j]>=center)j--;
            while (i<j&&nums[i]<=center)i++;
            int temp=nums[j];
            nums[j]=nums[i];
            nums[i]=temp;
        }
        nums[left]=nums[i];
        nums[i]=center;
        return i;
    }
}
平心而论,微软的这次终面难度确实不高,奈何自己的基础实在薄弱
微软是我面的第一家公司,从简历投递,到笔试,到三面,也算是走了个完整的流程,离终点就差一口气,遗憾是肯定的,主要还是自己能力不行,怪不得谁
西班牙队从头再来吧!难道向上攀爬的那条路,不是比站在顶峰更让人热血澎湃吗?——贺炜
       
#微软##面经##实习#
全部评论
不要失去信心啊!这不才面完,dont emo!
1 回复 分享
发布于 2022-02-26 16:10
老贺伟了
1 回复 分享
发布于 2022-02-27 18:41
这么快就知道凉了吗,我面完好像还没有音讯
点赞 回复 分享
发布于 2022-02-27 21:47
现场想非递归快排还是难顶。小建议就是用Deque代替Stack哈😁
点赞 回复 分享
发布于 2022-02-28 09:30
微软啥时候开奖啊,挂了会捞吗
点赞 回复 分享
发布于 2022-02-28 10:14
理想汽车春季招聘,车企顶级待遇,内部专属内推链接(内推码已自动填好),可私信加vx好友全程跟进: https://app.mokahr.com/m/campus_apply/chehejia/40949?recommendCode=DSSCgruY#/jobs
点赞 回复 分享
发布于 2022-02-28 22:52
理想汽车春季招聘,车企顶级待遇,内部专属内推链接(内推码已自动填好),可私信加vx好友全程跟进: https://app.mokahr.com/m/campus_apply/chehejia/40949?recommendCode=DSSCgruY#/jobs
点赞 回复 分享
发布于 2022-02-28 22:53
想到的是类似于线段树,将数组不断细分直到所有的叶子节点长度为1
点赞 回复 分享
发布于 2022-03-02 10:44
用队列模拟应该就可以吧,每轮快排能一分为二,然后将左右两边入队列,下一轮循环再从队列中取出来一个,跟二叉树的层次遍历一个写法
点赞 回复 分享
发布于 2022-03-05 01:12
同手撕快排 估计是同一个组的😅快撕完他说不要用递归写,我开始用队列试了下,后面换栈了。目前还没消息估计凉凉
点赞 回复 分享
发布于 2022-03-07 10:44

相关推荐

评论
6
37
分享
牛客网
牛客企业服务