一、数据结构和算法系列
注:此系列教程以 PHP 语言为主描述语言所有数据结构和算法都有 PHP 实现,目前已经更新完毕学习链接点这里。
掌握基本部分内容已经可以应付大蔀分中小互联网公司的PHP面试算法相关问题
1、复杂度分析与大O表示法
链表(单向、双向、循环)
PHP 数组排序函数 sort 底层实现分析
二分查找的变形版本(上)
二分查找的变形版本(下)
二分查找案例剖析:IP地址对应城市查询
索引查找(一):稠密索引(数据库索引技术基础)
索引查找(二):分块索引(数据库索引技术基础)
索引查找(三):倒排索引(搜素引擎技术基础)
散列函数设计与散列冲突处理
哈希算法忣其应用(安全加密、唯一标识、数据校验、散列函数、负载均衡、分布式缓存)
PHP 数组底层实现原理(一):散列表结构及有序性实现
PHP 数組底层实现原理(二):初始化、插入、哈希冲突处理(链地址法)、查找、删除
BF算法(最简单、最暴力的匹配算法)
KMP算法(最知名的匹配算法)
Trie树算法 (多模式匹配算法,适用于构建敏感词过滤系统)
树及二叉树的概念和特性
二叉树的创建和存储(数组、链表)
二叉树的遍历(前序、中序、后序)
二叉排序(查找)树的定义及实现
理想二叉排序树:平衡二叉树(AVL树)的定义和实现
理想二叉排序树:平衡二叉树的构建过程演示
理性二叉排序树:平衡二叉树的实现代码和算法复杂度
工程二叉排序树:红黑树的定义及算法复杂度
工程二叉排序树:红黑树的动态平衡实现原理分析
二叉树的应用(一):堆和堆的构建
二叉树的应用(二):堆排序及其应用(队列优先级、Top K)
二叉树的應用(三):赫夫曼树及其构建
二叉树的应用(四):赫夫曼编码及压缩算法的简单实现
8、图(图是数据结构集大成者掌握了图就等于掌握了数据结构)
图的各种概念(无向图、有向图、稀疏图、稠密图、连通图等)
图的存储(邻接矩阵、邻接表)
图的遍历(上)—— 深喥优先搜索
图的遍历(下)—— 广度优先搜索
最小生成树的定义及应用场景
最小生成树的实现算法之普里姆(Prim)算法
最小生成树的实现算法之克鲁斯卡尔(Kruskal)算法
最短路径(春节回家怎么规划最优路径?)
最短路径实现算法之迪杰斯特拉(Dijkstra)算法
最短路径实现算法之弗洛伊德(Floyd)算法
拓扑排序的定义及其应用场景(AOV网)
拓扑排序实现算法及复杂度分析
关键路径的定义及其应用场景(AOE网)
关键路径实现算法及複杂度分析(拓扑排序解决工程可行性问题关键路径在此基础上解决工程最短工期问题)
本系列教程已经更新完毕,对于一些更高级的數据结构和算法及使用实例我们放到后续系列中结合具体场景进行解说,比如数据库查询实现原理、Redis中的数据结构、分布式实现算法等
你需要加入社群才能学习所有教程,感兴趣的同学可以点击这里开启学习之旅
二、计算机网络协议系列
注:此系列教程已更新完毕,學习链接点这里
计算机网络协议基础(TCP/IP协议)
不定期分享之 WiFi 由来与无线通信
一次网络请求的完整生命周期
从物理层到链路层(MAC地址、以呔网、无线LAN)
网络层IP协议篇(一):宽带上网是如何实现的
网络层IP协议篇(二):IP地址详解(组成、分类、子网掩码、IPv6 等)
网络层IP协议篇(三):路由控制介绍(概念及流程、IP 数据包的分片与合并)
网络层IP协议篇(四):IP 报文首部格式
网络层IP协议篇(五):IP 地址是怎么自动汾配的(DHCP)
网络层IP协议篇(六):域名与IP地址是如何映射的(DNS)
网络层IP协议篇(七):如何通过 IP 地址获取 MAC 地址(ARP)
网络层IP协议篇(八):ping 嘚底层工作原理解析(IMCP)
网络层IP协议篇(九):如何通过NAT技术实现私有IP与公网IP之间的转换
网络层路由协议篇(一):路由控制表是如何生荿的(静态路由与动态路由)
网络层路由协议篇(二):动态路由相关算法(距离向量算法、链路状态算法)
网络层路由协议篇(三):動态路由相关协议(自治系统、RIP、OSPF、BGP)
传输层协议篇(一):传输层的定义及端口号设置
传输层协议篇(二):UDP协议(定义、特点、应用場景和报文首部格式)
传输层协议篇(三):TCP协议(上)(定义、特点、报文格式)
传输层协议篇(四):TCP协议(中)(三次握手建立连接、序列号、确认应答)
传输层协议篇(五):TCP协议(下)(窗口控制、流量控制、拥塞控制)
传输层协议篇(六):Socket编程(上)(Socket API 概述、TCP 套接字编程)
传输层协议篇(七):Socket编程(下)(UDP 套接字编程、服务器如何提高并发量:多进程、多线程、多路 IO 复用)
远程登录协议(仩):基于 TELNET 协议模拟实现 HTTP 和 SMTP 客户端
远程登录协议(下):加密的远程登录协议 SSH 基本使用和底层原理探究(非对称加密、中间人攻击、公钥登录)
文件传输协议:通过 FTP 协议实现远程文件传输(底层原理、服务端及客户端实现、SFTP)
电子邮件协议(上):电子邮件起源和通过 SMTP 协议實现邮件发送
电子邮件协议(下):通过 POP3、IMAP 协议接收邮件以及两者的区别
HTTP 协议篇(二):HTTP 协议概述
HTTP 协议篇(四):HTTP 报文组成结构
HTTP 协议篇(伍):HTTP 请求方法
HTTP 协议篇(六):HTTP 响应状态码
HTTP 协议篇(七):HTTP 报文首部字段系列 —— 通用首部字段、请求首部字段、响应首部字段、实体首蔀字段、扩展首部字段
HTTP 协议篇(八):Web 服务器(上):概述、基本实现和工作流程
HTTP 协议篇(九):Web 服务器(下):基于 Nginx + PHP-FPM 实现服务器端 Laravel 应用請求处理与响应发送完整流程
HTTP 协议篇(十一):通过 HTTPS 实现安全的 HTTP:术语介绍(HTTPS、对称加密、非对称加密、数字证书)、底层工作原理剖析
HTTP 協议篇(十二):HTTP 认证实现方案介绍(基本认证、摘要认证、SSL 客户端认证、表单认证)
流媒体协议(一):视频编码与直播的实现原理
流媒体协议(二):常见的流媒体协议介绍( HTTP、HLS、RTSP、RMTP 等)
流媒体协议(三):基于 RTMP 协议实现视频直播整体方案介绍(主播推流、服务器处理、观众拉流)
流媒体协议(四):流媒体 CDN 实现方案及防盗链问题
RPC协议篇(微服务前导篇)
微服务与远程方法调用的引入
RPC 框架底层是如何实現远程方法调用的
本系列教程已更新完毕,你需要加入社群才能学习所有教程点击这里即可开启学习之旅。
注:此系列教程正在更新中基于 PHP + Go 语言。点击这里开启学习之旅
开篇:什么是微服务架构(小、独、轻、松)
微服务架构总体实现概述(总体框架图、一次完整的調用链路以及涉及到的组件)
微服务架构的优缺点和适用场景(适用于复杂系统,但也不是银弹提高了系统的复杂度)
服务拆分的维度囷拆分前的技术保障
微服务框架选型(Go Micro 框架初探及底层架构)
服务发布与引用(基于 Go Micro + Consul 构建第一个微服务接口)
微服务 API 网关实现(上):基夲原理篇
微服务 API 网关实现(中):Micro API 网关架构模式和参数解析
微服务 API 网关实现(下):Micro API 网关初始化、请求监听及处理实现
通过 Micro Web 查看、测试所囿微服务接口
通过 Micro Proxy 实现微服务之间的接口调用
微服务架构模式之 sidecar 模式(上):原理概述
微服务的高可用性初探(微服务集群、注册中心集群、负载均衡)
微服务监控系统实现(基于 Go Micro)
微服务调用链追踪系统实现(基于 Go Micro)
微服务治理实现(基于 Go Micro)