微软STCA暑期实习——一面&终面

一面
1、英文自我介绍
2、项目介绍
3、算法题
给一个只包含-1和1的数组,求和大于0的最长连续子数组的长度
要求不能用o(n^2)的算法复杂度

没有做出来,尝试过前缀和、单调栈发现不太行,
耐心的面试官一再提示,可以用最小栈,先一次遍历生成,后序遍历之类,还是没有get到意思

尝试蹲一个更优的解法

三面(一面直接过了,猜测可能是项目讲得比较清楚)
1、中文自我介绍
2、聊项目,这次聊得稍微更加细一点
3、算法题(实际上很简单,属于送分题)

给两个无序的链表,找出其中第K大的节点,用能想到的最优的方法解
一来就直接用了快速选择算法,写完之后需要在自己的ide上写测试用例跑结果,写了一个链表生成函数测试,但跑出来结果不对,面试的时候比较紧张,以为是自己快速选择的时候partion函数出了错,演算了很久没找出来,最后bug没调完,直接下一阶段…
(面试完复查,发现返回值返回的是索引k,第k+1大的节点。。。返回索引k-1就对了)

4、全英文交流,问去微软的原因和自己的适配价值,以及英语反问

5、总结:自我介绍、项目交流以及最后的英文交流感觉都还可以,虽然我英语很菜,但面试官英语真的很强…
遗憾的是算法题,当时脑子里闪过多种解法,有用暴力的,或者用现成的优先队列,都可以很快的解出来,然后选择了最费时间的快速选择算法,导致bug没调完很尴尬,以后遇到类似情况还是尽可能用比较省事的解法,先做出来再说。

ps.面试官超级好,非常和蔼
#实习##微软#
全部评论
leetcode 1124
4 回复 分享
发布于 2022-02-28 20:24
在哪里投递的
点赞 回复 分享
发布于 2023-09-03 20:55 上海
没理解错题意的话, 这个算法题可以直接用二分答案给秒了吧🤣..
点赞 回复 分享
发布于 2022-02-28 22:10
有点像leetcode 862
点赞 回复 分享
发布于 2022-02-28 18:49
用空间换时间? 把前缀和<x的最小idx全部存起来。。因为最大也就是n 维护一个大数组就可以
点赞 回复 分享
发布于 2022-02-28 18:40

相关推荐

艰难学习Java的鼠鼠:跟项目没啥关系,单纯投晚了,一般两周一个周期,现在投基本得接近两周才会约面,后端简历数量太多了,需要时间排队
点赞 评论 收藏
分享
评论
2
24
分享

创作者周榜

更多
牛客网
牛客企业服务