微软 模拟二面
- 自我介绍
- 项目中最有挑战性的一件事?
- 项目中的技术难点是什么?
- 项目小组有几个人?是如何在项目中协调彼此的工作的?有没有整理项目文档?
- 如何判断一个链表有环?答快慢指针。为什么快慢指针一定可以解决判断链表有环的问题?快指针比慢指针快一步可以吗?快两步可以吗?快三步可以吗?(当时以为只能快一步,快两步就只能判断环节点是偶数的情况,但是为什么能判断这一点没有答好,思路不是很清晰)
- 算法题1:给定输入字符串S,返回S中不包含重复字符的最长子串(双指针+哈希表10分钟写完,写完检查发现两个小问题没有考虑到,一个数组越界一个哈希表删除键键值对)
- 算法题2:把以上问题变得更复杂一些,现在允许出现重复字符。但是所有字符的重复次数加起来不能超过1,返回符合条件的最长字串,没做出来,思路不是很清晰。。
- 反问,面试官说我是weak hired水平,说第一道题是力扣原题,绝大多数人都能做出来,第二道稍微变通了一下,给的反馈是思路不够灵活,建议刷题的时候多思考,知其然知其所以然
全程70分钟,无八股,感觉微软更看重算法,算法功底很重要,2023.9.14