BAT面试文档:银行java开发面试题

这篇博客详述了BAT(百度、阿里巴巴、腾讯)对Java开发者的面试过程,涵盖了一面的基础知识,如equals和hashCode、多线程、TCP连接等;二面深入探讨了多线程和JVM优化;三面涉及Redis、MySQL及其事务处理;四面讨论了分布式架构、Dubbo和Spring Cloud。此外,还包含了HR面的常见问题。博主分享了1111道Java工程师面试必问题目,覆盖MyBatis、ZooKeeper、Elasticsearch等多个技术领域。
摘要由CSDN通过智能技术生成

一面(基础面:大约60分钟)

  1. 自我介绍
  2. 对象相等的判断,equals方法实现。Hashcode的作用,与 equal 有什么区别?
  3. Java中CAS算法?
  4. G1回收器讲一下?
  5. HashMap,ConcurrentHashMap与LinkedHashMap的区别
  6. 如何在多线程环境下使用Map,ConcurrentHashMap原理,ConcurrentHashMap如何加锁。
  7. 多线程并发的同步实现,有两个方法,每个方法里有a部分代码和b部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a部分代码再一起向下执行,如何实现。
  8. TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。
  9. aio,nio,bio的了解
  10. ReetrantLock和synchronized的区别。
  11. Java有哪些悲观锁的实现?
  12. Java有哪些类实现了乐观锁?

二面(二面就死抓多线程问)

  1. 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
  2. 数据库连接池介绍下,底层实现说下
  3. hashset底层实现,hashmap的put操作过程
  4. 说说HaspMap底层原理?再说说它跟HaspTable和Concu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值