陌陌秋招提前批JAVA后端1,2面面经(口头oc)
陌陌我是7月下旬投的提前批,然后上周约面试时间,这周把两面面完了,问了hr说过了,月底会有hr面。
陌陌的面试流程还是比较舒服的,有专门的hr电话沟通时间,面试官也没有迟到,态度也不错,点赞!然后我投的部门是商业化,不废话了,下面是面经。
一面
一面面试官态度很不错,一开始问我spring相关八股,我没咋背,他就问别的了,也没有怎么为难。
- 自我介绍
- springBoot和spring的区别
- springBoot自动加载的功能说一说
- spring的bean的生命周期说一下
- synchronized的关键字的理解讲一下,一个普通方法和一个静态方法都用synchronized修饰,调用这两个方法会发生锁竞争吗?
- synchronized和reentrantLock说一下理解和区别
- 说一下其他几种基于AQS的锁(讲了ReentrantReadWriteLock, Semaphore,CountDownLatch,CyclicBarrier的用法和使用场景)
- 线程池原理和参数的意义讲一下
- jvm的垃圾回收说几个回收器(讲了serial和cms的原理和回收过程)
- 哪些对象可以作为GCRoot
- 写题:反转链表第n到m个结点
- 写题:有序数组A和B,将B合并到A中形成新的有序数组
- 反问
二面
二面一看就是主管,全程场景题,没问八股。
- 自我介绍
- 介绍学校的项目
- 介绍自己学校毕设的内容
- 介绍实习相关的内容
- 场景题:实现一个接口,该接口被上游调用,向上游承诺300ms返回结果,但是该接口依赖下游5个接口,下游每个接口平均调用时间在100~200ms,让说出该接口的实现思路(这个题聊了挺久的)
- 场景题:服务器2G内存,对磁盘上10G内存排序。我回答的归并排序,然后让我说出具体的排序过程,越详细越好。
- 场景题:有1千万条字符串,请问插入hashmap中会遇到什么问题?(我当时只说了插入太慢,会频繁扩容数组,且不能通过多线程来插入,后来想了一下,还会内存溢出,因为数组长度不可能分配一千万那么长)
- 场景题:说一下在RPC服务中如何去实现限流操作,我讲了一下令牌桶算法,然后问我令牌桶不平滑怎么解决,我说可以再加上滑动窗口算法一起实现限流。
- 唯一一个八股,问什么时候jvm会发生fullGC
- 反问环节。