11.11日更新,收到邮件通过了offer审批, 开心!!!谢谢微软爸爸给了个打工的机会555555555
11.6 日更新,今天收到面试通过的邮件,但是邮件上面说面试通过也不代表有offer, offer审批过程中也有筛选55555
希望微软给个机会吧,许愿!!!!
总共四轮面试,一二轮平行面(过一个就行了),三轮lead面,四轮AA面
10.21 约了两面
一面:
1. 自我介绍
2. 撕代码: 暂时没有在leetcode上面找到,只能口述了
中文字符串转成数字 比如输入 一亿一千一百零一万一千一百零一 输出 111011101
面试官人很好 因为c++处理中文不方便,就给我简化了一下, 亿用字母y代替, 万:w , 千:q,大概就是这个意思吧
二面:
1. 英文自我介绍
2. 撕代码:leetcode 22 , 297
两轮的面试官都很好,讲话都很温柔
10.23
三面:
1. 自我介绍
2. 遇到困难的事情
3. 做题 leetcode上没找到 口述一下吧 这个的要求是bugfree
判断一个数组是否是大约排好序的数组,也就是下面两个条件满足一个
1. 交换任意两个数字,得到的是一个排好序的 比如 [1, 5, 3, 4, 2]
2. 数组中的一段子序列旋转后能是一个排好序的数组,比如[1,2, 7,6,5,4,3, 8,9]
---------------------------------------------------------------------------
更新,看到很多人对第三题有疑问,就再讲清楚一点:
因为数组可能是升序数组或者是降序数组,面试官就假定了是升序数组
假设判断一个数组是否为一个大约排好序的升序数组
如果数组本来就是有序,那就直接满足,否则就要判断是否满足下面两种情况的其中一种:
第一种情况[1,5,3,4,2] ,这个时候只需要交换5和2,得到数组[1,2,3,4,5]是一个升序数组,满足条件;交换只能交换一次
第二种情况[1,2,7,6,5,4,3,8,9], 这时数组中连续子序列[7,6,5,4,3]是一个降序的数组,将其旋转后变成[3,4,5,6,7],再插回原数组得到[1,2,3,4,5,6,7,8,9]是一个升序数组,满足条件;同样旋转也只能旋转一次
这题不难,就是边界条件要考虑清楚,因为交换或者旋转之后也未必就是一个升序数组,评论区也有大佬给出了思路
10.30
四面:
1. 英文自我介绍,英文聊人生,介绍项目,三个优点
2. 做题,M进制转N进制,输入是一个M进制的数,输出是一个N进制的
微软的面试体验非常好,每一轮的面试官都很nice,55555希望微软爸爸能给个机会吧
全部评论
(18) 回帖