文日小栈
未命名 1
Initializing search
文日小栈
欢迎
IM
IM
IM实时消息时序与一致性
IM消息送达保证机制
WebRTC
心跳机制保活
PA实验笔记
PA实验笔记
PA1
PA1
Linux上程序的生命周期
Nemu
断点对NEMU执行效率影响
状态机
程序的结束过程
词法分析与递归表达式求值
问题
PA2
PA2
AM裸机运行时环境
DiffTest
抽象层
指令周期
1. 设备及其基本工作方式
1. 运行时环境的作用
1. mips32和riscv32加载32位常数的策略
静态指令与动态指令
PA3
PA3
CTE
ELF 文件
异常
操作系统的起源
文件系统实现
问题
操作系统
操作系统
Mosaic 操作系统模型
固件(Firmware)
应用程序 = 计算 + 操作系统 API
形式化软件验证
把状态机的一部分直接放到操作系统
状态机的管理者
并发
并发
RCU (Read Copy Update)
信号量
内存屏障
协程库实现
基于事件的并发编程
基于锁的并发数据结构
如果刚开始系统调用,自旋锁被立即释放? 如果任何时候都可能发生中断?
并发编程中的互斥实现
并发编程常见问题
操作系统内核与用户态应用程序中的互斥实现
条件变量与并发同步
用互斥锁实现计算图
锁与并发控制
虚拟化
虚拟化
内存扩展机制与策略
分段
分页
受限直接执行
地址空间
地址转换
多处理器调度
空闲空间管理
进程
进程调度策略
数据库
数据库
MySQL 慢查询优化与索引
Mysql45讲
Mysql45讲
COUNT性能优化
InnoDB 刷脏页机制
InnoDB 加锁规则
JOIN命令
MySQL 事务
MySQL 索引
MySQL 表空间回收
MySQL 锁机制
MySQL高可用性
ORDER BY工作原理
Kill 命令
Sql语句执行流程
一致性视图 (Read View) 与当前读 (Current Read)
主备一致性
主库出问题了,从库怎么办
保证数据不丢
备库延迟
大查询操作耗尽内存
如何判断一个数据库是不是出问题了
字符串索引
幻读
应急性能优化方案
性能优化案例
普通索引与唯一索引
查询单行数据
用动态的观点看加锁
误删数据
读写分离
选错索引及其处理方法
随机获取记录优化
杂项
杂项
性能测试
算法
算法
图
图
无向图
最小生成树
最短路径
有向图
字符串
字符串
单词查找树
子字符串查找
字符串排序
数据压缩
正则表达式
排序
排序
优先队列
希尔排序
平衡查找树
应用场景与性能分析
归并排序
快速排序
插入排序
选择排序
查找
查找
二叉查找树
应用
散列表
符号表
计算机组成与设计
计算机组成与设计
存储
存储
Cache
可信存储器
存储器层次结构的一般框架
虚拟存储器
虚拟机
指令
指令
ARM与x86指令集体系
C程序翻译与执行
并行与指令
流水线
计算机指令集与MIPS体系结构
计算机硬件对过程的支持
算术运算
算术运算
加法、减法、乘法与除法
子字并行
浮点运算
计算机网络
计算机网络
CS144
CS144
Minnow协议栈的核心组件
重组器(Reassembler)
面经
面经
Java
Java
JUC
JUC
CurrentHashMap的原理是什么
Synchronized 的 JVM 层面原理与锁升级流程
Cas和aqs是什么,cas如果失败会发生什么,cas和aqs基于什么场景去使用
Reenterlock与sync关键字的区别
synchronized 和 Reentranlock 详细介绍,哪些情况优先使用后者,或者说为什么解决什么问题而存在
Synchronized 底层原理是什么,可重入锁原理是什么
threadLocal是什么?原理是什么?问题?
创建线程的方式有几种?区别是什么?
如何创建线程
线程安全的数据结构有哪些
线程池创建线程的状态
线程池参数有什么
线程池有哪几种,怎么使用
说说线程的生命周期和状态?
JVM
JVM
JVM 组成
JVM的内存区域有什么
JVM的内存模型
JVM的垃圾回收机制
Java里有哪四种引用类型?有什么区别?虚引用主要是干什么的?
双亲委派机制是什么
垃圾回收器介绍
垃圾回收算法介绍
对象创建的过程是什么
父类加载器和子类加载器有什么区别
类载入过程 JVM 会做什么
结合JVM的内存结构讲解多线程为什么可能发生错误
Spring
Spring
AOP实现原理
Bean的生命周期是如何管理的?请详细描述从Bean创建到销毁的完整过程,包括各个扩展点。
Spring 的三级缓存机制是什么
Spring的事务什么情况下会失效?
Bean的生命周期是什么
Springboot启动流程
Spring中事务是如何传播的,事务出错时如何实现回滚
Spring启动阶段发生什么
不同依赖注入方式有哪些及其区别
注入Bean的注解有哪些?有什么区别?
谈谈对于 Spring IoC 的了解
基础
基础
==和 equals 的区别?
ArrayList和LinkedList的区别
HashMap初始值为什么设为16
HashMap的基本原理是什么?
IOC, DI, AOP介绍
JAVA的包装类?为什么要把基本数据类型包装成类?
JDK 1.7和1.8中HashMap的区别?
Java 是否支持运算符重载
Java常用的集合有哪些
SPI 机制是什么
StringBuffer和StringBuilder是什么,区别是什么
Aop实现方式
Final关键字是什么
int和Integer的区别
Java为什么有了基本类型还需要封装类?
Java内部类和匿名内部类有什么作用?支不支持运算符重载?
为什么 String 不可变,StringBuilder是什么
为什么要有反射
什么是反射?应用?
什么是泛型?有什么作用?
什么是自动拆箱装箱?
反射加载类的过程是什么
如何理解 Java 的跨平台性
封装继承多态是什么,有什么联系
常见的内存泄露场景有什么
接口、普通类和抽象类有什么区别和共同点
本地缓存 Caffeine 的优点与缺点
深拷贝和浅拷贝区别
线程池的七大参数?
菱形继承是什么如何实现
锁是如何实现数据同步的?
Redis
Redis
Lua脚本是怎么保证原子性的
RDB和AOF的区别是什么
Redis 使用的过期删除策略是什么?
Redis 内存淘汰机制
Redis 如何实现数据不丢失?
Redisson 分布式锁实现原理
Redis实现分布式锁,请详细说明这个分布式锁的实现原理
Redis常见的数据结构
Redis的使用场景
Redis的底层实现
Zset的底层结构是什么?为什么Zset要使用两种结构来实现?
Redis数据结构的列表结构演进ziplist,quicklist,skiplist 介绍
Redis是什么,有什么用
Redis的k,v结构是怎么设计的?
Redis的哪些原理和特性,导致它是个高性能缓存工具
Redis的数据一致性相对于本地缓存比较好,是怎么保证?
Setnx命令怎么保证多个线程中只有一个可以setnx成功
如何保证Redis与MySQL的数据一致性
怎么保证redis的数据不会丢失?
怎么判断 Redis 某个节点是否正常工作?
缓存穿透、缓存击穿、缓存雪崩
中间件
中间件
ES 原理是什么,搜索功能是如何实现的
ES有哪些节点?ES的主节点有多少个?
ES的写入流程是什么样的?
ES的分页是什么?如何实现深度翻页?
MQ消息堆积如何处理
RabbitMQ 如何保证消息不丢失
RabbitMQ 如何保证消息有序?
RabbitMQ具有什么特点
RabbitMQ延迟队列底层怎么实现的,延迟队列还是队列模型吗?怎么对消息进行排序的?每一条消息过来都要重新排序吗?
Kafka怎么保证消息有序性
为什么要使用ES,MySQL不能解决问题吗?
为什么要保证消息只消费一次,重复消费会怎么样
主流消息队列及其底层实现区别
分布式
分布式
主从集群有延迟,主节点刚存数据未同步就挂了,从节点无数据如何处理
双写策略是什么
如何设计分布式锁,比如key,value的设计,怎么避免死锁?
雪花算法是什么
场景题
场景题
JWT单点登录是什么
Im系统的发消息流程,高并发体现在哪里,redis存的什么、起到什么作用,怎么群发的
什么样的场景使用消息队列比较合适?哪些任务需要用消息队列去异步处理,你是怎么划分的?
如何设计一个任务队列,支持优先级区分、取消任务
如果活动很火爆,有100万QPS的访问量,只持续一分钟,或者5分钟的话,只有一个节点的话根本扛不住,怎么处理?
对1个亿数据进行排序,内存只有10M应该使用什么算法
怎么使用RabbitMQ延迟队列实现订单超时自动取消?
排行榜功能怎么实现
设计一个短链系统, 每日写入量百万,访问量千万 ,要求通过短链找到长链 10ms内,同时不能重复插入长链
限流底层原理是什么
并发
并发
乐观锁是什么,给出实现思路
什么是线程上下文切换
什么是线程安全,怎么保证线程安全
如何预防和避免线程死锁
数据结构线程安全是如何实现的
流量控制是怎么实现的
线程池核心参数有什么,拒绝策略有什么
自旋锁是什么
进程线程和协程的区别是什么
进程间通信的方式有什么
微服务
微服务
Nacos是什么,原理是什么
操作系统
操作系统
内存的分页分段介绍
如何理解一切皆文件
时间片轮转算法是什么
用户态和内核态是如何切换的?
数据库
数据库
B+树、B树和红黑树的特点及区别?在数据库中是如何运用的?
B+树的数据结构是什么,如何进行查找,为什么不在非叶子节点存入数据
ES查询为什么比MySQL要快?
InnoDB的索引结构
MySQL 数据量过大如何处理
MySQL有什么页
MySQL索引为什么使用b+树?
Explain是什么,通常需要关注那些输出信息
Mvcc实现原理
Mysql慢sql怎么优化
Mysql有哪些索引,有什么索引类型
Sql查询的执行过程是什么
两个事物修改同一条记录,这个时候再去读这个记录会怎么样 ?读到的结果是一样的还是不一样的?
事务的隔离性是什么,Spring的事务是怎么实现隔离性
事务的隔离级别介绍
事务隔离性实现的底层原理
什么是事务?事务有哪几种特性?
哪些字段适合加索引,哪些不适合
如何解决死锁和锁失效等问题
怎么检查是否用到索引
数据库乐观锁如何使用
索引失效的场景
索引的原理是什么
聚簇索引和非聚簇索引是什么?他们分别用在什么场景? 回表是什么?非聚簇索引一定会回表吗?
选错索引会发生什么
间隙锁锁住的时候还可以读吗?间隙锁可能会造成死锁吗?如果锁住很大范围的间隙,怎么解决性能上的问题?怎么解决间隙锁之间的锁冲突?
杂项
杂项
CICD是什么
RPC和gRPC的区别
Docker是什么,有什么用,底层实现原理是什么
Jemeter压测比较关注什么数据?
说几个常用的Linux命令
算法
算法
常用排序算法的时间复杂度
数组和链表的区别
解决hash冲突方式有什么
计算机网络
计算机网络
DNS 解析的过程是什么
GET 和 POST 的区别
HTTP 状态码有哪些
HTTPS加密的详细过程
Netty是什么?模型结构的优点和设计有什么?
TCP中SYN报文的作用是什么?如何保证TCP连接的可靠性?
TCP和UDP的区别是什么
TCP有65536个端口号,可以建立多少个连接
VPN的原理是什么
Http协议和https协议之间有什么区别?
Websocket技术详细介绍
什么是 HTTPS
介绍tcp的滑动窗口和拥塞控制
从输入 URL 到页面展示到底发生了什么
如何优化TCP
对称加密与非对称加密
心跳技术是什么
简述TCP三次握手四次挥手。为什么握手是三次,挥手是四次?
解释 DNS 的作用和工作原理
设计模式
设计模式
DDD领域设计概念
Restful api是什么
什么情况下需要使用单例模式
代理模式如何使用
工厂模式和策略模式有什么区别?
工厂模式是什么
常用设计模式有什么
怎么实现线程安全的单例模式?
策略模式是什么
面向对象设计模式有哪些原则
面试
面试
25 4 16小厂一面
项目
项目
游戏对战平台
游戏对战平台
功能
微服务架构
微服务架构
架构
虚拟局域网
虚拟局域网
未命名 1
未命名
未命名 1
使用Tailscale,headscale, go wails实现客户端tsnet,java实现服务器