面试-概要总结

一、基础部分

基本

hashcode和equals
comparable和comparator
java对象生命周期
java类生命周期java

集合

hashmap原理,线程安全问题,扩容,冲突解决
hashmap和TreeMap,LinkedHashMap
ConcurrentHashMap原理,与HashMap的区别
hashSet和TreeSetmysql

ArrayList和LinkedList,Vector
CopyOnWriteArrayList原理
Arrays.sort 和 Collections.sortweb

集合遍历的快速失败fail-fast机制
ArrayList循环删除问题redis


多线程

多线程建立方式
死锁和活锁,饥饿
wait和sleep区别
volatile和synchronized,Lock原理和区别
synchronized锁优化,锁膨胀算法

DCL问题sql

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三次握手,四次挥手
滑动窗口机制

二、核心部分

数据库

死锁,解除死锁状态方法
乐观锁和悲观锁,更新锁,间隙锁
数据库引擎MyISAM和InnoDB的区别

索引原理,B+树,使用b+树实现索引的缘由
使用到索引的用法,索引失效的用法
组合索引,最左原则
汇集索引和非汇集索引

事务特性和隔离级别
事务并发问题

mysql优化,分页优化
limit 20000优化
单表查询性能降低数据量

分库分表,及带来的问题以及应对方案
分布式主键方案
读写分离

数据库链接池原理

缓存

redis数据结构
redis支持事务

redis缓存失效机制,淘汰策略
redis持久化机制

redis集群方案,如何同步
redis集群高可用原理,哨兵机制
redis缓存分片方案

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
redis实现分布式锁
redis并发竞争问题

redis和memcache的区别

消息队列

消息重发补偿解决思路
消息幂等性解决思路
消息堆积解决思路
消息有序性方案
如何保证消息的一致性
如何保证消息实时性
消息队列持久化方案

消息队列使用场景


三、框架部分

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的高扩展性分析


四、分布式部分

微服务

微服务数据管理
微服务链式调用异常
微服务问题快速追踪和定位
微服务组件:Eureka,Ribbon,Fegion,Hystrix, Zuul, Config, Sleuth

分布式

zookeeper原理和使用场景
zookeeper选主原理:zab
zookeeper watch机制
zk节点宕机处理方案

dubbo服务发布到消费的过程
分布式系统服务治理
restful
接口幂等性

CAP原理,BASE原理
数据一致性问题
最终一致性实现方案

MQ消息队列原理和实现
MQ如何保证数据不丢失
Redis消息队列

session分布式方案,如何设计
集群环境session共享方案,跨域共享方案
分布式锁方案,如何设计,实现过程
分布式锁使用场景
分布式事务
分布式主键方案
分布式集群缓存刷新和同步
分布式定时调度方案

高并发服务降级,限流
集群负载均衡算法和实现
重连机制的问题:幂等行

分库分表,带来的问题以及解决方案
分库分表策略,全表查询问题


五、安全与性能部分

性能优化

如何发现性能瓶颈
性能调优手段,项目性能调优经验(JVM调优,Tomcat调优,Mysql调优)

web调优


业务工程

项目中遇到的最难的bug/困难,怎么解决的
项目中不足的地方
cpu100%排查解决
内存OOM排查解决

六、场景部分

一千万的用户实时排名如何实现 五万人并发抢票怎么实现大型网站应用之海量数据解决方案 大型网站应用之高并发状况下的解决方案 在一个千万级的数据库查寻中,如何提升查询效率用wait-notify 写一段代码来解决生产者-消费者问题,更进一步,在分布式的环境下怎么解决设计一个线程池设计一个IOC容器手机扫二维码登陆是怎么实现的?如何保证RESTful API安全性 ?项目并发如何处理?(咱们是web项目)平台上的图片如何防盗链:refer字段你的接口服务数据被人截包了,你如何防止数据恶意提交假设服务器常常宕机,你从哪些方面去排查问题?下单3min还未支付,发短信提醒

相关文章
相关标签/搜索