java面试题汇总(无答案)
一.java基础
- java基本数据类型及占用字节、数据类型有哪些并举例
- 接口和抽象类的区别
- java基础类库、原子类、并发包
- 集合list\set、map都包括什么?都有什么特点/区别是什么?
- list怎么去重?map和set怎么去重?
- map中线程安全的有哪些?
- hashmap为什么线程不安全?hashMap的put方法实现以及1.7和1.8的区别?
- conCurrenHashMap实现原理
- java设计模式有哪些?请举例应用场景
- java内存模型和jvm运行时的数据区
- 内存溢出和内存泄漏、jvm调优(垃圾回收器)
- 类的加载机制及生命周期
- 类的加载器有哪些?运行顺序是什么?怎么实现自定义类加载器
- tomcat加载文件顺序
二.线程
- 什么是进程? 什么是线程?
- 多线程的几种实现方式
- start()和run()方法区别?
- wait()和sleep()的区别?
- volatile作用、为什么不能保证操作的原子性?怎么解决?
- synchronize关键字实现原理
- lock实现原理
- synchronize和lock区别
- AQS
- CAS
- 线程池的实现方式有几种?为什么要使用这种方式?
- 线程池的设置哪些参数?各参数设置依据?
- 怎么判断线程池中任务都已经执行完毕?
- submit和execute区别?
- 多线程的执行过程
- 线程死锁的必要条件?怎么避免死锁?
三.框架、中间件
- 集群、分布式、微服务的特点
- spring和struct区别
- spring、springmvc、springboot都是什么?各自优点特点或者之间的区别?
- spring事务及隔离机制
- springboot核心注解及由什么构成,分别的作用是什么?启动是配置文件的加载顺序?启动流程?核心文件及区别?默认的aop实现方式是?配置多数据源?自动化配置原理?
- springcloud组件都有哪些?作用是什么?
- dubbo工作原理及核心配置
- redis功能:数据缓存、分布式锁、数据持久化、事务、消息队列
- redis缓存击穿、穿透、雪崩
- redis持久化机制
- redis过期策略
- redis集群模式
- redis主从同步
- 如何实现分布式的session共享(ngix+tomcat+redis)
- 分布式系统事务处理
- MQ:作用、高并发时mq消息过多怎么处理()?怎么解决Mq重复消费(全局唯一标识)?如何解决消息丢失的问题?
四.mybatis
- 与hibernate的区别?
- 怎么实现分页
- 一级缓存和二级缓存
- Dao层实现数据库的读写分离
五.数据库
- mysql的存储引擎
- myisam和innodb的区别
- 什么是索引,为什么要用索引,索引有些?mysql的索引数据结构是?为什么使用b+树
- mysql集群配置
- sql调优
- 分库分表
六.高并发处理
- 分布式事务高并发解决方案
- 电商秒杀高并发处理
**
未完待续。。。Loading…
**