java基础
☆
HashMap 结构 、put过程、jdk7、8的区别、线程安全性,rehash
如何解决哈希冲突,列举解决方法
CurrentHashMap原理,jdk7、8区别
LinkedList与ArrayList区别
Stream流式写法,管道没有关闭语句结尾时前面的语句不会执行,如集合后面一堆filter后没有collect结尾则语句都不会执行,相当于没有关键结尾相当于一顿操作猛如虎却没打开水龙头。
☆☆
线程6种状态
线程创建、中断方式
Future接口
ThreadLocal
☆☆☆
jdk4种线程池,名称
ThreadPoolExecutor构造参数以及解释任务执行原理
线程池所用队列种类,意义
7种阻塞队列,典型的ArrayBlockingQueue与LinkedBlockingQueue区别
TreeMap排序原理
☆☆☆☆
Synchronized底层原理,锁升级,解释到jvm级别
Volatile作用,原理
ReenTrantLock原理解释,说清AQS框架,公平性与非公平的原理
CAS思想,Atomic系列举例说明,解决ABA问题(AtomicStampedReference)
单例创建使用双检锁原理
☆☆☆☆☆
java快速写出典型5种排序(冒泡、快排、插入、选择、归并),并回答复杂度
Collections.sort以及Arrays.sort所用的算法(TimSort)
IO与NIO,解决文件同时读写问题
数据库
☆☆
Mysql事务隔离级别,默认哪一种
Mysql行级锁与表锁 区别,出现场景
mysql索引类型(普通索引、唯一性索引、主键索引、组合索引)
库存字段如何解决并发问题如何解决?乐观锁与悲观锁的使用方式?(for update,版本号)
查看SQL执行计划,上线前排查性能问题?explain…
☆☆☆
SQL优化典型几种做法
能使用索引的几种sql写法以及错误写法,最左前缀匹配场景
count 如何最快(count(*)),那种select最快,主键索引与唯一性索引引发的性能区别
☆☆☆☆☆
Mysql每种索引使用的底层算法,原理
Mysql集群方式
主从同步原理(binlog), 如何解决延迟
Redis
☆
5种数据类型(必须回答完整,懂行的还有HyperLogLog),解释每种类型底层数据结构,算法
6种数据淘汰策略
持久化方式有哪几种?AOF与RDB,区别有什么
☆☆
每种数据类型基本的典型操作命令要知道
平时Redis使用场景
redis分布式锁实现方式
redis事务
☆☆☆
Redis集群方式以及使用场景,通信协议,使用缺点说一下。主从、哨兵、分片。
框架
☆
Spring IOC AOP ,要回答出依赖倒转优势,aop使用方式,代理框架(jdk 、cglib)
MyBatis #与$符号的区别
MyBatis的2级缓存方式
BeanFactory与ApplicationContext的区别
BeanDefinition的作用
☆☆
Spring jdbc事务原理,7种传播策略以及其原理。事务要先说声明式与编程式,否则会挂。
SpringBoot的启动过程,相对与SpringMVC的优势
Spring Cloud相对与boot的优点以及区别,各大组件要罗列出来
☆☆☆☆
服务注册中心以及网关使用原理说出一二,解决哪些问题,
☆☆☆☆☆
网关的原理,如zuul
netty线程池种类列举
java 自己实现一个 LRU。
SPI机制解释
说说你平时用到的设计模式,spring哪些地方使用了设计模式
消息队列
MQ 系统的数据如何保证不丢失。
3种队列的区别,列举
如何保证唯一性,
解决消费失败问题
操作系统
☆
进程与线程的区别
☆☆
内存屏障
CyclicBarrier与CountDownLatch区别、使用场景、主要方法
☆☆☆
linux网络命令,常见命令less、more、grep、awk
文件权限的修改命令
jvm垃圾收集器介绍一下
出现内存溢出如何排错
介绍jvm内存模型,主内存与工作内存
业务场景问答
☆☆
缓存雪崩、击穿、穿透回答原因,解决方式
消息队列的作用,解决哪种问题
☆☆☆☆
高并发场景解决超卖问题,结合Redis锁、缓存、mysql回答
生成唯一性id
并发任务提升效率方式, 加量有多个机器并发执行,加速有线程池、NIO方式。
数据库与缓存redis之间的缓存一致性如何解决
哈希一致性的解决办法
延迟队列的实现方式
☆☆☆☆☆
支付宝如何验证请求,支付流程是怎样的
分布式事务的解决办法,各种办法的缺点
SQL + 索引
mysql最左前缀:联合索引时,左边第一列要在where条件中;like右模糊下索引才生效
group by count(*) 统计每组数量不能与where联合使用,应使用having
select count(age) having count(age) > 1 group by age