IT 基础
在本模块中,我们应该弥补软件工程基础和后端开发主要主题的所有空白。
IMFO:应用型 AI 工程师不必是后端开发专家,但您自己应该深入研究,并跳过熟悉的主题。
- 想更快地开始开发代理? - 对这些主题进行表面学习 - 在工业开发过程中再深入研究 SWE。
- 对于全职学习者:每个模块花费 0.5-1 天
- 对于兼职学习者:每个模块花费 1-2 天
- 想要深入的知识? - 对未来的架构师很有用
- 对于全职学习者:每个模块花费 1-2 天,粗略地浏览 Extra/Silver 部分
- 对于兼职学习者:每个模块花费 2-4 天,粗略地浏览 Extra/Silver 部分
由于这些主题不会随时间变化,因此最好通过个人导师 - ChatGPT 来学习它们。
学习过程应如下:
- 您为 ChatGPT 编写一个系统提示词(模板),在其中描述您的背景、偏好、解释的详细程度等。
- 从列表中复制主题(三击),并要求 ChatGPT 向您解释该主题
- 如果您想深入研究,请提出澄清问题
目前,这是学习基础知识最方便的方法。除了概念之外,您还可以在 Gold、Silver、Extra 部分学习其他材料。
- Gold - 在与 ChatGPT 交流之前一定要学习
- Ask AI - 提出关于每个不熟悉主题的问题
- Silver - 次要材料
- Extra - 深入的主题
Gold
1. 未分组
ByteByteGo 的系统设计基础
ByteByteGo 的视频
2. Git 和 Github
Git 和 Github
Ask AI
与 ChatGPT 顺序学习的主题(按类别分组):
网络基础和协议
互联网如何运作
-
HTTP vs HTTPS:关键差异和对安全性的影响
-
TCP/IP:基本工作原理(简述)
-
HTTP 状态码:实际应用 (2xx, 4xx, 5xx)
HTTP 状态码:分类和使用 (2xx, 4xx, 5xx),简述
-
WebSockets vs HTTP Long Polling:方法比较(概念)
-
CORS:为跨域请求配置安全性
CORS in 100 Seconds
API 和 Web 服务架构
-
REST vs SOAP:初学者比较
-
Stateless vs Stateful:可扩展性的优势
-
CRUD 操作:基本数据处理模式
-
RESTful API:6 个关键设计原则
-
API 版本控制:向后兼容的策略
-
OpenAPI/Swagger:自动化文档(概述)
-
GraphQL vs REST:技术选择标准
GraphQL vs REST:何时使用
-
Webhooks:实现异步通知
Webhooks:工作机制和应用
-
API Gateway:架构模式(概述)
API Gateway:在微服务架构中的作用
-
API 速率限制:防止 DDoS 和滥用
-
微服务 vs 单体:权衡分析
微服务 vs 单体:何时使用
开发和测试原则
-
SOLID:在后端中的实际应用
-
DRY/KISS/YAGNI:反模式和解决方案
-
后端测试:测试金字塔(比较)
Top 9 Most Popular Types of API Testing
-
TDD:初学者工作流程
-
A/B 测试:架构方法
-
Feature flags:发布管理(简述)
-
SemVer:实践中的语义版本控制
-
结构化日志:最佳实践
-
监控:关键 SLA 指标
- **错误处理和日志记录:**标准方法,中间件
- 代理服务器
Git 和 CI/CD
- Git-flow:团队中的分支策略
- CI/CD:从提交到生产环境的管道
安全性和身份验证
-
JWT:在微服务中实现令牌
JWT 令牌:结构和使用方法
-
OAuth2:API 的授权流程
OAuth2:授权原则
-
密码哈希:现代安全标准
密码哈希:安全存储凭据
-
Secret management:Vault 和类似工具(概述)
12 tips for API security
异步和并行
- 异步编程:事件循环和回调(概念以及与同步代码的比较)
- 多线程 vs 多进程:Python 特性(概念和主要区别)
- Python GIL:问题概述和解决方法
- asyncio:使用协程的基础知识(实际使用示例)
- 后台任务:队列和调度(通过 Celery/Redis 实现)
架构模式
架构模式
- 依赖注入:实际依赖注入(控制反转)
- 工厂模式:通过工厂创建对象(概念以及与其他模式的比较)
- Singleton:全局资源和反模式(初学者概述)
- 数据验证:Pydantic/Schema 模型(关键库和方法)
- 对象序列化:JSON/Protobuf/MessagePack(格式和传输优化)
- API 幂等性:保证操作只执行一次
附加主题
- **Agile, Scrum, Kanban:**基本开发方法(概念和比较)
- **软件开发生命周期 (SDLC):**开发阶段、计划、代码审查(初学者概述)
- **DevOps:**主要原则和工具(关键方面概述)
- **负载均衡:**基本原则和工具(概念和方法比较)
Silver
System Design Fundamentals Playlist - by ByteByteGo