苏州微软凉经
我是算法岗,但面试也没问这些相关的,只问了几个算法题,问了一点项目。
时间线
4.4左右笔试(忘记哪天了,大概吧)
4.21接到电话邀请现场面试
4.24现场面试(两面,凉),两轮技术面试,通过一轮即进入leader面
我要感慨一下,微软好干净啊!!!环境特别好,真的超级想去!!!后面再战!!!
要面试的都集中在一个屋子里面等待,时间到了,你的面试官就过来认领你了。每一轮面试后回到这里,如果有第三轮也会被叫到,没有第三轮的hr小姐姐就会告诉你面试结束了😭。
## 一面
- 讲一个自己熟悉的项目
- 算法题:给定一堆序列标号(标号用整数),形式为[a,b],表示标号为a,b的两个物体的体积关系满足:a > b,用合适的数据结构存储数据,并判断这堆序列是否有效。(比如[a,b], [b, d], [d, a]这个就不是有效的,因为a > b, b > d, 那么 a > d, 但是最后一个序列说的是 d > a,矛盾了。)
解法:我用字典存的数据,然后dfs(面试官多次提示才完善的思路,代码没写,时间查不多了)
面试官推荐:题目实际是,求图中是否有环,用拓扑结构,把入度为0的结点全部删掉,直到删不动为止。
## 二面
- 给定一个字符串,判断是否是有效的IP地址(提示,有效的IP地址格式是xxx.xxx.xxx.xxx, xxx在0-255之间)(输入不保证都是这种格式,要自己判断,同时001这种是否有效要问面试官)
- Top K(我说堆排,面试官本来要问我堆的实现,我说不会堆...太菜了,面试官就没问我了)
- 给定一堆近义词序列[a,b],[c,d]...,每个list里面表示这两个元素为近义词。给定多组query对,{[a,x,c],[b,y,d]},....,判断每对query是否是近义词(近义词是指相对应的位置都是近义词,比如a,b近义词,x,y近义词,c,d近义词)(简单的做,用字典,把输入的近义词序列组合一下,比如'a#b'做key,value是1,然后去判断即可。问题是:你要问面试官[a,b],[b,c]这种,a,c算近义词吗,如果算的话,就更复杂了,要用到并查集)
- 哎,面试官看出了我的菜,早早的结束了面试...(二面我走的最晚,回来的最早)
算法之前一定要冷静思考一下,想一想可能有的坑,要多与面试官沟通。