邮件写30min就面30min,可以的,面试官语速跟火箭似的
1. Java 里常用的数据结构有哪些
2. Set 怎么去保证去重的
3. Set 里面,如果保存的是一个自定义的对象的话,那我这个对象应该是有什么动作吗?
4. 在常用的里面,然后队列基本上是使用在哪一种?哪些场景?
5. BlockingQueue有哪些实现类,基本原理,怎么实现阻塞的
6. synchronized和reentrantlock区别
7. synchronized实现原理,锁的机制
8. 基于synchronized加锁,多线程去抢资源,底层会发生什么
9. 操作系统级别怎么做到阻塞
10. wait方法操作系统里是如何实现的?
11. 如果中途一些线程离开或者失效,怎么办,怎么维护
12. wait和join哪个会释放锁
13. MySQL 里面,然后事物的隔离级别都有哪些?
14. 提交读和可重复读有什么区别?
15. MySQL如何实现事务的
16. redolog和binlgo区别,如何保证它们的数据一致
17. 分布式事务的解决方案
18. Seata下AT模式,发生事务超时怎么解决
19. 场景:比如说我们做在这个支付,就是你去转账的时候,就比如说然后你是个订单,然后你去支付的时候,
这时候可能是说支付宝那边可能遇到就是会遇到网络超时,对你来说有可能是说然后要成功,对吧?有可能失败,但是你在当场前情况下你是不知道这个结果的。
那这个时候,然后比如说是你作为一个订单的设计,比如说我怎么去防止这种情况?
从前端上开始请求,或者是就是用户请求,然后到订单服务,然后再到一个支付服务,对不对?这三个服务,那如果比如说订单去支付的时候,然后这时候出现了一个超时,对吧?你订单的时候肯定会有个状态的流转,对不对?那这个流转你到底推还是不推?或者说你有什么办法去保证?然后订单的状态和你的支付状态是一致的?对,你不知道,因为它是超时的,就是你不知道支付他们那边的结果。
20. Spring中用到了哪些设计模式?你怎么理解模版模式,工厂模式
#得物#