blog
blog copied to clipboard
my tech blog, using markdown
个人博客
本仓库下存放个人博客的源文件。持续更新,欢迎 star
。
如果大家觉得那里写的不合适的可以给我提 Issue
前言
程序员的自我修养:
-
一切语言、技术或者框架,本质都是工具,工具的价值在于为使用者提供竞争优势。
-
如果真的有一种语言或者框架很牛逼,那么荣耀或者赞誉应该属于创造它的人,与使用者没有半毛钱关系; 使用者的荣耀应该来自;针对恰当的需求使用恰当的语言或者框架,并做到按时交付以及高质量。
-
大部分人并不是天生有选择恐惧症,也不是天生的杠精,在我看来所有关于选择的迷惑或者争吵,大都因为:
- 没有设定清晰的标准;
- 标准不唯一;
- 标准之间没有优先级或者权重;
目录简介
展开目录简介
-
语言基础
- Python
- Golang
- Java
-
数据结构与算法
- 我的专题仓库
-
框架技术
- Scrapy
- Elasticsearch
- SpringCloud
-
各种技术
- Redis
- Kafka
- MySQL
- Nginx
- 分布式
- Linux
- 网络
-
设计与实战
- 搭建并行处理管道 - Golang
- 原生爬虫 - Golang
- 流量统计系统 - Golang
- 开发分布式任务调度 - Golang
- 如何设计并实现一个高可用订单系统
-
反省与总结
- 面试
- 其他
-
工具
- Pycharm上传到码云或者GitHub
- 欢迎使用CSDN-markdown编辑器
-
chinese
- chinese_300_tang_poems
目录
目录详情
【语言基础】
-
Python
- 基础知识
- 变量对象和引用
- Python学习之Queue
- Python中的作用域及global用法
- Requests 库
- Requests模块学习之一-发送请求
- Requests模块学习之二-处理响应
- Requests模块学习之三-进阶话题
- 并发
- Python_多进程_进程池
- Python之路_异步IO_队列_缓存
- Python之路_进程_线程
- 基础知识
-
Golang
- 用 golang 实现 nginx 反向代理及负载均衡
- channel & select
- Go 内存管理
- Go gc
-
Java
- Pending
【数据结构与算法】
-
我的专题仓库「HelloAlgorithm」有介绍:点击这里
【框架技术】
-
Scrapy
- Scrapy - 第一步框架原理
-
Elasticsearch
- Elasticsearch - 介绍及开发环境搭建
- Elasticsearch - 搜索引擎_pending
-
SpringCloud
- Eureka 的介绍
- Eureka Server 和 Client 之间的信息维护(注册和续约)
- Zuul 的介绍
【各种技术】
-
Redis
- Redis的正确打开方式
- 高并发情况下Redis做缓存的一系列问题_pending
- Redis Pipeline 及 主从同步
- Redis 为什么这么快?
-
Kafka
- kafka
-
MySQL
- 数据库优化 - 索引优化
- Mysql大表处理_pending
- 数据库 - 如何设计一个关系型数据库
- 数据库 - 索引管理
- 数据库 - 锁管理
-
Nginx
- nginx - 使用之总体简介
- nginx - 使用之配置文件的组成及主配置段的指令之一
- nginx - 使用之配置文件的组成及主配置段的指令之二
-
分布式
- 分布式id生成算法 - SnowFlake
- Raft
- Raft 领导选举
- Raft 一致性算法
- Raft 日志复制
- Celery
- Celery 的正确打开方式 - 结合「官方文档」及「实际用例」了解 Celery「关键词:分布式任务队列;Celery」
- [Draft]Celery 源码阅读
- etcd
- 什么是 etcd?
- etcd 功能与原理
- Golang 操作 etcd(上)
- Golang 操作 etcd(下)
-
Linux
- Linux - find、grep、awk、sed 常用命令
- select、poll、epoll
- 零拷贝 - NIO
-
网络
- TCP 三次握手、四次挥手详解
- HTTP 与 HTTPS 详解与区别
- HTTPS 如何做到安全
-
架构
- Git workflow
- 你的项目应该如何分层?
- 什么是扇入和扇出?
- 13 Code Review Standards Inspired by Google
【设计与实战】
-
搭建并行处理管道 - Golang
-
原生爬虫 - Golang
-
流量统计系统 - Golang
-
开发分布式任务调度 - Golang
-
微信抢红包功能设计 - Golang
-
如何设计并实现一个高可用订单系统
【反省与总结】
-
面试
- Python面试题精选
- 面试-复习
- 某不知名小厂面经 - 第一家
- 某不知名小厂面经 - 第二家
- 这段时间六家公司面经 - 2019年 - 07.11-07.22
- 识货 —— 面经
- 华为OD —— 面经
- 英语流利说 —— 面经
-
其他
- 给学弟学妹们总的方向及建议
【工具】
-
Pycharm上传到码云或者GitHub
-
欢迎使用CSDN-markdown编辑器
【chinese】
-
chinese_300_tang_poems
- 五言古诗_三十三首
- 张九龄 - 感遇_二首
- 五言古诗_三十三首
开源社区链接
TODO list
展开查看
-
数据库和缓存双写一致性方案解析
-
raft pre-vote 算法,《CONSENSUS: BRIDGING THEORY AND PRACTICE》
-
唯一索引与普通索引的区别
-
mysql change buffer
-
进程、线程与协程
-
页缓存、缺页中断
-
有个webhook接口:目前直接返回200,并调用异步任务系统。 现在 有三个 HTTP 请求(1:create, 2:modify, 3:delete) 过来(三个请求时间间隔不一定,可能没有 2:modify),需要它们三个异步任务顺序执行。(给每一个请求 一个id,通过id hash发到执行的机器,执行机器分配线程执行是拿到 id 存在已分配的线程中 )
-
初识 kafka
-
kafka 高级特性之消息事务
-
Mysql大表处理
-
高并发情况下 Redis 做缓存的一系列问题
-
数据库如何建索引,如何分库分表
-
LRU 的实现,原理、数据结果和过程结果
-
QPS 限流 (缓存,滑动窗口?)
-
标签 推荐算法实现
-
HTTPS 如何做到安全
-
根据二叉树前序遍历生成 AVL 树
-
Redis 主从同步和持久化方式
-
Redis 高可用方案
-
Redis 缓存集中过期如何处理
-
Redis 的集群有哪些
-
用 redis 做限流
-
统计大量访问日志(分几百M 和 几百G的场景);得出访问次数最多的前 K 个人 (单台机器实现)
-
8G 文件 1G 内存,查找重复的数字
-
对称性加密跟非对称性加密的比较、使用场景
-
RSA 加密算法
-
搜索引擎倒排原理及实现方式
-
XSS 和 CSRF
-
ctrl+c 后操作系统做了什么
-
T级别大日志文件,如何找出一段时间内日志
-
求无向无环图的直径
-
python GIL 以及为什么有GIL,还需要 threading
-
自增ID 与 uuid 的优劣
-
B、B+、跳跃表 区别 时间复杂度
-
java fail-fast 机制
-
Mac 地址如果被改会怎么样
-
路由寻址过程做了哪些事
-
HTTP 1.1、2 特性
-
HTTP 里面的各种攻击及应对策略
-
如何信任 CA
-
分布式事务,两阶段提交协议,失败重试补偿
-
在微服务架构中,如何能保证接口的可靠性。(幂等性校验?安全角度?)
-
程序设计
-
Golang 开发分布式任务调度
-
微信抢红包功能设计
-
推送的频率控制
-
抖音评论列表的设计及缓存实现
-
假设是一个抽奖的游戏,不同的人是有不同的概率倍数,是一个整数,例如:1、3、5...。输入100万人,要求抽奖抽出2万个人; 并假设每个人都有一个唯一id,写一个函数做下抽奖,输入和输出的数据结构自己设计
-
设计群消息已读功能
-
HTTP 301 实现原理,设计一个短链服务
-
给一个亿级用户登录登出时间戳日志,统计用户在线量峰值及持续时间,代码实现
-
消息队列如何保证可靠
-
设计秒杀系统要求保证公平
-
如何限制每分钟每个手机号短信发送数
-
发短信业务,1分钟内一个号一个业务 1000 条
-
多人联机贪吃蛇设计
-
链表逆序,设计一个王者的组队系统
-
头条文章向用户推送避免重复推送问题
-
如何实现音乐随机播放
-
系统设计:微信扫码登录
-
微博的热门评论,在分页到很深的时候,如何进行优化
-
一个分布式不安全的文件系统,如何保证每次只有一个请求进行读写
-
Tips:
- 为方便查阅博客,可以在浏览器安装 Octotree 插件