微软苏州暑期实习一二面

一面2020年4月13日
自我介绍
算法题:实现一个类似于整数流的类,每次调用next()方法时会传进去一个数字,并返回最近传进去的三个数的平均值。要求只能使用数组实现。
stream.next(4); //return 4
stream.next(6); // return 5
stream.next(2);// return 4
stream.next(1); // return 3
使用循环数组来实现一个队列,记录一下开始结束位置,并用一个sum来存当前的和,这样可以做到时间复杂度为O(1)。
数学题:现在有一个M*N的点阵,问从左下角走到右上角的最短路径一共有多少条。只能上下左右移动。没有障碍。
我答的dp,面试官说没有问题,不过不需要那么麻烦,应该是Cm+n-2 n-1条路径。最短路径只能向右向上走,而最短路径的长度一定为m+n-1所以可能的选择就是从这些可能性中选出那些向上或向下走的路径。

二面2020年4月29日
讲项目(竟然没有自我介绍)
算法题:给一个不含重复元素的数组,如果该数组满足下面两个条件中的任意一个,就返回true,否则返回false;
条件1:如果在该数组中可以找到两个数字使得交换这两个数字后的整个数组变为升序,那么该条件满足。
条件2:如果该数组中可以找到一个连续的子数组使得反转这个子数组后整个数组变为升序,那么该条件满足。
在面试官的引导下,先沟通了思路,最后算是写出来了,就是有点儿小bug,还有有些地方代码可读性较差。原因就是当时先写出来一部分发现逻辑不太对,就在原有的基础上加补丁,这样代码就会越改越乱。面试官也提到了这个问题,说如果写出来发现有些corner case没有覆盖到的话最好是把之前推翻了重新想一下,这样写出来的代码才会简洁明了。


#微软面经##微软##实习##面经##软件研发工程师#
全部评论
第二题是动态规划么?
点赞 回复
分享
发布于 2020-04-30 08:54
dalao求第二题做法
点赞 回复
分享
发布于 2020-04-30 09:51
滴滴
校招火热招聘中
官网直投
只有两面吗
点赞 回复
分享
发布于 2020-04-30 13:11
大佬一面二面隔这么久
点赞 回复
分享
发布于 2020-04-30 14:44
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复
分享
发布于 2020-05-01 11:54
请问楼主拿到offer了吗
点赞 回复
分享
发布于 2020-05-07 10:58

相关推荐

头像
不愿透露姓名的神秘牛友
03-20 10:18
点赞 评论 收藏
转发
6 38 评论
分享
牛客网
牛客企业服务