前言
过去2年我持续分享了BAT TMD为代表的大厂最新面试题目,特别是蚂蚁金服、天猫、淘宝、头条、拼多多等Java面试题目。过去2年,我已经成功的帮助了部分同学进入了大厂。2020开始,我依然会为大家带来最新的大厂现场面试专场题目,希望能帮助到更多的同学。回到正题,过完年后金三银四将正式到来,这是一个比较重要的涨薪季。
我知道很多同学早已经提前未雨绸缪了,已经提前在开始准备了。提前准备一直是我倡导的,任何事情你想要有预期的好的结果,那你就需要提前准备,提前准备,提前准备,重要的事情说三遍。
好了,废话不多说了,直接上Java大厂面试高频题目合集
Java面试题合集大纲
- Java基础题目
- 多线程题目
- JVM虚拟机题目
- 设计模式题目
- 算法与数据结构
- 数据库面试题目
- Spring面试题目
- Redis面试题目
- 分布式架构题目
由于篇幅原因,现在只能先给大家展示一些真题,需要答案及面试资料的小伙伴添加下方图中小助手VX即可
Java基础题目
1.八种基本数据类型的大小,以及他们的封装类
2.引用数据类型
3. Switch能否用string做参数
4. equals与==的区别
5.自动装箱,常量池
6. Object有哪些公用方法
7. Java的四种引用,强弱软虚,用到的场景
8. Hashcode的作用
9. HashMap的hashcode的作用
10.为什么重载hashCode方法?
11. ArrayList. LinkedList. Vector的区别
12. String、StringBuffer与StringBuilder的区别
13. Map、Set、 List、 Queue、Stack的特点与用法
14. HashMap和HashTable的区别
15. JDK7与JDK8中HashMap的实现
16. HashMap和ConcurrentHashMap的区别,HashMap的底层源码
17. ConcurrentHashMap能完全替代HashTable吗
18.为什么HashMap是线程不安全的
19.如何线程安全的使用HashMap
20.多并发情况下HashMap是否还会产生死循环
21. TreeMap、HashMap、 LindedHashMap的区别
22. Collection包结构,与Collections的区别
23. try?catch?finally, try里有return, finally还执行么
24. Excption与Error包结构,O0M你遇到过哪些情况,SOF你遇到过哪些情况
25. Java(OOP)面向对象的三个特征与含义
26. Override和Overload的含义去区别
27. Interface与abstract类的区别
28. Static?class?与non?static?class的区别
29. java多态的实现原理
30. foreach与正常for循环效率对比
多线程面试题目
1.什么是线程?
2.什么是线程安全和线程不安全?
3.什么是自旋锁?
4.什么是Java内存模型?
5.什么是CAS?
6.什么是乐观锁和悲观锁?
7.什么是AQS?
8.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
9.什么是Executors框架?
10.什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
11.什么是Callable和Future?
12.什么是FutureTask?
13.什么是同步容器和并发容器的实现?
14.什么是多线程?优缺点?
15.什么是多线程的上下文切换?
16. ThreadLocal的设计理念与作用?
17. ThreadPool (线程池)用法与优势?
18. Concurrent包里的其他东西: ArrayBlockingQueue. CountDownLatch等等。
19. synchronized和ReentrantLock的区别?
20. Semaphore有什么作用?
21. Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
设计模式面试题目
1.装饰器模式
2.工厂模式
3.单例模式
4.观察者模式
5.动态代理模式
6.适配器模式
7.模板模式
8.策略模式
JVM面试题目
1.内存模型以及分区,需要详细到每个区放什么。
2.对象创建方法,对象的内存分配,对象的访问定位。
3. GC的两种判定方法:引用计数与引用链。
4. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地
方,如果让你优化收集方法,有什么思路?
5. GC收集器有哪些? CMS收集器与G1收集器的特点。
6. Minor?GC与FulI?GC分别在什么时候发生?
7.几种常用的内存调试工具: jmap. jstack、 jconsole.
8.类加载的五个过程:加载、验证、准备、解析、初始化。
9.双亲委派模型: Bootstrap?ClassLoader. Extension?ClassLoader. ApplicationClassLoader。
10.分派:静态分派与动态分派。
11. JVM过去过来就问了这么些问题,没怎么变,内存模型和GC算法这块问得比较多
算法与数据结构
1.链表与数组。
2.队列和栈,出栈与入栈。
3.链表的删除、插入、反向。
4.字符串操作。
5. Hash表的hash函数,冲突解决方法有哪些。
6.各种排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定。
7.快排的partition函数与归并的Merge函数。
8.对冒泡与快排的改进。
9.二分查找,与变种二分查找。
10.二叉树、B+树、AVL树、红黑树、哈夫曼树。
11.二叉树的前中后续遍历:递归与非递归写法,层序遍历算法。
12.图的BFS与DFS算法,最小生成树prim算法与最短路径Dijkstra算法。
13. KMP算法。
14.排列组合问题。
15.动态规划、贪心算法、分治算法。 (一般不会问到)
数据库面试题目
1.事务四大特性(ACID) 原子性、-致性、 隔离性、持久性
2.数据库隔离级别,每个级别会引发什么问题,mysq|l默认是哪个级别
3. innodb和myisam存储引擎的区别
4. MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景
5.查询语句不同元素(where、 jion、 limit. group by、having等等) 执行先后顺序
6.数据库的优化(从sql语句优化和索引两个部分回答)
7.索引有B+索引和hash索引,各自的区别
8. B+索引数据结构,和B树的区别
9.索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效
10.聚集索引和非聚集索引区别。
11.有哪些锁(乐观锁悲观锁),select时怎么加排它锁
12.关系型数据库和非关系型数据库区别
13.数据库三范式,根据某个场景设计数据表(可以通过手绘ER图)
14.数据库的读写分离、主从复制
15.使用explain优化sq和索引
16. long_ query怎么解决
17.内连接、外连接、交叉连接、笛卡儿积等
Spring面试题目
1. I0C和DI是什么?
2. Spring I0C的理解,其初始化过程?
3. BeanFactory和FactoryBean的区别?
4. BeanFactory和ApplicationContext的区别?
5. ApplicationContext上下文的生命周期?
6. Spring Bean的生命周期?
7. Spring AOP的实现原理?
8. Spring是如何管理事务的,事务管理机制?
9. Spring的不同事务传播行为有哪些,干什么用的?
10. Spring中用到了哪些设计模式?
11. Spring MVC的工作原理?
12. Spring如何解决循环依赖?
13. Spring如何保证Controller并发的安全?
分布式架构面试题目
1.什么是CAP定理
2. CAP理论和BASE理论
3. CAP理论
4. CAP理论和最终一致性
5.最终-致性实现方式
6. CAP理论和BASE理论
7.-致性 Hash
8.分布式事务,两阶段提交。
9.如何实现分布式锁
10.如何实现分布式Session
11.如何保证消息的- -致性
12.负载均衡
13.正向代理(客户端代理)和反向代理(服务器端代理)
14. CDN实现原理
15.怎么提升系统的QPS和吞吐量
16. Dubbo的底层实现原理和机制
17.描述-个服务从发布到被消费的详细过程
18.分布式系统怎么做服务治理
19.接口的幂等性的概念
20.消息中间件如何解决消息丢失问题
21. Dubbo的服务请求失败怎么处理
22.重连机制会不会造成错误
23.对分布式事务的理解
24.如何实现负载均衡,有哪些算法可以实现?
25. Zookeeper的用途,选举的原理是什么?
26.数据的垂直拆分水平拆分。
27. zookeeper原理和适用场景
28. zookeeper watch机制
29. redis/zk节点宕机如何处理
30.分布式集群下如何做到唯- -序列号
31.用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗
由于篇幅原因,现在只能先给大家展示一些真题,需要答案及面试资料的小伙伴添加下方图中小助手VX即可