面试总结

mysql

索引的类型、索引的底层结构、索引失效的情况
聚簇索引和非聚簇索引
mysql的隔离级别, innerdb默认的是哪种,怎么实现,mvcc,脏读、幻读是什么情况,mysql的锁,怎么加锁
mysql的redo log、 undo log、 binlog,一条更新的语句在mysql里面怎么执行
两阶段提交,redo log 和 binlog区别
mysql 索引使用有什么要注意的地方
怎么对mysql进行优化
回表,普通索引是怎么查询的
半同步复制
谈谈MySQL中的重做日志,回滚日志,以及二进制日志的区别及各自作用

spring springboot

bean的生命周期
@Component 和@Bean区别
spring ioc aop 实现
spring的事物管理,事物的传播级别
spring boot的自动装配,实现原理
spring boot的优点
spring的扩展点、spi机制
spring的注入依赖,循环依赖,三级缓存
如何实现一个 Starter
Spring框架中都用到了哪些设计模式
双亲委派模型

spring cloud

服务治理框架
一个服务挂了,调用方如何感知
注册中心
Eureka ap
Zookeeper cp
Gateway
fegin调用原理

Eureka
Eureka client 注册服务、维持心跳、获取和定时更新已注册的服务列表、下线时发送取消注册请求
服务列表的增量请求和全量请求
Eureka Server response 数据压缩、缓存、自我保护模式
Eureka Server 集群 节点之前会互相同步元数据,没有主从的概念,只要有一个节点存活就能正常提供服务,可用性和一致性方面选择了可用性,只能保证集群稳定时,数据最终一致(AP 系统)
EurekaHttpClient 使用装饰者模式
Eureka原理分析

redis

基本数据类型的底层数据结构,如zset底层实现
使用场景,hash,好处
redis为什么这么快,是单线程的吗,单线程为什么快
redis的网络模型,reactor模型,和传统阻塞模型区别
epoll select poll 区别
集群key是怎么分配的,slot,加减机器,slot迁移是怎么样的,key不在对应的机器会怎么样,slot迁移过程中访问key会怎么样
集群高可用,主从怎么切换,怎么选举,槽迁移 (16384 个槽位(slots))、集群新增一个节点槽怎么迁移,槽定位、跳转重定向

当客户端向一个错误的节点发出了指令(常发生于扩容缩容后),该节点会发现指令的 key 所在的槽位并不归自己管理,这时它会向客户端发送一个携带目标操作节点地址的特殊跳转指令:
告诉客户端去连这个节点去获取数据,客户端收到指令后除了跳转到正确的节点上去操作
同步更新纠正本地的槽位映射表缓存,后续所有 key 将使用新的槽位映射表

哨兵模式
持久化rdb、 aof机制,特点
主从怎么同步
redis rehash, 会不会阻塞
过期淘汰,内存淘汰策略,lru实现原理,数据结构
redis的bigkey,危害
redis大列表遍历,非阻塞遍历,scan
缓存淘汰策略
LRU实现方法 LRU底层结构是 hash 表 + 双向链表 linkedhashmap

noeviction 默认策略,不淘汰数据;大部分写命令都将返回错误(DEL等少数除外)
allkeys-lru 从所有数据中根据 LRU 算法挑选数据淘汰
volatile-lru 从设置了过期时间的数据中根据 LRU 算法挑选数据淘汰
allkeys-random 从所有数据中随机挑选数据淘汰
volatile-random 从设置了过期时间的数据中随机挑选数据淘汰
volatile-ttl 从设置了过期时间的数据中,挑选越早过期的数据进行删除
allkeys-lfu 从所有数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)
volatile-lfu 从设置了过期时间的数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)
lfu: 最近最少使用
redis待淘汰数据池

网络

tcp的三次握手、四次挥手,tcp优化的参数
tcp的滑动窗口、拥塞
多路复用 select、poll、epoll
netty线程模型
https、tcp、udp 什么情况使用, quic有没有听过
http长链接、缓存
http2相比http好处
websocket
https建立连接的过程中交换了多少个随机数
session ticket
队头阻塞(tcp、http)
nginx、F5、lvs 为什么nginx前面一般要加一个F5
四层负载使用lvs软件或F5硬件实现。
七层负载使用nginx实现。
负载均衡有哪几种算法(随机、加权随机、轮询、加权轮询、hash、响应时间算法、一致性哈希算法)

理论上一台nginx的最大并发量可以高达50000, 但是nginx集群一般以内网的方式对外提供服务,因为nginx集群直接对外提供服务的话需要多个公网ip,而公网ip比较少,这样也不友好。一般在nginx前加个F5,做第一层负载均衡

深入揭秘HTTPS安全问题&连接建立全过程
lvs+nginx实现负载均衡

分布式

分布式事务解决方案
分布式事务的几种方案

jvm

类加载过程,双亲委派机制
JVM内存分布
JVM内存布局里本地变量表
JVM问题排查过程
一个线程对应一个 JVM Stack。JVM Stack (栈)中包含一组 Stack Frame(栈帧)。线程每调用一个方法就对应着 JVM Stack 中 Stack Frame 的入栈,方法执行完毕或者异常终止对应着出栈(销毁)。
切换线程时,同时也要切换栈,这里就需要一个数据结构TCB(Thread control block)来存储栈的指针;每个线程都有一个TCB。
JAVA创建一个对象的过程,是如何分配内存的
虚方法表
java new一个对象的过程中发生了什么

垃圾回收

GCRoot
并发标记中如何解决漏标问题
触发GC有几种情况
GC并发标记之三色标记及漏标问题
GC在哪些步骤需要完全暂停应用(初始标记、重新标记)
安全点位置
GC Roots的对象包括4种情况:
a) 虚拟机栈中引用的对象(栈帧中的本地变量表);
b) 方法区中类静态属性引用的对象;
c) 方法区中常量引用的对象;
d) 本地方法栈中JNI(Native方法)引用的对象。
GC日志分析
获取、分析dump文件

bean的生命周期
Bean 容器找到配置文件中 Spring Bean 的定义。
Bean 容器利用反射创建 Bean 的实例。
为 Bean 的属性设置值。

各种判断 Bean 实现了哪些 Aware 结尾的接口,并作相应的处理。
将 Bean 实例传递给 Bean 前置处理器的做前置处理。
调用 Bean 的初始化方法。
将 Bean 实例传递给 Bean 后置处理器的做后置处理。
Bean 创建完成并可以使用。
容器关闭了,调用 Bean 的销毁方法。
ioc
就是把原先在代码里面需要实现的对象创建、对象之间的依赖,反转给容器来帮忙实现。主要设计模式是工厂模式
使用IOC的好处
集中管理,实现类的可配置和易管理。
降低了类与类之间的耦合度。
aop
AOP的主要设计模式就是动态代理,基本概念:连接点、切入点、通知、切面、织入、代理、目标对象
使用AOP的好处:
降低模块的耦合度
使系统容易扩展
提高代码复用性
spring boot的优缺点
优点:
快速构建项目。
对主流开发框架的无配置集成。
项目可独立运行,无须外部依赖Servlet容器。
提供运行时的应用监控。
极大地提高了开发、部署效率。
缺点:
版本迭代速度很快,一些模块改动很大。
由于不用自己做配置,报错时很难定位。
网上现成的解决方案比较少。
双亲委派模型 、spi机制
双亲委派模型 、SPI
spring循环依赖、三级缓存
面试必杀技,讲一讲Spring中的循环依赖
Spring框架中常用的设计模式详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容