MSRA RSDE 暑期实习 前三轮面经
面试前看了不少面经,也写一下自己的面试经历,回馈广大网友。工作确实不好找,加油!
上午:
第一轮
- 自我介绍,问一个项目
- 算法:一个双指针,并设计测试用例
- 算法:编辑距离原题,力扣七十多题那个
- 算法:编辑距离子串版,A 中找到一个子串,和 B 的距离最近。
下午:
第二轮
- 自我介绍,问一个项目
- 算法:类似前缀和 + 后缀和
- 算法:设计 O(1) 增删查 随机获取 的数据结构。HashMap + ArrayList。
第三轮
- 自我介绍,问一个项目
- 算法:第K大。
- 算法:手写堆。
- 写一个线程安全的堆,类似乐观锁一种,悲观锁一种。
- 内存存满了,堆应该怎么办 (单机,用磁盘)
- 磁盘和内存怎么交互,来存储这个堆(类似分布式协议)
- JVM 垃圾回收的算法,有什么缺陷? JVM 调优经历以及觉得不合理的地方。