作者:felix
个人博客
记录工作中学习中认为比较好的知识点
一、博主
二、系统、IO相关
- 虚拟内存 & I/O & 零拷贝总结
- 高速网络的未来:解析零拷贝Zero-Copy架构
- 无锁编程——从CPU缓存一致性讲到内存模型
- 从 Linux 内核角度看 IO 模型的演变
- IO多路复用
- 为什么 IO 多路复用要搭配非阻塞 IO?
- 当我们讨论异步 IO模型的时候,讨论的对象到底是什么?
- 同步异步,阻塞和非阻塞该怎样理解?
- 怎样理解阻塞非阻塞与同步异步的区别?
三、代码设计相关
四、redis 相关
- Redis直击大厂面试
- 分布式锁实现方式
- redis的内存淘汰机制是什么?
- 缓存穿透和缓存雪崩解决方案有哪些?
- redis 集群如何能保证强一致性?
- redis的key越多,会影响性能吗?
- 使用redis实现分布式限流组件,要求高并发场景同一IP一分钟内只,如何回答呢?
- 缓存穿透、缓存击穿、缓存雪崩
五、TCP/IP
- linux如何实现TCP/IP协议
- TCP参数参数调优
- 扒开 TCP 的外衣,看清 TCP 的本质
- tcp 为什么要三次握手,两次不行吗?为什么
- tcp协议中rst异常关闭的问题?
- 如何对linux网络协议栈进行优化
- tcp的传输过程是可靠的,那为什么许多较大的下载最终还要校验文件完整性?
- 服务器端主动关闭连接, 产生的TIME_WAIT状态为什么会占用服务端大量端口?
- 怎么解决TCP网络传输「粘包」问题?
- 为什么TCP网络编程中close前shutdown?
- TCP拥塞控制的问题?
- tcp服务器怎么处理好socket和消息队列的关系?
- 不同平台的socket是否保证并发异步读写的线程安全?
- TCP协议存在那些缺陷?
六、go语言相关
- Go语言后端开发如何规划学习路线?
- go 语言工具包
- go语言学习
- go channel 万字详解
- Go JSON 三方包哪家强
- golang有哪些巧妙的设计?
- 有哪些不错的golang开源项目?
- golang并发终止条件判断?
- 3W 解析 Golang Context:用法、源码
- Go 服务端开发,请牢记这几条
- 还有比GoLang Channel更好的方式代替Mutex吗?
- Go语言工作中遇到的坑
- golang占位符%v,%+v,%#v有什么区别?
- 深入理解 Go 语言的编译与内存管理
- 7天用Go从零实现系列
- 学习 Go 语言,有哪些优质的开源项目?
- Go特殊的语言特性
七、云原生相关
- Docker学习
- 学习K8s
- docker和k8s有什么区别
- 你们在公司是怎么使用k8s和docker的?
- k8s两种部署架构,单机和分布式部署
- 有了Istio,开发还需要微服务架构吗?
- 一文弄懂游戏服务器的云原生化
- k8s部署微服务需要服务发现吗?
八、消息队列
- 消息队列(mq)是什么
- kafka入门
- kafka解决了什么问题?
- kafka 如何保证不重复消费又不丢失数据?
- 说说你如何保证Kafka不丢失消息?
- Kafka、RabbitMQ、RocketMQ 之间的区别是什么
- 有了 Kafka + 流处理框架,为什么还需要时序数据库?
- zookeeper在kafka中扮演着什么角色?
- Kafka,Mq,Redis作为消息队列使用时的差异
- kafka和rabbitmq什么区别,各自适合什么场景?
- Kafka等消息队列主要是解决什么业务场景的?
- 大量消息在 MQ 里长时间积压,该如何解决?
- Kafka 与 RabbitMQ 之间该如何进行选择?
- kafka是怎么实现顺序写磁盘的?
- MQ设计精要
- kafka和rabbitmq什么区别,各自适合什么场景?
- 新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服!
九、架构相关
- 分布式一致性算法Raft
- 如何成为架构师
- 四种常见分布式限流算法实现!
- 如何画架构图?
- 到底该如何搭建一个新系统
- 业务架构,功能架构,系统架构,技术架构,应用架构都是什么关系?
- 分布式事务的几种实现方式
- 如何设计一个好的网站架构?
- 什么是架构?架构的本质是什么?
- 清晰架构
- 什么是架构,架构的关键设计原则是什么?
- 微服务架构下如何连接数据?
- 高并发架构设计经验总结
- 如何分析一个系统的架构?
- 微服务架构是什么?
- 微服务中「组件」集成
- 服务端应用多级缓存架构方案
- 一文看遍各大互联网公司的分布式KV系统概述
- 分布式锁的各种实现,看完这篇你就懂了!
- 如何设计一个海量任务调度系统
- 规则引擎介绍
- 微服务架构和分布式架构有哪些区别?
- TDD(测试驱动开发)是否已死?
- 微服务架构有哪些重要的设计模式?
- 如何设计这样一个高并发系统?
- 如何画架构图?
- 架构师到底是做什么工作的?
- MySQL同步ES实战,肝到爆!
- 分布式事务DTM
- 7种实现web实时消息推送的方案!
- 架构图怎样绘制最方便?
- 什么是系统架构的高可用?需要从哪些方面去提高系统的高可用?
- 如何设计一个完美的复杂业务系统架构?
- 如何解决MySQL主从复制延时问题
十、操作系统
十一、网络相关
- 当内核收到了一个网络包,它该怎么办
- WebSocket 是什么原理
- http 和 https 有何区别?如何灵活使用?
- TCP的keepalive和HTTP的keepalive之间的关系?
- 网络请求的过程是怎样的呢。
- 一文熟知网络 - 文章巨长,但是很详细
- 网络编程必须使用socket吗?
十二、mysql相关
- 深入理解MySQL索引底层数据结构
- MySQL中的日志有什么作用
- innodb存储引擎 b+树树高是如何影响磁盘io次数的?
- MySQL 是如何上锁的
- mysql数据表规模90000000(九千万)左右,怎么优化查询?
- Mysql从4000多万条数据里进行查询,有什么好的优化方案
- mysql是如何处理已刷盘的redo日志的?
- Mysql索引及索引下推?
- Mybatis如何防止SQL注入?
- 多表联查好还是单表多次查询好?
- 既然有了innodb buffer pool为什么要有redis?
- 分布式数据库下子查询和join等复杂sql如何实现?
- 能说一说MySQL缓存池吗?
- 什么是分库分表,为什么要分库分表?
- 慢 SQL 优化之索引的作用是什么
- MySQL系列(一):索引篇
- MySQL索引失效原理是什么?
- 如何学习 SQL 语言?
- mysql 索引是怎么实现的?
- 面试官问“你的SQL能力怎么样?”时应该如何回答?
十三、数据库相关
十四、ClickHouse
- ClickHouse 到底有多神?
- Clickhouse在国内有哪些了应用案例?
- clickhouse数据库支持单行修改和主键自增id吗?
- ClickHouse vs Elasticsearch谁更胜一筹?
- clickhouse到底有哪些吊炸天的优化?
- 为什么说Clickhouse不擅长根据主键按行粒度进行查询?
十五、并发编程
十六、网关
十九、版本管理工具
二十、杂项
- 为什么git一般使用分支开发,主干发布的方式?
- 工作中常见的沟通协作原则与方法
- 30分钟带你精通git使用
- MQTT和Websocket的区别是什么?
- 有了 HTTP,为什么还要 RPC?
- 图解23种设计模式和编程规范
- 不同领域的圣经级书籍有哪些?
- 公司说你被辞退了明天不用来了,该怎么办?