java八股文 2025
后端开发
├─DDD
! o. @$ K. K, K0 S2 L0 R
│ DDD的分层架构是怎么样的?.md
8 ^! |6 x' ~7 |3 W8 f
│ 什么是充血模型和贫血模型?.md
( M% L: _+ r: r: `
│ 什么是实体,什么是值对象?.md
7 x9 N0 Q5 T4 }( ^8 F
│ 什么是聚合,什么是聚合根?.md
$ i R! m' m) m# J& G
│ 什么是领域事件?.md
( W- I# j, t9 h; u% H; @7 [. B1 X1 e& T/ u
│ 如何理解领域驱动设计?.md
+ A$ Y/ V0 a [' {% y
│ 请详细描述DDD的实现流程?.md
- U8 x8 R' t( g/ S% @5 V
│
( j9 \: y5 J+ T7 e+ b
├─Dubbo
! N8 R+ K" \! _# l# @" x
│ Dubbo如何实现像本地方法一样调用远程方法的?.md
; I* K4 {3 Y' s2 f# O
│ Dubbo支持哪些序列化方式?.md
; m4 S g l4 H/ q4 t& o+ [( ^- a
│ Dubbo支持哪些服务治理?.md
( B" Q- v9 G3 P K- g7 f& p
│ Dubbo支持哪些调用协议?.md
* W( s5 ?- r4 x F) t' _
│ Dubbo支持哪些负载均衡策略?.md
0 ]' M, i2 v6 L3 f, p" d* s
│ Dubbo服务发现与路由的概念有什么不同?.md
5 c. }$ w# J, V. O+ b6 d
│ Dubbo的SPI和JDK的SPI有什么区别?.md
* T g4 C6 L- h1 q& n8 L- l
│ Dubbo的整体架构是怎么样的?.md
- g+ g3 _9 L- W! ]" C! b
│ Dubbo的服务调用的过程是什么样的?.md
- T: i, e- A4 R8 t& w2 T6 b
│ Dubbo的缓存机制了解吗?.md
# G* x$ _9 B/ p' K6 s( S' g
│ 为什么Dubbo不用JDK的SPI?.md
& `1 Y8 @3 h$ g1 Q4 ?9 F$ N7 A
│ 为什么RPC要比HTTP更快一些?.md
2 L, V* V; q6 }$ R1 s+ O
│ 什么场景只能用HTTP,不能用RPC?.md
* T4 j1 M. B% S0 p: m0 G! p, A
│ 什么是Dubbo的优雅停机,怎么实现的?.md
' v9 |4 L+ C% g |
│ 什么是RPC,和HTTP有什么区别?.md
/ ?2 \4 L$ N- \# s1 }
│ 什么是泛化调用?.md
3 W1 E: U V8 M: v; S' S
│ 有用过Dubbo的异步调用吗?.md
+ p+ l, ]4 n2 r7 T. T) e$ y: L- D
│
; y3 ^+ s" C& t+ s. A! ]; _
├─ElasticSearch
) l; i: [* Q( O3 r5 P8 _, B& v
│ ES不支持decimal,如何避免丢失精度?.md
! l% ?: E& ]. ?' d6 i
│ ES支持乐观锁吗?如何实现的?.md
3 z0 @, n- c, a5 X& F
│ ES支持哪些数据类型,和MySQL之间的映射关系是怎么样的?.md
; i% a" M# i; g- o$ v2 t
│ ElasticSearch为什么快?.md
4 l0 ^2 |3 {1 j( W0 ]
│ Elasticsearch支持事务吗?为什么?.md
; }( P. d, D# _7 E: A
│ 为什么要使用ElasticSearch?和传统关系数据库(如MySQL)有什么不同?.md
0 V( v0 Z& g, R0 |1 E
│ 什么是ElasticSearch的深度分页问题?如何解决?.md
2 S" m8 N; [- S% s, L6 A
│ 倒排索引是什么?.md
5 J* o( _. E$ E! }0 `" B3 b9 D
│ 如何优化ElasticSearch搜索性能?.md
1 G9 N9 u- u1 [6 @ B: d i
│ 如何保证ES和数据库的数据一致性?.md
8 U) Q X& ~) t& A9 ]
│
) ~ u# R8 S, c% u$ N1 U5 P
├─IDEA
8 j( j$ P4 ~$ `( c9 U2 x0 D7 C( O; ~" }
│ IDEA如何做远程Debug?.md
' I( Z& S T" h8 R7 J
│ 你平常用哪些idea插件?.md
( |9 M/ S, R% S6 U% |9 z6 y
│ 如何对多线程进行Debug_.md
' f& P* F) P! k" X
│
" `+ Y" p+ G7 m' N! u
├─JVM
) ?. b. b2 ?8 |7 E' `) E# k
│ FullGC多久一次算正常?.md
0 J3 Z: O/ M: V
│ G1和CMS有什么区别?.md
" x& }# r9 W8 a+ F% Q
│ JDK1.8和1.9中类加载器有哪些不同.md
, |$ J4 k+ V- h* m
│ JDK11中新出的ZGC有什么特点?.md
# A) Q/ }9 d# I
│ JVM中一次完整的GC流程是怎样的?.md
" z; o& l! y# w
│ JVM为什么要把堆和栈区分出来呢?.md
8 S* i. i# U- ~9 z- A
│ JVM如何保证给对象分配内存过程的线程安全?.md
5 `. F- f5 G& M6 H5 y$ e7 x9 ?
│ JVM如何判断对象是否存活?.md
8 p2 X7 H1 J2 ~; F8 g6 f/ s1 @
│ JVM是如何创建对象的?.md
/ p6 ^5 Y7 R; g) D! N$ ]% A
│ JVM有哪些垃圾回收算法?.md
1 s, f- ~# x( Y: n0 X1 ^
│ JVM的运行时内存区域是怎样的?.md
. H. t" `: p1 x; L
│ Java8和Java11的GC有什么区别?.md
$ X; g* L3 T/ E6 v
│ Java一定就是平台无关的吗?.md
2 d6 [; G. Q* q P
│ Java中的对象一定在堆上分配内存吗?.md
) T% J/ [; a' z. V
│ Java中的类什么时候会被加载?.md
6 ~7 M, f8 i; o- c& z. T
│ Java中类加载的过程是怎么样的?.md
' ^1 a9 V0 c/ \ {: f8 ]( o
│ Java发生了OOM一定会导致JVM退出吗?.md
; t7 W# G7 z9 p$ Y- j7 P7 F* }( e
│ Java是如何实现的平台无关?.md
+ `( |$ [, H4 m h! r; ]% ]: s
│ Java是编译型还是解释型_.md
9 J7 n' H6 g8 w" }& t$ s2 J& D
│ Java的堆是如何分代的?为什么分代?.md
; _% k( }9 c' \1 ]0 s G! c+ g
│ OutOfMemory和StackOverflow的区别是什么.md
J# Q5 D& \: T+ s, m
│ YoungGC和FullGC的触发条件是什么?.md
( y) e( c& e( c; D
│ 一个Java进程占用的内存都哪些部分?.md
1 ^1 e% H. {) @$ e
│ 一个对象的结构是什么样的?.md
* ~. j. ]+ s( a d& N" l
│ 为什么G1从JDK9之后成为默认的垃圾回收器?.md
2 ]) P8 [" B* h- f9 g1 ~ K
│ 为什么初始标记和重新标记需要STW,而并发标记不需要?.md
* ?: T' v- \! ?! w G$ x. t
│ 什么情况会导致JVM退出?.md
5 R+ N" D1 f: c: A1 D$ `
│ 什么是AOT编译?和JIT有啥区别?.md
0 D1 K: r: N! s) @' d1 B# V/ p
│ 什么是Class常量池,和运行时常量池关系是什么?.md
z- R* M7 v4 ~
│ 什么是STW?有什么影响?.md
V3 F, m0 u$ w
│ 什么是StopTheWorld?.md
' K Q" z4 Q! g$ j
│ 什么是safepoint,有啥用?.md
- g; n9 x1 [3 G- I: }$ M
│ 什么是三色标记算法?.md
$ r# m9 P! F. C; f3 X& i
│ 什么是双亲委派?如何破坏?.md
: I7 F2 t; c. b5 b
│ 什么是堆外内存?如何使用堆外内存?.md
. Y$ E+ N! c0 ^7 Y9 @: {
│ 什么是强引用、软引用、弱引用和虚引用?.md
; B9 B2 D7 {( w) y/ C
│ 什么是方法区?是如何实现的?.md
6 j ^/ @( h7 ?1 N4 U
│ 什么是编译和反编译?.md
6 X; C9 @9 G& j; `) P) n Z
│ 什么是跨代引用,有什么问题?.md
% X0 D! ?! u' Y: j4 m
│ 什么是逃逸分析?.md
/ W9 W' J8 |. G9 {# |
│ 介绍下CMS的垃圾回收过程.md
: d4 g+ I4 @' I, x
│ 内存泄漏和内存溢出的区别是什么?.md
8 x" \5 }+ g; I2 V' J4 F$ ^
│ 哪些语言有GC机制.md
$ I& h) q7 [- g! h, g9 u$ t
│ 如何判断JVM中类和其他类是不是同一个类?.md
: K7 j$ l8 T8 m
│ 字符串常量池是如何实现的?.md
/ I+ P5 j5 r% k
│ 对JDK进程执行kill-9有什么影响?.md
+ g; y# a5 Z ^0 D+ X7 Z; M
│ 常见的JVM工具有哪些.md
1 @1 @. V0 F/ f. F' W) n) X
│ 新生代和老年代的GC算法.md
7 E1 o j! z: g: t2 B1 `! r' d
│ 新生代和老年代的垃圾回收器有何区别?.md
$ y5 U$ u% V5 q
│ 新生代如果只有一个Eden+一个Survivor可以吗?.md
9 A: j+ X7 b: X: ^# u t+ q$ h
│ 有哪些常用的JVM启动参数?.md
, K1 `( b$ g: {: W0 z- `, E
│ 破坏双亲委派之后,能重写String类吗?.md
6 {1 U7 {% N+ T( {6 H
│ 简单介绍一下JIT优化技术?.md
# k* ^5 c3 |' L# P- P* x
│ 类的生命周期是怎么样的?.md
0 ?- W+ R1 }: V- [' j: Q; e
│ 虚拟机中的堆一定是线程共享的吗?.md
" q) l+ K2 N U3 a5 v6 `/ J. ~
│ 说一说JVM的并发回收和并行回收.md
8 \( f( O0 ?* g+ T; D
│ 运行时常量池和字符串常量池的关系是什么?.md
' d8 H, S: M, f2 K0 `$ M2 j& @# u% b
│ 项目中如何选择垃圾回收器?为啥选择这个?.md
6 Z1 h# a- j6 Y! n% H8 w
│
' h1 E0 k- R: y
├─Java基础
0 S! F' P3 h# b7 F3 G
│ Arrays.sort是使用什么排序算法实现的?.md
7 ~0 I0 Z" l8 x* k9 V+ i. @
│ BigDecimal(double)和BigDecimal(String)有什么区别?.md
5 |/ T ]% f7 J# @3 P- f
│ BigDecimal和Long表示金额哪个更合适,怎么选择?.md
( G1 [- b* I' L$ D
│ ClassNotFoundException和NoClassDefFoundError的区别是什么?.md
+ F( W- {) ?5 d" \- |# Z
│ JDK9中对字符串的拼接做了什么优化?.md
3 ~1 a& R! E7 f: S4 W
│ JDK新版本中都有哪些新特性?.md
: E5 N* d& H2 u$ N7 t" p
│ Java中Timer实现定时调度的原理是什么?.md
3 y- x. }. t- q7 E$ x
│ Java中创建对象有哪些种方式.md
, t, B! N* I1 w1 Z+ K& o
│ Java中异常分哪两类,有什么区别?.md
7 p$ f. E+ L# @& P4 s0 \; U
│ Java中有了基本类型为什么还需要包装类?.md
+ b( Z9 t* h; D$ X
│ Java中的static都能用来修饰什么?.md
9 k# k# n$ F' U6 i
│ Java中的枚举有什么特点和好处.md
' ]" M# G! m0 t: Y' }
│ Java和C++主要区别有哪些?各有哪些优缺点?.md
9 S3 o9 N5 P. Y+ s. u2 h% Q
│ Java序列化的原理是啥.md
+ ~ |6 q7 l, C S
│ Java是值传递还是引用传递?.md
6 G0 l& u3 Y! M3 k/ s6 M
│ Java注解的作用是啥.md
4 [: Q$ v' |1 k8 T) T
│ Java的动态代理如何实现?.md
) r6 ]* s7 c) ?7 i: ~+ ?& [; y
│ Lambda表达式是如何实现的?.md
, K$ ?+ a) ~3 T5 Z8 z
│ RPC接口返回中,使用基本类型还是包装类?.md
* k; i' {! Q8 _1 S# S
│ SimpleDateFormat是线程安全的吗?使用时应该注意什么?.md
; d( w# o4 |2 V/ v0 ], H, i4 ~/ \* [2 T
│ Stream的并行流一定比串行流更快吗?.md
2 B$ p( G' v; ^/ ^
│ Stringa=_ab_;Stringb=_a_+_b_;a==b吗?.md
& W' K& g/ A; y; S+ c3 j% ^
│ Stringstr=newString(_hollis_)创建了几个对象?.md
$ t; j$ H7 o/ h" W9 }; [+ O' h
│ String、StringBuilder和StringBuffer的区别?.md
" C9 G: |9 p4 V
│ String中intern的原理是什么?.md
" B. P) f/ ~5 N; v) ~5 O- y
│ String为什么设计成不可变的?.md
; B4 d1 f* x. _
│ String是如何实现不可变的?.md
8 b+ [6 m. S9 d/ z. ?$ W9 K0 \3 _
│ String有长度限制吗?是多少?.md
3 q% F/ W; t! B. Q4 F0 H
│ char能存储中文吗?.md
. K- `6 E8 j! t3 {: `; n) }$ ~
│ finally中代码一定会执行吗?.md
+ s, @8 E& g0 p0 b
│ final、finally、finalize有什么区别.md
7 v% q$ w& @4 k$ K* @: E
│ serialVersionUID有何用途_如果没定义会有什么问题?.md
5 t) l3 r& w, I5 b0 T* |6 s
│ try中returnA,catch中returnB,finally中returnC,最终返回值是什么?.md
( r0 Z3 v. R6 s, i7 Z- q
│ while(true)和for(;;)哪个性能好?.md
' u+ _. ~9 O+ W% y% \. Y* y, U0 Z
│ 为什么JDK9中把String的char[]改成了byte[]?.md
% H% D, j- w2 `6 x2 k
│ 为什么Java不支持多继承?.md
( r2 k( d# n2 V3 d5 Z* Q0 n
│ 为什么Java中的main方法必须是publicstaticvoid的?.md
8 Y( j; ^4 ?1 s
│ 为什么不建议使用异常控制业务流程.md
( U* x; f- r* ]( X4 l2 j2 A
│ 为什么不能用BigDecimal的equals方法做等值比较?.md
- } z8 ^+ _' W
│ 为什么不能用浮点数表示金额?.md
3 T' q: [5 D% u- F% h- [# P
│ 为什么对Java中的负数取绝对值结果不一定是正数?.md
! c8 a6 C; c$ r$ X0 S' ?! x0 N8 x4 K
│ 为什么建议多用组合少用继承?.md
. ~( r7 j: {3 s$ g
│ 为什么建议自定义一个无参构造函数.md
3 ~3 [* Y' o4 v7 C2 N% q
│ 为什么这段代码在JDK不同版本中结果不同.md
; J0 S" v5 T, z: J0 x3 C+ P
│ 什么是AIO、BIO和NIO?.md
+ x5 R' V4 e. z' Z4 {) p0 {
│ 什么是SPI,和API有啥区别.md
7 Z2 R; H N/ D" \7 s1 t
│ 什么是UUID,能保证唯一吗?.md
/ r( a z7 }7 ]4 Z0 g" A) }
│ 什么是反射机制?为什么反射慢?.md
# o5 L: C- s& L, ]5 n
│ 什么是序列化与反序列化.md
* U1 \! P+ Y0 e0 ?
│ 什么是泛型?有什么好处?.md
# Q. k8 m5 m0 b3 k; E
│ 什么是深拷贝和浅拷贝?.md
, i/ C- {, I7 i: Q3 E+ ?
│ 什么是类型擦除?.md
2 U2 J1 d% ~/ c, o
│ 以下关于异常处理的代码有哪些问题.md
- h7 w( d4 L; }( b* P1 C H3 e
│ 你知道fastjson的反序列化漏洞吗.md
: R/ L. B5 F$ c5 H) h( {
│ 如何理解Java中的多态?.md
: j C8 n" s# W- |
│ 如何理解面向对象和面向过程?.md
& Q; i! L) E: v' ^% V. f" }( Q- v" j
│ 字符串常量是什么时候进入到字符串常量池的?.md
7 q0 V1 p# O8 x. l
│ 常见的字符编码有哪些?有什么区别?.md
' ^$ C$ n- n. Y
│ 怎么修改一个类中的private修饰的String参数的值.md
0 I1 v4 K; r7 ^0 b! W0 e/ S8 O
│ 接口和抽象类的区别,如何选择?.md
) s( Q1 L B' n" J
│ 有了equals为啥需要hashCode方法?.md
! k3 }- |" c/ w' H- _. D
│ 泛型中KTVE?Object等分别代表什么含义。.md
# `9 O$ g3 g; Q% u! g$ }" T' N8 h
│ 泛型中上下界限定符extends和super有什么区别?.md
0 [# @9 ?& |; W% {8 W' k$ y
│ 现在JDK的最新版本是什么?.md
+ y4 v5 {( |$ z# f$ L
│ 说几个常见的语法糖?.md
3 D! _( B6 r% e: u3 y" J3 d
│
3 H/ c G0 r- M' O
├─Java并发
) c) E- s" v* w# Q; Y* I+ T6 ]% F
│ AQS为什么采用双向链表?.md
) R3 S/ ^8 g' X7 i
│ AQS是如何实现线程的等待和唤醒的?.md
4 J: F/ c5 N$ o% W! y1 r
│ AQS的同步队列和条件队列原理?.md
- y& h5 ^% e4 x* E, X
│ CAS一定有自旋吗?.md
2 Z8 J/ P' N2 H; M( |: _
│ CAS在操作系统层面是如何保证原子性的?.md
9 h( S' M% q" ^* {" N) C0 u
│ CompletableFuture的底层是如何实现的?.md
% ^$ V, b5 I( R# A1 e! s; D/ d
│ CountDownLatch、CyclicBarrier、Semaphore区别?.md
4 v. W) R2 n) | B, S$ y3 k* u2 r0 z
│ ForkJoinPool和ThreadPoolExecutor区别是什么?.md
% X/ y& N& a% V
│ JDK21中的虚拟线程是怎么回事?.md
7 S. W+ q6 w! X) l
│ Java是如何判断一个线程是否存活的?.md
8 t5 r" P- q" e: X$ Z# ]
│ Java线程出现异常,进程为啥不会退出?.md
* q u4 L2 [5 k& U6 w
│ LongAdder和AtomicLong的区别?.md
- w, E: M- O9 ?* w- N) a
│ Thread.sleep(0)的作用是什么?.md
% k% s1 Y+ m) T H; A. S3 ?* t( d
│ ThreadLocal为什么会导致内存泄漏?如何解决的?.md
3 Q2 o2 b2 Y; g6 `
│ ThreadLocal的应用场景有哪些?.md
4 B. R3 O0 H* d5 V" ^! V
│ happens-before和as-if-serial有啥区别和联系?.md
2 a" p" q' x4 y! J, q
│ inta=1是原子性操作吗.md
9 L8 N% U! O1 ~8 u
│ run_start、wait_sleep、notify_notifyAll区别_.md
, _% D0 q0 Q+ l; }7 P4 f
│ sychronized是非公平锁吗,那么是如何体现的?.md
~! ^$ P9 i0 r& B$ R% b
│ synchronized升级过程中有几次自旋?.md
8 E6 r( J" T" V# @1 p: e1 x+ C4 w
│ synchronized和reentrantLock区别?.md
3 i9 r" j: i) a( A. l6 t1 |3 Z5 P
│ synchronized是如何保证原子性、可见性、有序性的?.md
$ G7 O) A% `" J% X* o: g
│ synchronized是怎么实现的?.md
1 A+ T/ o. P! j! A
│ synchronized的锁优化是怎样的?.md
$ L3 u0 V' o3 Y
│ synchronized的锁升级过程是怎样的?.md
, Z) f, Z R4 r* b- P, I; t
│ synchronized的锁能降级吗?.md
% n" S4 b3 l0 o/ J+ v$ B
│ synchronized锁的是什么?.md
, w- ]5 Q" {$ p3 D9 \- A1 ?0 k) d% O
│ volatile是如何保证可见性和有序性的?.md
* M/ ?: j+ {- N% ]! n9 R/ g9 t* k
│ volatile能保证原子性吗?为什么?.md
% I2 s, t! j; \: Y6 R$ E
│ 三个线程分别顺序打印0-100.md
( J$ {) ?* f9 |8 u1 V$ ~
│ 为什么JDK15要废弃偏向锁?.md
9 i: ^$ D( Q7 ?6 X
│ 为什么不建议通过Executors构建线程池.md
' p9 t' W. M: ]0 h w2 @# h
│ 为什么不能在try-catch中捕获子线程的异常_.md
" A+ }: W0 N) m1 V
│ 为什么虚拟线程不能用synchronized?.md
7 @: F9 C7 c6 T, p
│ 为什么虚拟线程不要和线程池一起用?.md
5 t1 F& L* o/ e( c* t" V) Q5 o
│ 为什么虚拟线程尽量避免使用ThreadLocal.md
0 S/ u7 l2 ~+ e6 j! \' `; Q4 t' d) j
│ 什么是AQS的独占模式和共享模式?.md
+ g3 f, J) J! j& Q! H L ^* T
│ 什么是CAS?存在什么问题?.md
% b# h$ S4 U2 ?* Q0 L0 t, d# c( Q
│ 什么是Java内存模型(JMM)?.md
% X, t% ~2 i' G! V! s- ~
│ 什么是ThreadLocal,如何实现的?.md
( O, G/ p$ M* l3 W2 E N
│ 什么是Unsafe?.md
( c1 |. ]. ]9 L9 q }; E
│ 什么是happens-before原则?.md
# @( \( @- X9 J! b. @* v
│ 什么是可重入锁,怎么实现可重入锁?.md
, _) U1 Y( h6 C0 F
│ 什么是多线程中的上下文切换?.md
0 Z7 w; S! t9 g3 S
│ 什么是守护线程,和普通线程有什么区别?.md
m: P: x n5 e3 g' G- d3 k' h2 y
│ 什么是并发,什么是并行?.md
7 n$ H5 G# e0 [, S7 L P! ^+ f
│ 什么是总线嗅探和总线风暴,和JMM有什么关系?.md
" C- J( \: w$ q Q6 ~9 T) G
│ 什么是死锁,如何解决?.md
5 X3 s+ S1 k, O6 X! C/ r9 U
│ 什么是线程池,如何实现的?.md
* f. s+ r! o1 i. d
│ 公平锁和非公平锁的区别?.md
' K7 z8 T+ }( p" q# H& ~
│ 创建线程有几种方式?.md
1 W5 Z5 e+ L# \# T: h4 N% G
│ 到底啥是内存屏障?到底怎么加的?.md
$ f: t. V8 A F4 s, W
│ 如何保证多线程下i++结果正确?.md
" r- r+ Z m, f8 `; ?6 J
│ 如何实现主线程捕获子线程异常.md
( U' N2 }2 {3 j( d; J, `- W. a
│ 如何对多线程进行编排.md
. [& ?$ H" h) e$ l
│ 如何理解AQS?.md
( r7 x h/ c! q. v) P; [
│ 如何让Java的线程池顺序执行任务?.md
- n5 c9 i M: M1 `9 ?
│ 并发编程中的原子性和数据库ACID的原子性一样吗?.md
( |0 R- c, x& T' D2 b
│ 有三个线程T1,T2,T3如何保证顺序执行?.md
& n4 c! R" F5 N6 H
│ 有了CAS为啥还需要volatile?.md
0 @" X1 i3 I0 s$ _
│ 有了InheritableThreadLocal为啥还需要TransmittableThreadLocal?.md
; v" W" X% ?& J9 S
│ 有了MESI为啥还需要JMM?.md
, \; b9 Z9 ^; T, h
│ 有了synchronized为什么还需要volatile_.md
2 I. p3 C+ d# m5 c. e
│ 有哪些实现线程安全的方案_.md
6 n2 C _! ]+ l+ @. v: g
│ 父子线程之间怎么共享_传递数据?.md
1 N7 K9 V; T/ c' c& m6 r
│ 线程同步的方式有哪些?.md
( F9 r1 c7 Y. k T& ~# m9 c2 d! {
│ 线程数设定成多少更合适?.md
& j, l/ s+ @$ U
│ 线程是如何被调度的?.md
* l( n0 O, T0 L- e8 x; q
│ 线程有几种状态,状态之间的流转是怎样的?.md
) l& ]1 Z0 c2 a/ F+ b0 X& H n
│ 线程池的拒绝策略有哪些?.md
% j4 h' \ T- X4 e1 }- R
│ 能不能谈谈你对线程安全的理解?.md
( i. t: L) i" O/ M: Q
│
* _% w( r, d) x" {0 i
├─Kafka
! C3 a0 p" r) h3 B: _6 C3 w4 l
│ Kafka、ActiveMQ、RabbitMQ和RocketMQ都有哪些区别?.md
$ f' |$ E: H H
│ Kafka为什么有Topic还要用Partition_.md
1 T, L* Y( W0 G E5 L) ~+ T2 h' }
│ Kafka为什么这么快?.md
! O) T. V8 t: i3 Z
│ Kafka几种选举过程简单介绍一下?.md
& Q# O" r/ _! s# ]
│ Kafka如何保证消息不丢失?.md
- g C6 b' u$ O
│ Kafka如何实现顺序消费?.md
6 [5 B" c- a2 c3 K0 V
│ Kafka怎么保证消费只消费一次的_.md
, k& @7 M0 E/ ~
│ Kafka消息的发送过程简单介绍一下?.md
8 _+ V7 G: A0 B4 O r0 @* R
│ Kafka的架构是怎么样的?.md
( ^2 x% t ]$ A" n
│ Kafka高水位了解过吗?为什么Kafka需要LeaderEpoch?.md
3 A+ F! T2 f( s, b; H. q* ~; `3 \% P
│ 为什么Kafka没办法100%保证消息不丢失?.md
/ y5 j* C/ I# n. D0 K
│ 为什么要使用消息队列?.md
8 j+ [( ]- `7 x$ U( F
│ 什么是Kafka的重平衡机制?.md
* E _2 S& e1 ~& h/ s
│ 介绍一下Kafka的ISR机制?.md
. }* S$ t/ K, {2 c) G8 q
│
: {. c2 O: M- c C) a1 M: t
├─Maven&Git
1 n% J! N2 `1 I; W# e8 Q% C5 G
│ Git和SVN有什么区别?.md
m% f1 u: j! E7 m3 U
│ Git如何回滚代码?reset和revert什么区别?.md
, D% I) x0 e$ c/ j
│ Git的merge和rebase有什么区别?.md
6 ~) C; Q* G+ Q. }7 Y; p
│ Maven如何解决jar包冲突的问题?.md
+ f* k5 h$ w1 Z6 K# C0 G
│ Maven能解决什么问题?为什么要用?.md
) D' x, N2 I B9 {
│ jar包和war包有什么区别?.md
( ]; \0 u, ]9 t
│ 什么是fatjar?.md
3 w% ?3 r% X; L7 {# @) }* x
│
# t4 @6 M/ t+ P& l8 F$ }
├─MyBatis
- o( [ z7 ~2 v: X) ?5 d
│ #和$的区别是什么?什么情况必须用$.md
' t0 Y! K j. X" W0 Z
│ MyBatis-Plus有什么用?.md
2 g$ f7 E/ H/ s. Y8 @' s1 z
│ MyBatis-Plus的分页原理是什么?.md
1 N' n8 E8 {# \7 R+ e U7 W
│ MyBatis与Hibernate有何不同?.md
6 B- S ?# V6 R3 [2 c; x
│ Mybatis可以实现动态SQL么?.md
: e2 @. T7 ?; |" B4 @* I1 Z, W6 e
│ Mybatis插件的运行原理?.md
3 m9 I+ {5 h' k7 @( x6 y, L Z# n/ O
│ Mybatis是否支持延迟加载?实现原理是什么?.md
( R; ~) V; p/ P; D
│ Mybatis是如何实现字段映射的?.md
2 B* ^* e; O1 }( K. @: l& o
│ Mybatis用的什么连接池?.md
& H5 W. L$ V9 f' x& o% z
│ Mybatis的优点有哪些?.md
$ R- Q9 ~' |" |! p
│ Mybatis的工作原理?.md
1 Y$ ]* P5 R# T1 U5 c
│ Mybatis的缓存机制.md
/ `+ x; X9 S- E2 b# T% @7 l
│ PageHelper分页的原理是什么?.md
) w3 k* F/ S8 g' i
│ RowBounds分页的原理是什么?.md
+ U y2 r2 r7 C+ q+ a
│ 什么是ORM,有哪些常用框架?.md
* z8 J. V- b1 W* E' f1 ? @+ W8 Q
│ 使用MyBatis如何实现分页?.md
9 k) G5 K, }; x; l- B
│
( r! f5 _1 ?* v% D
├─MySQL
) D9 a$ C3 F% T
│ A,B,C的联合索引,按照AB,AC,BC查询,能走索引吗?.md
" B1 J! u1 @8 ^- _
│ InnoDB中的索引类型?.md
5 g+ W* R$ @- Y- C' e6 n' x$ |! C
│ InnoDB中的表级锁、页级锁、行级锁?.md
6 k8 m" {# Z* c; j
│ InnoDB为什么使用B+树实现索引?.md
% g8 R% `; W$ `$ M
│ InnoDB和MyISAM有什么区别?.md
4 ]; w( Y0 ~( V5 }- _
│ InnoDB如何解决脏读、不可重复读和幻读的?.md
z ^7 }, ~' d( s/ l/ \
│ InnoDB支持哪几种行格式?.md
: B4 [8 N' p+ B! u5 e% l
│ InnoDB的一次更新事务是怎么实现的?.md
! u0 y+ G! J$ O1 ~& z2 M
│ Innodb加索引,这个时候会锁表吗?.md
9 r1 o2 m! [1 Y% _
│ Innodb的RR到底有没有解决幻读?.md
: a' d% |+ q! L g* e
│ MyISAM的索引结构是怎么样的,它存在的问题是什么?.md
3 g6 }- Z; C+ X* j# O; J/ ?% g) E
│ MySQL5.x和8.0有什么区别?.md
# }6 ~' E- {9 ]/ l8 v1 p
│ MySQL中like的模糊查询如何优化.md
2 M9 }, a1 B5 B5 T
│ MySQL中如何查看一个SQL的执行耗时.md
4 O4 W: E/ T! Q C( e u+ I6 m% X
│ MySQL中的事务隔离级别?.md
5 A! K) q- S4 m {
│ MySQL为什么会有存储碎片?有什么危害?.md
" d! s; h9 s7 I* ]: i5 a
│ MySQL为什么是小表驱动大表,为什么能提高查询性能?.md
$ ^* Q( a* f# E) z H" ]$ V
│ MySQL主从复制的过程.md
& _4 n( V8 N6 c& @% M% |
│ MySQL只操作同一条记录,也会发生死锁吗?.md
3 }% X3 Z8 x/ e( s* }% H- y
│ MySQL怎么做热点数据高效更新?.md
8 x5 e! N' f( O; Q3 k3 N
│ MySQL执行大事务会存在什么问题?.md
, B8 P, b+ I& n: y- ?6 J9 B
│ MySQL是AP的还是CP的系统?.md
$ W# ]: K7 n) C% ^
│ MySQL是如何保证唯一性索引的唯一性的?.md
& R) K! S9 B3 l+ _ L
│ MySQL用了函数一定会索引失效吗?.md
( q/ D6 p3 l# M o0 B7 N' o [
│ MySQL的BLOB和TEXT有什么区别_.md
% g5 ` R! o8 K% f, f2 ]3 U0 q2 L
│ MySQL的HashJoin是什么?.md
0 H' G8 h0 S, r4 f
│ MySQL的binlog有几种格式.md
- {, a) k$ J( k- ]# H2 U: L$ y
│ MySQL的limit+orderby为什么会数据重复?.md
- M* g( l. W) }+ K& K
│ MySQL的select_会用到事务吗?.md
$ k( Y( D" c, e8 `" B) Z7 b/ N
│ MySQL的主键一定是自增的吗?.md
; n; y% S( f$ j& R4 f
│ MySQL的优化器的索引成本是怎么算出来的?.md
/ I2 h `4 ~4 R# d1 Y
│ MySQL的并行复制原理.md
+ b. ~! z4 g6 X( `
│ MySQL的数据存储一定是基于硬盘的吗?.md
4 k! E0 P9 K% w( |1 P) K
│ MySQL的深度分页如何优化.md
% N7 n; z. M& u' o8 ]
│ MySQL的行级锁锁的到底是什么?.md
8 a j2 C8 [1 \! ~
│ MySQL的驱动表是什么?MySQL怎么选的?.md
, N4 U' q+ u/ t$ S
│ MySQL索引一定遵循最左前缀匹配吗?.md
|, j, D8 f* B/ g; \8 M
│ MySQL自增主键用完了会怎么样?.md
& J# _. E7 v; F8 m0 Q
│ MySQL获取主键id的瓶颈在哪里?如何优化?.md
) R5 F$ o6 {9 N
│ SQL中PK、UK、CK、FK、DF是什么意思?.md
0 p" b! {* M/ t5 u2 S
│ SQL执行计划分析的时候,要关注哪些信息?.md
/ e/ ?8 N. g+ i7 w& h# c6 ~# E
│ SQL语句如何实现insertOrUpdate的功能?.md
6 m2 O8 C6 P+ H# _4 \& D
│ Usingfilesort能优化吗,怎么优化?.md
' c: V- }$ u3 N
│ a,b两个单独索引,wherea=xxandb=xx走哪个索引?为什么?.md
( e4 e3 ?2 Y) B" r- J/ ?
│ binlog、redolog和undolog区别?.md
* K+ P8 D& ~( g8 Z
│ bufferpool的读写过程是怎么样的?.md
4 p& V1 o2 q; a- z
│ char和varchar的区别?.md
, n' G1 o' F- F& {7 {3 K
│ count(1)、count(_)与count(列名)的区别.md
9 d$ |) P8 m7 q& D' |
│ limit0,100和limit10000000,100一样吗?.md
% V' [6 x" p, D9 V! m9 ?
│ on和where有什么区别?.md
: s- g3 y( h# D5 ?: X5 s
│ orderby是怎么实现的?.md
. \; R# a* s: F+ W1 p8 T& ~, Q
│ truncate、delete、drop的区别?.md
. M3 i3 Q9 o7 Q R8 w: r4 u
│ undolog会一直存在吗?什么时候删除?.md
! ^3 t( j) j* l: e$ h! P9 N1 G. ^
│ uuid和自增id做主键哪个好,为什么?.md
0 P2 {& I& V1 g
│ where条件的顺序影响使用索引吗?.md
5 r2 F( B2 ?2 F) O6 C
│ 一个查询语句的执行顺序是怎么样的?.md
: o2 e2 X0 n) O5 D
│ 为什么MySQL8.0要取消查询缓存?.md
; P* }0 ]; Q9 |0 N% w4 l2 s2 @( ]; {
│ 为什么MySQL会选错索引,如何解决?.md
3 u" k; h1 t: h. `& ?
│ 为什么MySQL默认使用RR隔离级别?.md
, t& s3 ` e' ]& a2 q* C
│ 为什么不建议使用存储过程?.md
3 e$ P- J }# o2 z. V6 p9 r8 o7 I
│ 为什么不推荐使用外键?.md
5 _# K( n9 o4 S0 ^6 ~6 W9 {
│ 为什么大厂不建议使用多表join?.md
$ D' C3 O: S( K- D( z: b
│ 为什么默认RR,大厂要改成RC?.md
( }6 n: |8 V: ]8 R0 W; J
│ 乐观锁与悲观锁如何实现?.md
1 A+ l8 `% U0 i, P, O7 V' w
│ 二级索引在索引覆盖时如何使用MVCC?.md
1 g/ p5 Z( |2 k. i& {, F
│ 什么情况会导致自增主键不连续?.md
; }* w) W8 t j, B
│ 什么时候索引失效反而提升效率?.md
9 @4 |2 F) v: Q s$ m9 j
│ 什么是InnoDB的页分裂和页合并.md
8 @( T) k4 Z4 }9 R7 S
│ 什么是MySQL的字典锁?.md
$ A; U9 r0 l* y
│ 什么是OnlineDDL.md
2 q; E9 w( b1 P$ m, C, U+ }0 y
│ 什么是ReadView,什么样的ReadView可见?.md
! I2 |7 i6 u$ C/ s7 d
│ 什么是bufferpool?.md
! N9 ]0 x# z6 p. Y
│ 什么是事务的2阶段提交?.md
; O' @+ G; v9 e+ s. V8 @: {/ n0 s
│ 什么是回表,怎么减少回表的次数?.md
% g2 H$ z9 e5 g+ r9 b
│ 什么是意向锁?.md
( [; L) v: X1 r8 X- {4 C, L4 I
│ 什么是排他锁和共享锁?.md
1 K) N4 k E4 [
│ 什么是数据库事务?.md
3 Q2 X' { D) v8 b) e) j$ [* J
│ 什么是数据库的主从延迟,如何解决?.md
: ^6 _2 i2 }3 d
│ 什么是数据库的锁升级,Innodb支持吗?.md
/ @# |+ H7 U( ^ I) W& |6 u
│ 什么是数据库范式,为什么要反范式?.md
& h* I8 {4 G" @6 c( y; Y
│ 什么是最左前缀匹配?为什么要遵守?.md
3 a4 {# g1 s/ H- b6 g9 r
│ 什么是索引合并,原理是什么?.md
7 z) J3 |2 b4 ?4 | X3 G9 R$ {
│ 什么是索引覆盖、索引下推?.md
( f& |0 |8 [5 c# I6 ]% l' Q/ o
│ 什么是索引跳跃扫描.md
Z+ C+ j- c, [- t- z) r
│ 什么是聚簇索引和非聚簇索引?.md
) M {2 w! ]5 p: g* N
│ 什么是脏读、幻读、不可重复读?.md
8 o( I h' T6 k
│ 介绍一下InnoDB的数据页,和B+树的关系是什么?.md
0 ~& v& F, B7 y s& d; K% t4 B+ [
│ 介绍下InnoDB的锁机制?.md
% a: W' I' `. F* |6 d6 {& }* E+ ]: `
│ 介绍下MySQL5.7中的组提交.md
4 n/ h4 B' w, `5 D
│ 从innodb的索引结构分析,为什么索引的key长度不能太长_.md
. m3 K- y" c# O+ p: Y
│ 区分度不高的字段建索引一定没用吗?.md
9 v( b8 M, o1 ^, E
│ 唯一索引和主键索引的区别?.md
u/ e- `. a, Q
│ 如何优化一个大规模的数据库系统?.md
' X8 Y$ L# C/ V/ s
│ 如何理解MVCC?.md
6 p, W+ O' \8 N' g
│ 如何进行SQL调优?.md
; c& t3 X+ M W. i- M
│ 当前读和快照读有什么区别?.md
0 o' m, n3 e3 f' b. U0 }
│ 怎么比较两个索引的好坏?.md
d3 Y" L6 G% m$ W* [
│ 慢SQL的问题如何排查?.md
& Z% t# |; I7 t; Z* P a: P+ z! Q
│ 执行计划中,key有值,还是很慢怎么办?.md
* m; N1 m' ]6 V4 f; F% X. Y
│ 数据库乐观锁的过程中,完全没有加任何锁吗?.md
5 }$ [8 R2 o+ b$ C1 [) \
│ 数据库加密后怎么做模糊查询?.md
, \, { V5 p- q* A# {$ Q
│ 数据库怎么做加密和解密?.md
( y4 w# k4 C. Q5 R- p d
│ 数据库扫表任务如何避免出现死循环.md
* H& J5 k1 g4 |8 W0 C# _
│ 数据库死锁如何解决?.md
& |; ^# t0 Q) Y8 G6 e! c" `
│ 是否支持emoji表情存储,如果不支持,如何操作?.md
: k8 ]' X; u3 r6 z- Z+ h- f
│ 有了关系型数据库,为什么还需要NOSQL?.md
Q4 Q4 U8 }% n
│ 用了索引还是很慢,可能是什么原因?.md
/ `, S V% F) @! W" b1 N+ B5 p( O
│ 索引失效的问题如何排查?.md
) T- M" q3 }- x3 n# ~; p/ j) S
│ 联合索引是越多越好吗?.md
+ b: p3 t& F; B) J8 h+ H
│ 设计索引的时候有哪些原则?.md
F) a$ N2 K# m7 m8 }( L9 P
│ 说一说MySQL一条SQL语句的执行过程?.md
, N5 B( j; f! z% k/ f# S! @# z
│ 阿里的数据库能抗秒杀的原理.md
, d4 }1 M3 V8 m4 Q) L O
│ 高并发情况下自增主键会不会重复,为什么?.md
: O/ o$ z: f% q* c' G
│
+ G8 l7 K8 h# p
├─Netty
; x% {3 r5 w% W) U/ B
│ Netty中用了哪些设计模式?.md
1 _5 h" i3 ]8 @2 o3 V o
│ Netty如何解决TCP粘包、拆包的问题的?.md
( ^# y G8 r1 c8 ?1 J
│ Netty性能好的原因是什么?.md
) P& |5 W% A4 X& x' `" C$ P
│ Netty有哪些序列化协议?.md
. Y6 {+ m7 S: v# e" M0 v
│ Netty的Buffer为什么好用.md
$ y4 i9 I, o2 D) g1 ?8 Z" f: i: I
│ Netty的线程模型是怎么样的?.md
( e1 b2 {5 o- c1 y* j; K. c2 W
│ Netty的零拷贝是怎么实现的?.md
0 d% K+ |& X2 h1 ?
│ 为什么Netty适合做网络编程?.md
4 }8 f& ? I ?; A: E$ C5 F9 `" x
│ 能不能说一说Netty的无锁化设计?.md
4 M$ M O$ K8 ~$ D( N6 E
│ 说说Netty的对象池技术?.md
4 Q9 c5 h8 S3 {, u" A* r1 _& r7 W2 C
│
- ?8 I# O& S' T& A. D
├─Oracle
7 N: g+ @- T. k' Y# R
│ Oracle和MySQL的区别是什么?如何选择?.md
+ Z8 L$ m1 m. z' q0 x+ b7 L5 X& G
│ Oracle支持哪些索引类型?.md
" G- _2 x4 p* X1 A* K8 L6 L/ T
│ Oracle的事务隔离级别?.md
3 h8 j q( ~% ?
│ 什么是反向键索引,有什么用处?.md
1 @! \. X$ g/ |1 T y: d" N
│ 什么是视图,视图的作用是什么?.md
" e/ N8 P. e" Y- X: ]1 _5 V
│ 介绍下函数索引、位图索引、空间索引?.md
1 M2 a3 \( f/ l) c
│ 阿里巴巴的去IOE架构中为什么废弃Oracle.md
4 O: G! r. ~3 M% `2 x1 {
│
9 k# [) P1 J: H9 L( c2 A
├─RabbitMQ
6 a7 K x" Y# P
│ RabbitMQ如何保证消息不丢.md
4 u& G. P& J- S# u
│ RabbitMQ如何实现消费端限流.md
( \& F: w7 m B8 X) T6 E% Z# [
│ RabbitMQ如何防止重复消费.md
' J) C6 M, s( ?/ u3 S
│ RabbitMQ是如何保证高可用的_.md
7 U# ]& v+ m$ }
│ RabbitMQ是怎么做消息分发的?.md
- n. V7 F, y+ Q7 x8 l
│ rabbitMQ如何实现延迟消息?.md
; y1 P y/ v: n: v& ?* B
│ rabbitMQ的整体架构是怎么样的?.md
' X$ t- K3 B3 n ^& i
│ 什么是RabbitMQ的死信队列?.md
, B: ?4 X& f: W
│ 介绍下RabbitMQ的事务机制.md
0 g% H# g( j+ t( f5 E- u; \
│ 如何保障消息一定能发送到RabbitMQ.md
( Y) E6 c. V# p1 \. u/ _
│
+ P V8 m' j% E/ A
├─Redis
6 G) u$ C! s/ Z* g/ |
│ Redis5.0中的Stream是什么?.md
9 n ~; j% y3 H9 D
│ RedisCluster中使用事务和lua有什么限制?.md
* V6 m$ S$ A; W- e3 B. ~2 A
│ Redisson中为什么要废弃RedLock,该用啥?.md
: B: a- k$ ?4 v! d) i
│ Redisson和Jedis有啥区别?如何选择?.md
! k2 F! I% g: Z- ?' |
│ Redisson如何保证解锁的线程一定是加锁的线程?.md
2 p9 c$ h2 b! I
│ Redisson的lock和tryLock有什么区别?.md
1 O# {. `" e$ c: Y7 Y
│ Redisson的watchdog什么情况下可能会失效?.md
% E g. ]+ W* I# v$ M
│ Redisson的watchdog机制是怎么样的?.md
k4 ~$ N! o3 ~$ G$ `( M
│ Redis与Memcached有什么区别?.md
, A1 v- L: Y. U3 T+ A$ w# O8 X4 z
│ Redis中key过期了一定会立即删除吗.md
4 V+ j( k1 o9 G2 d/ F
│ Redis中有一批key瞬间过期,为什么其它key的读写效率会降低?.md
; a; f+ o# H% O; k
│ Redis中的Zset是怎么实现的?.md
: {8 L, l5 @0 k) b
│ Redis中的setnx命令为什么是原子性的.md
9 ?" H) O( L+ f9 U
│ Redis为什么被设计成是单线程的?.md
0 M: O- \% F. z8 V/ G+ t0 p
│ Redis为什么要自己定义SDS?.md
0 ?) U+ h9 m& @3 V. g
│ Redis为什么这么快?.md
+ r! k. Q" a- Z& ~4 E
│ Redis使用什么协议进行通信?.md
6 r* f, k0 x. J
│ Redis如何实现发布_订阅?.md
, {0 M) _3 f! P
│ Redis如何实现延迟消息?.md
3 ?" d( ~) ?% m4 R
│ Redis如何高效安全的遍历所有key.md
% m* g* O1 y& Q, f3 [8 B
│ Redis实现分布锁的时候,哪些问题需要考虑?.md
8 p y8 p4 V# I2 X% }/ g
│ Redis支持哪几种数据类型?.md
% P7 d( Z; Q( X& [1 ?& E* c
│ Redis是AP的还是CP的?.md
0 H- N/ X' B7 z1 V# K
│ Redis的Key和Value的设计原则有哪些?.md
! J) m3 p6 C5 N7 w+ u6 c3 J
│ Redis的事务和Lua之间有哪些区别?.md
1 R4 a% r$ t4 V- z; m# ~
│ Redis的事务机制是怎样的?.md
2 R5 T$ B2 S: W& @6 m
│ Redis的内存淘汰策略是怎么样的?.md
9 O# w8 q6 x& [ L! y; d
│ Redis的持久化机制是怎样的?.md
: ]9 X* |# @9 R" p, |
│ Redis的虚拟内存机制是什么?.md
' |2 C! u7 g K0 W
│ Redis的过期策略是怎么样的?.md
, @3 J- z& M5 G
│ watchdog一直续期,那客户端挂了怎么办?.md
" O, h. @ R7 E
│ watchdog解锁失败,会不会导致一直续期下去?.md
+ u3 b; A: I, Q0 M/ z, a* W |
│ 为什么Lua脚本可以保证原子性?.md
( F. `+ h) _$ d2 T
│ 为什么Redis6.0引入了多线程?.md
, Z$ c( E" q4 E: m
│ 为什么Redis不支持回滚?.md
% N0 w4 W8 t/ N5 \# k
│ 为什么Redis设计成单线程也能这么快?.md
7 C& R0 w1 N; `4 N6 P3 u* G# r
│ 为什么ZSet既能支持高效的范围查询,还能以O(1)复杂度获取元素权重值?.md
! S+ R5 m2 }" \
│ 为什么需要延迟双删,两次删除的原因是什么?.md
8 q1 S; _7 Y v& y
│ 什么情况下会出现数据库和缓存不一致的问题?.md
3 o) C" O" F# j6 I d, [* \, w
│ 什么是GEO,有什么用?.md
% O0 x- _0 a6 \7 [* T
│ 什么是RedLock,他解决了什么问题?.md
7 I. H) {# O$ n, P$ X( `. s: _5 {8 Y
│ 什么是Redis的Pipeline,和事务有什么区别?.md
- l7 L9 A7 p* ]8 L/ E; M7 E% z
│ 什么是Redis的数据分片?.md
8 S8 C1 q4 p6 V0 j6 B2 U* `
│ 什么是Redis的渐进式rehash.md
5 Q4 i M- M: G; G- n
│ 什么是大Key问题,如何解决?.md
* u3 V) I$ k/ x$ C' g( o, s
│ 什么是热Key问题,如何解决热key问题.md
b) N2 _5 V+ O/ C2 }/ s
│ 什么是缓存击穿、缓存穿透、缓存雪崩?.md
, [1 o7 U9 M" J8 }( ?% k
│ 介绍一下Redis的集群模式?.md
5 f: g" x0 @: ?/ O0 @
│ 介绍下Redis集群的脑裂问题?.md
: p$ t' f% _- u5 @9 X7 N) }# i+ n
│ 如何在RedisCluster中执行lua脚本?.md
3 D- h6 f: N/ n
│ 如何基于Redisson实现一个延迟队列.md
! E% w) R" w+ H) b$ p+ Z# c
│ 如何基于Redis实现滑动窗口限流?.md
8 `: b6 ~4 m4 g9 y1 q) J
│ 如何用Redisson实现分布式锁?.md
1 }! |- }3 }$ c- M' z# g
│ 如何用Redis实现乐观锁?.md
/ V% C6 n* P! { N; S5 Y4 t
│ 如何用SETNX实现分布式锁?.md
% {% ^/ @9 M" G% x
│ 如何用setnx实现一个可重入锁?.md
: @2 Z/ G! q. N$ Z% v
│ 如何解决Redis和数据库的一致性问题?.md
: Y, B! M* J# J
│ 对于Redis的操作,有哪些推荐的BestPractices?.md
6 P- Q9 N- i& v
│ 除了做缓存,Redis还能用来干什么?.md
2 A; j6 `9 g! ?- R$ P
│
1 F/ y% d% C3 q3 T+ T% }8 W
├─RocketMQ
9 [5 h- @2 Q4 c0 j
│ RocketMQ如何保证消息不丢失?.md
4 ^ Y! v7 Q5 G
│ RocketMQ如何保证消息的顺序性?.md
2 z1 w5 V- }/ E5 M# t% ^
│ RocketMQ如何实现延时消息?.md
3 j8 h* M, q% k8 D1 q
│ RocketMQ怎么实现消息分发的?.md
/ {% G! V, ]$ {6 E
│ RocketMQ有几种集群方式?.md
% @& J9 s+ K) _+ {! r5 l( M
│ RocketMQ消息堆积了怎么解决?.md
. y9 J) n3 n! y! U, Y, a
│ RocketMQ的事务消息是如何实现的?.md
, G$ t2 y- I' q, }& S) Q
│ RocketMQ的架构是怎么样的?.md
" e) G) R4 r6 _, R3 A
│ RocketMQ的消息是推还是拉?.md
6 P0 N% |) Q- k2 ?$ `: q9 B
│ 介绍一下RocketMQ的工作流程?.md
7 ?9 Z+ q( ~2 R$ b8 Y' |
│ 介绍下RocketMQ5.0中的pop模式.md
' {8 v4 N1 L* S. Q- I6 W6 H% W
│ 用了RocketMQ一定能实现削峰的效果吗?.md
7 q e, Z* h h1 {7 j
│
% l$ q- x1 Q% L0 Z( f. Y
├─Spring
7 h0 y# j% P" f* g* P& ]
│ @Lazy注解能解决循环依赖吗?.md
: v {9 W8 S. o0 H% X% P5 K$ ]
│ @PostConstruct、init-method和afterPropertiesSet执行顺序.md
+ G) e% p' e5 V- _" f7 Q
│ Autowired和Resource的关系?.md
2 K9 {+ V* w* \7 c- h2 ~, Z
│ BeanFactory和FactroyBean的关系?.md
! h, S! N- `1 S# h
│ Spring6.0和SpringBoot3.0有什么新特性?.md
3 u+ h! i1 c, E0 b, j6 f
│ SpringBean的初始化过程是怎么样的?.md
: f2 q4 ]; G- d
│ SpringBean的生命周期是怎么样的?.md
3 M g& r. O4 {+ O
│ SpringBoot和Spring的区别是什么?.md
& R$ [; L" k3 @( w6 a
│ SpringBoot如何做优雅停机?.md
. Z2 w, r/ k' f# l% L3 V$ }" c7 F
│ SpringBoot如何让你的bean在其他bean之前加载.md
1 w1 [& ?. V4 o$ d" h
│ SpringBoot是如何实现main方法启动Web项目的?.md
' r! E H: \( r; K7 Y/ \
│ SpringBoot的启动流程是怎么样的?.md
) Z9 h- X. M+ a& F& M" H# \% x! Y, k! x
│ SpringMVC是如何将不同的Request路由到不同Controller中的?.md
# y7 _5 i* O/ F9 M( p+ A
│ Springboot是如何实现自动配置的?.md
9 k3 J' X R3 g9 S. [5 J
│ Spring中@Service、@Component、@Repository等注解区别是什么?.md
$ G( D l' ]2 _) z2 N3 N
│ Spring中shutdownhook作用是什么?.md
6 v0 z0 \7 h. C& C9 i
│ Spring中创建Bean有几种方式_.md
& V6 S1 _3 x2 V7 r& d$ S2 Y+ \
│ Spring中如何实现多环境配置?.md
: K0 P8 o9 e! m; ?
│ Spring中如何开启事务?.md
7 e. |& @- v0 ]9 _, R% F: }0 K
│ Spring中注入Bean有几种方式.md
/ ?; H( G& y' V8 c0 D
│ Spring中用到了哪些设计模式.md
" ~, b5 [& P# K1 l0 s6 R
│ Spring中的Bean作用域有哪些?.md
: N- u# s( W8 P
│ Spring中的Bean是线程安全的吗?.md
9 s7 |; G$ ~5 ^, B0 I' |* X4 @+ e
│ Spring中的事务事件如何使用?.md
0 S4 m3 `; n2 m* k; E7 B- F
│ Spring事务失效可能是哪些原因?.md
; J# _$ ?4 d0 H8 P3 F
│ Spring在业务中常见的使用方式.md
: `/ @1 h6 J/ n( w% e
│ Spring的@Autowired能用在Map上吗?.md
/ C, x: @( q+ E- X, t) t$ E; N! b
│ Spring的AOP在什么场景下会失效?.md
& j, B0 X# B; i9 u
│ Spring的事务传播机制有哪些?.md
' k4 ^$ Z" r& e Y+ ^- |, N
│ Spring的事务在多线程下生效吗?为什么?.md
- g1 O4 W H+ E) Y$ G2 Z
│ Spring解决循环依赖一定需要三级缓存吗?.md
! z3 a+ ?& P3 U
│ Spring默认支持循环依赖吗?如果发生如何解决?.md
b( \7 h P1 K) Y% Q. X* K
│ 三级缓存是如何解决循环依赖的问题的?.md
! g# g. k- `0 G, }: q* V! J
│ 为什么SpringBoot3中移除了spring.factories.md
3 {5 p( V5 ~$ S( R8 O {
│ 为什么Spring不建议使用基于字段的依赖注入?.md
; j/ I3 Q) X0 h& i
│ 为什么不建议直接使用Spring的@Async.md
* {9 v/ D* z* _* p
│ 什么是MVC.md
6 _: a% ]; i; N
│ 什么是Spring的三级缓存.md
u5 G0 c( r/ T2 d
│ 什么是Spring的循环依赖问题?.md
+ l9 x+ v% l. z& u
│ 介绍一下Spring的AOP.md
; D! y" P% ^% S4 ~( l
│ 介绍一下Spring的IOC.md
& D6 `0 A U& C! x Z1 q
│ 介绍下@Scheduled的实现原理以及用法.md
0 U7 Z9 T2 |/ k- g$ R. Q, W
│ 同时使用@Transactional与@Async时,事务会不会生效?.md
& l4 W( d- Y* N
│ 在Spring中如何使用SpringEvent做事件驱动.md
0 I/ [( R1 i* ~4 P
│ 如何在Spring启动过程中做缓存预热.md
/ {% X. J D8 Q9 }
│ 如何根据配置动态生成Spring的Bean?.md
+ g, h6 |/ R d7 j
│ 如何统计一个Bean中的方法调用次数.md
! o. P2 c5 `) c/ x( L+ `7 V/ Y4 M
│ 如何自定义一个starter?.md
9 {* q* b5 b# \7 E+ r
│
. J$ |4 y7 X9 z) j7 _7 i, `
├─SpringCloud
8 t9 z1 K4 q1 @
│ Dubbo和Feign有什么区别?.md
% t9 n4 {1 J9 A, M
│ Eureka和Zookeeper有什么区别?.md
8 g; i, B0 j) l% W5 u
│ Feigin第一次调用为什么很慢?可能的原因是什么?.md
+ `, @0 f) ?0 X% k
│ Hystrix和Sentinel的区别是什么?.md
' ]9 A. z' x: \ s
│ Hystrix熔断器的工作原理是什么?.md
9 M6 t! p/ @: a3 x
│ LoadBalancer和Ribbon的区别是什么?为什么用他替代Ribbon?.md
6 Y' d0 `! o( `' p) k }) L- G( L
│ OpenFeign不支持了怎么办?.md
' E* F; y+ B2 U- Q+ w4 W
│ Ribbon和Nginx的区别是什么?.md
" m$ O6 X5 a" r9 s% G' _
│ Ribbon是怎么做负载均衡的?.md
g9 n8 K6 T# U2 ]: D
│ SpringCloud和Dubbo有什么区别?.md
7 @! {1 |$ H4 n' t s% S2 m# J* ?
│ SpringCloud在Spring6.0后有哪些变化.md
, Y2 n* @8 f! R7 Q2 b: F: G
│ Zuul、Gateway和Nginx有什么区别?.md
" h0 ]3 r7 d( M8 `& {2 T
│ 为什么需要SpringCloudGateway,他起到了什么作用?.md
5 n4 s9 k- i! P" u: V; b$ A
│ 什么是Eureka的自我保护模式?.md
B1 S1 J9 S) ~" k6 V0 Y* t9 q$ U6 }
│ 什么是SpringCloud,有哪些组件?.md
! v* b4 o ~) A* _7 x
│ 什么是Zuul网关,有什么用?.md
. F0 D4 J; P1 `- Z" j
│ 介绍一下Eureka的缓存机制.md
; S1 J& w- k% y" B
│ 介绍一下Hystrix的隔离策略,你用哪个?.md
# `% d8 E% ~" @0 L: L |7 H
│ 在SpringCloud中,服务间的通信有哪些方式?.md
' w' e/ e) P3 j6 W( f
│
$ Y' F- A7 [' j5 n
├─Tomcat
0 k& t( R+ V4 E+ i
│ Tomcat与Web服务器(如Apache)之间的关系是什么?.md
, G7 z. u! M v5 [9 D
│ Tomcat中有哪些类加载器_.md
) l' h3 ~" Q; Q
│ Tomcat处理请求的过程是怎么样的?.md
; H+ N) k( E! \; Q' ^' |9 `
│ Tomcat的启动流程是怎样的?.md
& T4 u _. k2 I# a J C. H9 Y
│ Tomcat的类加载机制是怎么样的?.md
8 I3 ]" j' x* c3 ?* e/ S
│ 为什么Tomcat可以把线程数设置为200,而不是N+1?.md
0 f. r* b# l) A9 S: {
│ 介绍一下Tomcat的IO模型?.md
( Q/ i4 a' M6 X
│ 过滤器和拦截器的区别是什么?.md
! H# K1 D8 s% o, j9 M# q
│
$ x# p# E) L8 O5 k! ~
├─Zookeeper
( v, c% |/ K5 g" I
│ Zookeeper是CP的还是AP的?.md
0 E5 m d0 l9 V7 p4 q
│ Zookeeper是如何保证创建的节点是唯一的?.md
7 ]' E) b9 n0 B; t$ g* J
│ Zookeeper是选举机制是怎样的?.md
8 j4 e3 `1 X* B) w" l( c; {
│ Zookeeper的watch机制是如何工作的?.md
1 I9 D4 l. x- n- H2 i
│ Zookeeper的典型应用场景有哪些?.md
/ z3 W0 B3 E4 d h
│ Zookeeper的数据结构是怎么样的?.md
7 J# A* h% E5 l/ Z1 ^
│ Z
![[衡天云]爆款云服务器 低至12元/月](/hty.png)