需要学习的东西

需要学习的东西
短期

天数 重点攻克方向 必背/必懂的核心知识点 (面试高频) 实战/模拟动作 (必须做)
Day 1 Swoole/Hyperf 深度 1. 进程模型:Master/Manager/Worker/Task 进程职责及通信方式。
2. 协程原理:协程切换开销、上下文保留、协程陷阱(如全局变量污染)。
3. 内存管理:内存泄漏排查思路,swoole_table vs Redis。
4. 热重载:原理及生产环境注意事项。
本地启动一个 Hyperf 服务,故意制造内存泄漏或死锁,学会用 swoole_cli -v 和日志分析。
Day 2 MQTT & 物联网 (IoT) 1. 协议对比:MQTT vs HTTP vs WebSocket (为什么 IoT 选 MQTT?轻量、发布订阅、QoS)。
2. QoS 级别:0, 1, 2 的区别及应用场景 (如何保证消息不丢失/不重复)。
3. 心跳机制:Keep Alive, Last Will (遗嘱消息)。
4. 海量连接:单机百万连接怎么做?(文件描述符限制、内核调优、网关层设计)。
用 PHP 或 Go 写一个简单的 MQTT Publisher/Subscriber Demo (使用 php-mqtt/client 或 paho.mqtt.golang)。理解 Topic 设计。
Day 3 高并发架构设计 1. 分层架构:接入层 (Nginx/LVS) -> 网关层 -> 业务层 -> 数据层。
2. 流量治理:限流 (令牌桶/漏桶)、熔断、降级策略。
3. 异步解耦:同步转异步的典型场景 (注册、下单、日志)。
4. 缓存策略:多级缓存 (Local + Redis)、缓存一致性方案 (延时双删/Canal)。
画一张你过往项目的“高并发架构图”,标注出哪里用了限流,哪里用了缓存,哪里用了异步。
Day 4 消息队列 (Kafka/RabbitMQ) 1. 选型理由:为什么选 Kafka (高吞吐/日志) 或 RabbitMQ (低延迟/可靠性)?
2. 三大难题:消息丢失、重复消费 (幂等性设计)、消息积压 (如何紧急扩容处理)。
3. 顺序消息:如何保证局部有序?
4. 事务消息:最终一致性方案。
准备一个“消息积压处理”的剧本:发现积压 -> 临时扩容消费者 -> 丢弃非核心日志 -> 修复 Bug -> 恢复。
Day 5 分布式事务 & 数据库 1. CAP/BASE:理论在实际中的取舍。
2. 解决方案:TCC、Saga、本地消息表 (最常用)、最大努力通知。
3. 分库分表:拆分键选择、扩容迁移方案、跨库 Join 问题。
4. 锁机制:分布式锁 (Redis/Zookeeper) 的实现与坑 (锁过期/重入)。
梳理一个业务场景 (如:支付成功回调),设计一套保证数据最终一致的流程。
Day 6 Go 语言速成 (针对微服务) 1. GMP 模型:一句话讲清楚 Goroutine 调度。
2. Channel:有缓冲 vs 无缓冲,Context 控制超时取消。
3. 微服务组件:gRPC (Protobuf) 优势,服务发现。
4. 性能优势:为什么 Go 适合网关和 IoT 接入层?
用 Go 写一个极简的 gRPC Server,被 PHP 调用。理解混合架构的优势。
Day 7 复盘 & 简历优化 1. 整理故事:将上述知识点融入你过往的项目经历中。
2. 模拟面试:自问自答,“如果 QPS 突然翻 10 倍,你的系统哪里先挂?怎么救?”
修改简历:把“熟悉 Swoole”改为“基于 Swoole/Hyperf 重构核心模块,支撑 xx 万长连接”;把“用过 MQTT”改为“设计 IoT 设备接入网关,解决海量设备心跳风暴问题”。

长期

分类 核心知识点 (必须掌握) 进阶/加分项 (架构师方向) 推荐学习方式/资源
PHP 深度 1. Hyperf/Swoole 原理:协程切换、事件循环、进程间通信
2. 依赖注入/AOP:深入理解容器实现
3. 性能调优:OpCache, JIT, 内存泄漏排查
1. 自定义 Swoole 扩展 (C 语言基础)
2. 自研 RPC 框架原理
3. PHP-FPM 与 Swoole 混合架构演进
阅读 Hyperf 源码;
《Swoole 官方文档》;
极客时间《PHP 进阶》
Go 语言 1. GMP 模型:调度原理
2. 并发原语:Channel, Mutex, WaitGroup, Context
3. 内存管理:GC 机制,逃逸分析
1. 高并发下的 Lock-free 编程
2. Go 性能分析 (pprof) 实战
3. 微服务框架源码 (Go-Zero/Kratos)
《Go 语言实战》;
Go 官方 Blog;
动手写一个 gRPC 服务
中间件
(Redis/MQ)
1. Redis:数据结构底层、持久化、集群、分布式锁、缓存一致性
2. Kafka:架构原理、ACK 机制、重平衡、积压处理
1. Redis 源码阅读 (SDS, Dict)
2. 消息队列选型对比 (Kafka vs RocketMQ vs Pulsar)
3. 异地多活消息同步方案
《Redis 设计与实现》;
Kafka 官方文档;
本地搭建集群压测
搜索/DB 1. MySQL:索引优化、事务隔离级别、锁机制、Explain 分析
2. ES:倒排索引、Mapping 设计、查询优化
1. 分库分表策略 (ShardingSphere)
2. ES 集群扩容与脑裂处理
3. NewSQL (TiDB) 了解
《高性能 MySQL》;
Elasticsearch 权威指南
云原生
(DevOps)
1. Docker:镜像构建优化、网络存储
2. K8s 基础:Pod 生命周期、Service 发现、故障排查命令
1. Helm Chart 编写
2. Service Mesh (Istio) 概念
3. 可观测性 (Prometheus + Grafana + SkyWalking)
K8s 官方文档;
在本地用 Minikube 练习
系统设计 1. 高可用:限流、熔断、降级、超时重试
2. 高并发:缓存策略、异步解耦、读写分离
1. CAP/BASE 理论实战
2. 分布式事务方案 (TCC, Saga, 本地消息表)
3. 海量数据分片策略
《系统架构设计师教程》;
GitHub 上的 "System Design Primer"
软技能 1. 技术选型决策能力
2. 故障复盘与根因分析
3. 团队管理与代码 Review
1. 技术规划与路线图制定
2. 跨部门沟通与协作
3. 成本控制 (云资源优化)
整理过往项目的“至暗时刻”及解决方案
posted @ 2026-02-27 21:02  py卡卡  阅读(53)  评论(0)    收藏  举报