一面:
- ArrayList和linkedlist区别。ArrayList是否会越界。
- ArrayList和hashset有何区别。hashset存的数是有序的么。
- volatile和synchronized区别
- 多态的原理
- 数据库引擎Innodb和myisam区别
- Redis的数据结构
- Redis是基于内存的么
- Redis的list zset的底层实现
- http和https的区别,tcp握手过程
- jvm垃圾回收算法手写冒泡
- 手写单例包括多线程下
- Java线程间怎么实现同步,notify()与notifyAll()的区别
- 数据库的悲观锁和乐观锁应用场景。
- 排序算法的复杂度,快速排序非递归实现。
- 海量数据过滤,黑名单过滤一个url。
二面:
1、问了冒泡排序,快排,和归并排序及优缺点和优化
2,网络方面有osi七层,tcp/ip五层,分别有哪些协议及作用
3,爬虫用的什么数据结构
4、tcp的流量控制和拥塞控制
5,mysql用的什么存储引擎,这个存储引擎用的什么数据结构 ,有哪些优缺点,怎么使用
6,jvm的垃圾回收机制和垃圾收集器
7、spring当中事物的隔离级别
8、jdk1.8 concurrenthashmap 的新的特性,有没有看过源码
9、 threadlocal了解吗
10,问了redis的一些问题,项目中有(扩容,失效key清理策略等)
11,剩下的都是项目的东西(kafka filebeat elk原理,主从选举,复制等)
12,后面扩展的问了一些大数据相关的,问我一些大数据处理框架是否有了解
三面
- 索引的类型,索引的底层实现原理
- MySQL数据库对应的行锁、表锁、悲观锁、乐观锁的区别
- MySQL数据库引擎?应用场景?查询优化?NoSQL有用或了解吗?
- mysql事务讲一下,事务定义,四个性质,事务并发引起的问题,事务的四个隔离级别
- Spring IoC、AOP,底层代码看过吗,scope作用域为什么要有prototype
- 谈谈你知道的设计模式,知道什么是回调模式吗
- 高并发系统,海量数据分库分表的策略,怎么来实现
- 数据库前面的Redis缓存,如何实现查询的负载均衡
- 为什么选择阿里巴巴?你对待工作的做事原则有哪些?
以上是阿里最新技术三面题目,以下是最新总结出的阿里等BAT面试java必考题目和答案。