软件开发岗(微软)社招面经

一面

自我介绍+项目

计算机网络

TCP三次握手和四次挥手

挥手时ACK包丢失,Client端和Server端如何处理?

操作系统

使用512k内存,存放(key,value)键值对,key和value均为string型,如何高效利用内存,实现快速的add()和get()操作

编程题(共享桌面,本地编译器)

求整数数组中未出现的最小正整数

如:arr=[1,4,3,5],return 2;

arr=[1,2,3,4],return 5;

(arr[i]全为正时,借助辅助数组newarr,令newarr[arr[i]]=1;返回newarr中第一个(忽略newarr[0])不等于1的元素索引)

数组中存在负数或者大数时,如何优化?

(数组大小为n,则未出现的最小正整数值在0~n+1之间,负数和>n+1的大数可以忽略,空间优化:不借助辅助数组,arr内部中交换元素)


二面

自我介绍+项目、工作经验

编程题(JudgeCode,类似手撕)

1.统计一个二进制数中1的位数

(剑指offer #15)

如:n=6  二进制 110  return 2;

n=5  二进制 101  return 2;

2.查找链表中倒数第k个节点

(双指针||剑指offer #22)

3.求数组中最大和最小值(递归+非递归)

(非递归遍历||递归 二分)

三面

自我介绍+项目

编程题(JudgeCode+本地运行结果)

I have a few lucky numbers between 0 to 9. And given a large integer N, find an integer that only contains my lucky numbers, and not bigger than N.

N can be very big, like an integer contains millions of digits.

如:LuckyNum=[8,9]  N=129   return 99;

LuckyNum=[7,8,9] N=902  return 999;

(大数问题string解决,输入N和返回值res均用string类型存储

if N[0]>=luckyNum.min{

res与N长度相同 ;

res[0]=luckyNum中不超过res[0]的上界;

res[k]=luckyNum.max   k=1...

}

else{

res比N的长度少1;

res[k]=LuckuNum.max  k=0...

}      )

四面

聊天(英语)

1.闲聊

2.聊工作经历

3.聊项目

系统设计(中文)

1.PowerPoint如何通过ML方法优化?

2.设计一个弹窗系统,根据员工的邮件信息,为准备休假或正在休假的员工,自动弹出会议列表,员工选择不能参加的会议,弹窗系统如何设计?

3.如果邮件中存在隐私不可见的部分,ML该如何处理?

4.项目中如何保证代码的可靠性?


1.老板很忙,但是对于项目你有很多问题,你该怎么办?

2.老板在开会时要求你用方法A完成某项任务,但你认为方法B比方法A更好,你该怎么办?

3.你是新员工,开会时跟老员工观点不一致,该怎么办?


#面经##社招##微软##软件研发工程师#
全部评论
?网上为什么19年搜到了一模一样的帖子
7 回复 分享
发布于 2021-08-03 13:02
大佬之前也是在大厂吗?
3 回复 分享
发布于 2021-07-31 00:22
好奇,微软这边面试必须是英文吗?
1 回复 分享
发布于 2021-07-30 14:50
确实感觉是个19年帖子的搬运工
1 回复 分享
发布于 2021-10-08 09:54
大佬,已经收到offer了吗
点赞 回复 分享
发布于 2021-08-11 10:29

相关推荐

冷艳的小师弟在看机会:jd测评乱点直接被挂了,哭死~
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
评论
8
98
分享
牛客网
牛客企业服务