面试-概要总结
1、基础部分
基本
hashcode和equals
comparable和comparator
java对象生命周期
java类生命周期
集合
hashmap原理,线程安全问题,扩容,冲突解决
hashmap和TreeMap,LinkedHashMap
ConcurrentHashMap原理,与HashMap的区别
hashSet和TreeSet
ArrayList和LinkedList,Vector
CopyOnWriteArrayList原理
Arrays.sort 和 Collections.sort
集合遍历的快速失败fail-fast机制
ArrayList循环删除问题
多线程
多线程创建方式
死锁和活锁,饥饿
wait和sleep区别
volatile和synchronized,Lock原理和区别
synchronized锁优化,锁膨胀
DCL问题
AQS
CAS,与ABA问题
内存屏障和内存栅栏
java内存模型
happens-before原则
Java线程状态转换
Blocked和Waiting的区别
CountDownLatch,CyclicBarrier, Semaphore,Exchanger的原理
ThreadLocal原理
HashMap并发问题
ConcurrentHashMap 1.8红黑树
分段锁
八种阻塞队列
读写锁,ReentrantLock与ReentrantReadWriteLock
线程池原理,线程数如何确定(公式),线程池种类
JVM
java内存结构,五个区域,区域OOM和SOF情况
GC原理
类加载机制,双亲委派例外
java类加载过程
java强弱软虚引用与GC
java堆和栈
java实现多态原理
数组内存分配
JVM年轻代晋升年老代条件
GC触发条件
JVM堆和栈如何寻址
完成的GC流程,minorGC-->FullGC
GC算法,GC收集器及其优缺点,适用场景,CMS和G1
Root根搜索算法,哪些可以作为root
JVM调优参数
OOM问题排查
FullGC频繁问题排查
dump文件分析
应用周期性卡顿GC问题排查
NIO
NIO,BIO,AIO区别
NIO,IO区别,NIO优点
NIO组件
jdk1.7 NIO epool空转bug
算法
一致性Hash算法
红黑树,hashmap红黑树
B+树,索引
单链检测有环
其他
TCP三次握手,四次挥手
滑动窗口机制
2、核心部分
数据库
死锁,解除死锁状态方法
乐观锁和悲观锁,更新锁,间隙锁
数据库引擎MyISAM和InnoDB的区别
索引原理,B+树,使用b+树实现索引的原因
使用到索引的用法,索引失效的用法
组合索引,最左原则
聚集索引和非聚集索引
事务特性和隔离级别
事务并发问题
mysql优化,分页优化
limit 20000优化
单表查询性能下降数据量
分库分表,及带来的问题以及应对方案
分布式主键方案
读写分离
数据库连接池原理
缓存
redis数据结构
redis支持事务
redis缓存失效机制,淘汰策略
redis持久化机制
redis集群方案,如何同步
redis集群高可用原理,哨兵机制
redis缓存分片方案
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
redis实现分布式锁
redis并发竞争问题
redis和memcache的区别
消息队列
消息重发补偿解决思路
消息幂等性解决思路
消息堆积解决思路
消息有序性方案
如何保证消息的一致性
如何保证消息实时性
消息队列持久化方案
消息队列使用场景
3、框架部分
Spring
BeanFactory和FactoryBean
Spring Bean的作用域
BeanFactory 和ApplicationContext
Spring 注入方式
Spring IOC和AOP原理
Spring单例实现原理
Spring Bean加载过程
Spring IOC初始化流程
Spring事务实现原理
Spring事务传播行为,事务隔离
Spring循环依赖
Spring MVC原理
SpringMVC参数绑定原理
Netty
Netty使用场景
NIO组件
Netty线程模型
Netty零拷贝
TCP粘包,拆包,及解决方案
Mybatis
Mybatis流程
Mybatis结果集的处理:反射
Mybatis插件原理,分页插件
Mybatis动态sql
Mybatis延迟加载
Mybatis的Mapper定位
Dubbo
rpc框架原理
序列化
dubbo组件
dubbo底层实现原理和机制
dubbo负载均衡
dubbo容错机制
dubbo服务注册和发现
dubbo服务超时原理
dubbo的高扩展性分析
4、分布式部分
微服务
微服务数据管理
微服务链式调用异常
微服务问题快速追踪和定位
微服务组件:Eureka,Ribbon,Fegion,Hystrix, Zuul, Config, Sleuth
分布式
zookeeper原理和使用场景
zookeeper选主原理:zab
zookeeper watch机制
zk节点宕机处理方案
dubbo服务发布到消费的过程
分布式系统服务治理
restful
接口幂等性
CAP原理,BASE原理
数据一致性问题
最终一致性实现方案
MQ消息队列原理和实现
MQ如何保证数据不丢失
Redis消息队列
session分布式方案,如何设计
集群环境session共享方案,跨域共享方案
分布式锁方案,如何设计,实现过程
分布式锁使用场景
分布式事务
分布式主键方案
分布式集群缓存刷新和同步
分布式定时调度方案
高并发服务降级,限流
集群负载均衡算法和实现
重连机制的问题:幂等行
分库分表,带来的问题以及解决方案
分库分表策略,全表查询问题
5、安全与性能部分
性能优化
如何发现性能瓶颈
性能调优手段,项目性能调优经验(JVM调优,Tomcat调优,Mysql调优)
web调优
业务工程
项目中遇到的最难的bug/困难,怎么解决的
项目中不足的地方
cpu100%排查解决
内存OOM排查解决
6、场景部分
一千万的用户实时排名如何实现
五万人并发抢票怎么实现
大型网站应用之海量数据解决方案
大型网站应用之高并发情况下的解决方案
在一个千万级的数据库查寻中,如何提高查询效率
用wait-notify 写一段代码来解决生产者-消费者问题,更进一步,在分布式的环境下怎么解决
设计一个线程池
设计一个IOC容器
手机扫二维码登录是怎么实现的?
如何保证RESTful API安全性 ?
项目并发如何处理?(我们是web项目)
平台上的图片如何防盗链:refer字段
你的接口服务数据被人截包了,你如何防止数据恶意提交
假设服务器经常宕机,你从哪些方面去排查问题?
下单3min还未支付,发短信提醒
浙公网安备 33010602011771号