getfromcode后端开发

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

单课价¥29新品 上架
会员价 ¥0开通会员,全站课程无限下载套餐详情
58 人关注 更新于 2026-09-27 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买方式开通会员 · 全站免费下单课购买 · 仅本课

支付成功后自动显示网盘下载链接;链接失效可联系客服免费补链,永久有效。

正版保障 极速发货 售后无忧
├─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