【得物】Java岗-15min结束的光速面经

一面

邮件写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. 场景:比如说我们做在这个支付,就是你去转账的时候,就比如说然后你是个订单,然后你去支付的时候,

这时候可能是说支付宝那边可能遇到就是会遇到网络超时,对你来说有可能是说然后要成功,对吧?有可能失败,但是你在当场前情况下你是不知道这个结果的。

那这个时候,然后比如说是你作为一个订单的设计,比如说我怎么去防止这种情况?

从前端上开始请求,或者是就是用户请求,然后到订单服务,然后再到一个支付服务,对不对?这三个服务,那如果比如说订单去支付的时候,然后这时候出现了一个超时,对吧?你订单的时候肯定会有个状态的流转,对不对?那这个流转你到底推还是不推?或者说你有什么办法去保证?然后订单的状态和你的支付状态是一致的?对,你不知道,因为它是超时的,就是你不知道支付他们那边的结果。

  1. Spring中用到了哪些设计模式?你怎么理解模版模式,工厂模式

二面

  1. 线程之间通知怎么处理

  2. 比如说有一个队列当中,有批量线程去处理的任务,然后一个任务处理失败之后要终止其他任务,这个怎么处理?

  3. 负载均衡算法

  4. 熔断器实现思路

  5. kafka ack机制

  6. 如何实现自定义的类加载器

  7. 在上下文当中传递标,这个标的话你可以理解为KV值,

然后我在项目当中去不断地去链路当中透传,那传的直接传的可能会丢,对吧?那如何?我应在线程池当中实现这个标的传递?

  1. 项目难点

  2. (时间紧迫,那就这样吧,没有反问环节

当一个面试官不想要你的时候,那么就光速结束,也别反问了

发表评论

后才能评论