美团到店研发平台-秋招一面-Java
昨晚面的,有些问题没答出来,本来都打算当做凉经来写了,结果早上八点多收到了二面通知,把好运分享给大家,顺便祈求二面也能顺顺利利~
由于很多问题都不是常规八股,再加上晚上面试状态有点疲惫,没办法完全复盘,只能想到什么写什么了
1.Java基础类
- 锁的分类以及各自特点(直接答了Synchronized和ReentrantLock,被面试官提醒从乐/悲观的角度答)
- 乐观锁的实现、悲观锁的实现
- 多个线程同时争抢同一把锁阻塞的情况下,如何唤醒指定线程(这题没答出来,不知道想考的是哪方面问题)
- 堆和栈的区别是什么?平时工作中有没有碰到过栈溢出和堆溢出的情况?有做过JVM调优吗?(您太瞧得起我了)
2.Spring框架类
- Spring和SpringBoot的区别在哪里?除了优点之外,SpringBoot有不好的地方吗(回答:由于做了很多优化和兼容,整体不如Spring轻量化,感觉答得不够具体)
- SpringBoot中事务管理的注解有用过吗?它是如何实现的呢?(AOP动态代理)
- Controller类是单例的,那它是如何做到同时处理多个线程的访问呢?(没答出来,不知道想考的是什么知识点……)
3.MySQL类
- 如何知道索引有没有命中?
- Limit查询深度分页问题的解决?(正好实习做过,回答游标分页)
3.中间件类
- 如果一个线程从Redis获取数据时由于某种原因发生了阻塞,这时另一个线程去获取同一个数据,是否会被阻塞?(又把我问懵了,思考了一会说会阻塞,因为Redis是单线程处理,不确定有没有答对,但是起码把问题引向了单线程)
- Redis单线程为什么能这么快?什么是IO多路复用?(BIO、NIO、多路复用都简单背了下)
- 某个接口中过多调用了其他服务的方法,导致业务耦合度高、响应时间慢,如何解决?(多线程异步处理,消息队列解耦)
- 消息队列如何确保消息不丢失?(生产者到消息队列、消息队列自身、消息队列到消费者三个方面,大概说了下)
4.RPC类
- 对RPC有了解过吗?(实习的公司需要用,所以正在学习)
- 调用方和被调用方如何确定对方身份?(回答的是在Zookeeper进行注册与匹配)
5.其他类
- 实习中遇到的困难
- 看你正式做项目是今年年初,转码是一时兴起吗
- 假如之后面试通过了,可以提前实习吗,一周能来几天?(很诚实地回答说不行,等秋招结束就要忙本专业的事情了,天坑专业发SCI才能毕业)