Skip to content
文日小栈
欢迎
Initializing search
文日小栈
欢迎
25年目标
25年目标
3月
PA实验笔记
PA实验笔记
PA1
PA1
Linux上程序的生命周期
Nemu
断点对NEMU执行效率影响
状态机
程序的结束过程
词法分析与递归表达式求值
问题
PA2
PA2
AM裸机运行时环境
DiffTest
抽象层
指令周期
1. 设备及其基本工作方式
1. 运行时环境的作用
1. mips32和riscv32加载32位常数的策略
静态指令与动态指令
PA3
PA3
CTE
ELF 文件
异常
操作系统的起源
文件系统实现
问题
Java
Java
ThreadLocal
IO
IO
AIO
BIO
IO分类
IO常见类的使用
NIO
Unix IO 模型
多路复用 IO
JVM
JVM
JVM 内存模型
JVM内存结构
Java 内存模型与并发编程
字节码的增强技术
类字节码
类的生命周期
基础
基础
Java集合框架(JCF)
SPI机制
反射
异常
泛型
注解
并发
并发
JUC 框架
Java多线程与并发
Synchronized
Volatile
线程
线程池
锁
简历
简历
备忘录
算法
算法
图
图
无向图
最小生成树
最短路径
有向图
字符串
字符串
字符串排序
排序
排序
优先队列
希尔排序
平衡查找树
应用场景与性能分析
归并排序
快速排序
插入排序
选择排序
查找
查找
二叉查找树
应用
散列表
符号表
计算机网络
计算机网络
如何优化TCP
CS144
CS144
重组器(Reassembler)
面经
面经
Java
Java
JUC
JUC
CurrentHashMap的原理是什么
Cas和aqs是什么,cas如果失败会发生什么,cas和aqs基于什么场景去使用
synchronized 和 Reentranlock 详细介绍,哪些情况优先使用后者,或者说为什么解决什么问题而存在
Synchronized 底层原理是什么,可重入锁原理是什么
threadLocal是什么?原理是什么?问题?
创建线程的方式有几种?区别是什么?
如何创建线程
说说线程的生命周期和状态?
JVM
JVM
JVM的内存区域有什么
JVM的内存模型
JVM的垃圾回收机制
双亲委派机制是什么
垃圾回收器介绍
垃圾回收算法介绍
对象创建的过程是什么
父类加载器和子类加载器有什么区别
类载入过程 JVM 会做什么
Spring
Spring
Bean的生命周期是如何管理的?请详细描述从Bean创建到销毁的完整过程,包括各个扩展点。
不同依赖注入方式有哪些及其区别
谈谈对于 Spring IoC 的了解
基础
基础
==和 equals 的区别?
ArrayList和LinkedList的区别
HashMap是什么,HashMap的底层原理,HahsMap的底层是线程安全的吗?HashMap如何扩容?
IOC, DI, AOP介绍
JAVA的包装类?为什么要把基本数据类型包装成类?
JDK 1.7和1.8中HashMap的区别?
Java常用的集合有哪些
StringBuffer和StringBuilder是什么,区别是什么
Aop实现方式
Final关键字是什么
int和Integer的区别
为什么 String 不可变,StringBuilder是什么
为什么要有反射
什么是反射?应用?
什么是泛型?有什么作用?
什么是自动拆箱装箱?
如何理解 Java 的跨平台性
封装继承多态是什么,有什么联系
接口、普通类和抽象类有什么区别和共同点
本地缓存 Caffeine 的优点与缺点
深拷贝和浅拷贝区别
线程池的七大参数?
锁是如何实现数据同步的?
Redis
Redis
RDB和AOF的区别是什么
Redis实现分布式锁,请详细说明这个分布式锁的实现原理
Redis的底层实现
Zset的底层结构是什么?为什么Zset要使用两种结构来实现?
Redis的k,v结构是怎么设计的?
Redis的哪些原理和特性,导致它是个高性能缓存工具
Redis的数据一致性相对于本地缓存比较好,是怎么保证?
怎么保证redis的数据不会丢失?
缓存穿透、缓存击穿、缓存雪崩
Sql场景题
Sql场景题
详细设计毕业生表
中间件
中间件
Kafka怎么保证消息有序性
为什么要保证消息只消费一次,重复消费会怎么样
分布式
分布式
主从集群有延迟,主节点刚存数据未同步就挂了,从节点无数据如何处理
双写策略是什么
如何设计分布式锁,比如key,value的设计,怎么避免死锁?
雪花算法是什么
功能设计
功能设计
Im系统的发消息流程,高并发体现在哪里,redis存的什么、起到什么作用,怎么群发的
什么样的场景使用消息队列比较合适?哪些任务需要用消息队列去异步处理,你是怎么划分的?
如何设计一个任务队列,支持优先级区分、取消任务
如果活动很火爆,有100万QPS的访问量,只持续一分钟,或者5分钟的话,只有一个节点的话根本扛不住,怎么处理?
排行榜功能怎么实现
限流底层原理是什么
并发
并发
Jemeter压测比较关注什么数据?
什么是乐观锁?
什么是线程上下文切换?
什么是线程死锁?
如何预防和避免线程死锁?
并发和并行的区别
数据结构线程安全是如何实现的
流量控制是怎么实现的
线程池四大拒绝策略?
自旋锁是什么
设计一个短链系统, 每日写入量百万,访问量千万 ,要求通过短链找到长链 10ms内,同时不能重复插入长链
进程通信的方式有哪些
微服务
微服务
Nacos是什么,原理是什么
操作系统
操作系统
内存的分页分段介绍
如何理解一切皆文件
时间片轮转算法是什么
线程进程区别
进程线程和协程的区别是什么
数据库
数据库
ES查询为什么比MySQL要快?
InnoDB的索引结构
MySQL 的慢查询如何优化?
MySQL索引为什么使用b+树?
Mvcc实现原理
两个事物修改同一条记录,这个时候再去读这个记录会怎么样 ?读到的结果是一样的还是不一样的?
事务的隔离性是什么,Spring的事务是怎么实现隔离性
如何解决死锁和锁失效等问题
杂项
杂项
CICD是什么
RPC和gRPC的区别
说几个常用的Linux命令
算法
算法
数组和链表的区别
解决hash冲突方式有什么
计算机网络
计算机网络
HTTPS加密的详细过程
什么是 HTTPS
介绍tcp的滑动窗口和拥塞控制
解释 DNS 的作用和工作原理
设计模式
设计模式
工厂模式和策略模式有什么区别?
怎么实现线程安全的单例模式?
面向对象设计模式有哪些原则
项目
项目
JVM
JVM
JVM 运行时数据区
功能
Minispring
Minispring
优化
功能
功能实现思路
功能实现思路
AOP
BeanPostProcessor在minispring中的实现思路
Boot
IOC
JDBC与事务
Web MVC
问题
问题
BeanPostProcessor接口的作用是什么?请解释它是如何被用来扩展Spring的功能的。
Bean的生命周期是如何管理的?请详细描述从Bean创建到销毁的完整过程,包括各个扩展点。
minispring框架中,如何实现Bean的作用域管理?比如singleton和prototype,是否有相应的实现?如果有,请解释其工作原理;如果没有,你会如何设计?
在minispring中,请解释@Component, @Service, @Controller, @Repository这些注解的作用和区别。
当前项目中,注解处理流程是什么
框架如何实现基于注解的请求映射和参数绑定?请详细描述Web MVC模块的工作原理。
简要描述该项目的整体架构设计以及它与Spring的主要相似点和不同点。
请解释什么是Spring框架中的IoC(控制反转)和DI(依赖注入),以及它们之间的关系。
请详细解释项目中支持的不同依赖注入方式,以及框架如何解决循环依赖问题。
项目是如何实现AOP的?请描述其底层原理
旅购宝
旅购宝
优化
功能
备忘录
功能实现思路
功能实现思路
JWT
主商品+SKU模式
分布式ID生成
分布式锁
异步事件处理
搜索实现思路
状态机模式
用户权限管理
秒杀优惠券系统实现思路
缓存系统实现思路
订单管理系统实现
购物车功能实现思路
预锁定+确认扣减
问题
问题
RabbitMQ的实现原理是什么,有什么优缺点,为什么该项目中使用它而非别的知名中间件 ?
Sentinel是如何实现流量控制、熔断降级和系统保护机制的,给出实现思路
在项目中使用了Canal进行数据同步,请详细说明Canal的工作原理,以及在项目中如何利用Canal保证数据库和缓存的一致性?你认为这种数据同步方案有什么优缺点?
当出现多级缓存(本地缓存+Redis)不一致时,应该如何处理?当前项目采用了什么方案,为什么,这么做有什么好处?
当前项目似乎还实现了分布式事务,能否解释其工作原理?
当前项目是如何优化高并发性能的
当前项目是如何实现JWT的
系统使用了Redis和Lua脚本,请详细说明这种实现方式的优势
讲述当前项目用户分类权限控制的实现思路
讲述当前项目用户权限控制的实现思路
请分析项目中用到的各种设计模式及其应用场景,如何提高了代码的复用性和可维护性?
请详细说明多级缓存架构是如何设计的,以及如何解决缓存穿透、缓存击穿和缓存雪崩问题
针对该项目的秒杀业务实现,请解释其中的并发安全控制机制是如何实现的
项目中存在多个缓存更新策略,如主动更新、被动更新、定时刷新等。请描述这些缓存更新策略是如何实现的,以及它们各自适用的场景?
项目中实现了全局ID生成器(RedisIdWorker),请解释这种ID生成方案的设计思路、实现原理以及相比于UUID等其他方案的优势。
项目中实现了基于RabbitMQ的消息队列来处理异步订单创建。请详细说明该消息队列的实现原理和关键代码,以及它在秒杀系统中的应用场景和优势。
旅购宝项目基于Sentinel的限流熔断保护机制详解
项目中的异常处理机制是什么,特别是如何处理分布式系统中的各种异常情况
项目中的缓存一致性是如何实现的?特别是在使用了多级缓存(本地缓存+Redis)的情况下,如何确保数据的一致性?
项目登录认证实现思路
简历
简历
数据库变更捕获与一致性保障面试问题
中间件
中间件
Sentinel的限流规则是固定的还是动态调整的?基于什么指标?
请介绍在项目中实现的Canal+RabbitMQ数据同步整体架构,以及为什么选择这种方案而不是其他替代方案?
限流算法选择了哪种?为什么选择这种算法? 多级保护策略(限流、熔断、降级)之间如何协同工作?
技术实现
技术实现
介绍一下当前项目秒杀券抢购的流程?
使用策略模式,支持不同商品类型的业务逻辑差异化处理,同时采用工厂模式来实现策略实例的创建与管理,有什么好处?
动态熔断的具体触发条件是什么?阈值如何确定?
如何监控和评估缓存系统的健康状况?使用了哪些指标?
如果出现库存扣减成功但是异步调用失败了怎么办?
当前项目订单表是如何设计的
服务降级的策略有几种?请举例说明在不同场景下如何选择降级方案。
热点数据是如何识别的?有实时监控和动态调整机制吗?
秒杀系统库存扣减成功但MQ接口调用失败的处理方案
高峰期系统资源达到瓶颈时,优先保护哪些核心功能?如何实现的?
搜索功能
搜索功能
Elasticsearch 与主数据库之间的数据同步是如何实现的?
Elasticsearch是如何实现搜索功能的
为什么选择 IK 分词器而不是其他中文分词器?对比过其他分词器吗?
传统模糊查询是如何实现的?为何传统模糊查询对中文效果不佳?
具体采取了哪些措施提高搜索性能?
在处理搜索相关性时,你是如何平衡精确匹配和召回率的?
如何配置商品索引的 mapping 的?特别是对商品名称、描述等文本字段的分析器设置。 ProductDocument 有哪些字段配置了 IK 分词器?你使用的是 ik smart 还是 ik max word 模式?为什么?
当前项目是如何实现搜索功能的,是如何构建搜索条件的?特别是处理关键词搜索和分类过滤的部分?
缓存架构
缓存架构
为什么选择Redis+本地缓存的组合方案?考虑过其他方案吗?
为什么选择Sentinel而非Hystrix或Resilience4j作为流控方案?
如何处理本地缓存与Redis缓存之间的数据一致性问题?
布隆过滤器在你的架构中解决了什么具体问题?为什么不使用其他方法?
布隆过滤器的参数(哈希函数个数、位图大小)是如何确定的?误判率设置多少?
本地缓存具体使用了什么技术?Caffeine、Guava Cache还是自研方案?为什么选择该技术,相比其他技术好在哪?
缓存更新策略是什么?采用主动更新还是过期淘汰?
请详细描述你实现的多级缓存架构,各层缓存的作用和交互方式是什么?
项目是如何解决缓存穿透、缓存击穿和缓存雪崩问题?
黑马点评
黑马点评
优化
待整理
黑马点评系统未实现功能分析
购物车系统改进设计方案
购物车系统
黑马点评系统需要完善的地方
订单
订单
修改思路
问题
订单流程
订单流程
普通商品购买流程优化思路
设计模式
街机游戏对战平台
街机游戏对战平台
架构设计
欢迎
我有嘉宾,鼓瑟鼓琴。
鼓瑟鼓琴,和乐且湛。
我有旨酒,以燕乐嘉宾之心。