Python 后端开发计划
1. 基础语法
Section titled “1. 基础语法”要熟悉:
-
变量、基本数据类型
-
列表、元组、字典、集合
-
条件判断、循环
-
函数定义、参数传递
-
切片、推导式
-
异常处理
try/except -
文件读写
这些不只是会写,还要知道常见细节,比如:
-
列表和元组区别
-
is和==区别 is比较的是内存位置,== 比较值是否相等 -
浅拷贝和深拷贝区别 浅拷贝
-
可变对象和不可变对象
2. 面向对象编程
Section titled “2. 面向对象编程”后端开发里会经常接触类和对象,所以要掌握:
-
类和对象
-
__init__ -
封装、继承、多态
-
类变量、实例变量
-
静态方法、类方法
-
魔术方法,如
__str__、__repr__
常见面试题:
-
@staticmethod和@classmethod区别 -
Python中继承怎么实现
-
MRO 是什么
3. Python进阶知识
Section titled “3. Python进阶知识”这一部分能拉开差距。
重点掌握:
-
装饰器
-
迭代器、生成器
-
闭包
-
匿名函数
lambda -
*args和**kwargs -
上下文管理器
with -
模块与包
-
常用标准库:
os、sys、json、datetime、logging
如果面试稍微深入,还可能问:
-
GIL 是什么
-
进程、线程、协程区别
-
async/await基本概念 -
Python垃圾回收机制
二、后端开发核心知识
Section titled “二、后端开发核心知识”这是你找 Python 后端实习最关键的一块。
1. HTTP 和 Web基础
Section titled “1. HTTP 和 Web基础”后端本质上就是处理请求和返回响应,所以你一定要懂:
-
HTTP 请求方法:GET、POST、PUT、DELETE
-
状态码:200、301、400、401、403、404、500
-
请求头、响应头
-
JSON 数据格式
-
Cookie、Session
-
Token、JWT
-
前后端分离的基本模式
至少要能讲清楚:
-
浏览器发请求后发生了什么
-
GET 和 POST 区别
-
Cookie 和 Session 区别
-
JWT 适合什么场景
2. Web框架
Section titled “2. Web框架”Python后端实习,最常见的框架是:
-
Django
-
Flask
-
FastAPI
建议学习顺序
Section titled “建议学习顺序”如果你是初学者:
-
想快速理解后端:先学 Flask
-
想走企业开发、功能完整:再学 Django
-
想接触现代接口开发:学 FastAPI
至少要掌握的能力
Section titled “至少要掌握的能力”无论学哪个框架,都要会:
-
路由
-
视图函数 / 接口处理
-
参数接收
-
返回 JSON
-
中间件基本概念
-
配置管理
-
日志
-
错误处理
如果学 Django
Section titled “如果学 Django”建议重点掌握:
-
MTV 模式
-
路由系统
-
ORM
-
模板基本了解
-
Admin后台
-
表单
-
用户认证
如果学 Flask / FastAPI
Section titled “如果学 Flask / FastAPI”建议重点掌握:
-
路由定义
-
蓝图 / 路由拆分
-
请求参数校验
-
ORM集成
-
接口文档
-
依赖注入(FastAPI里比较常见)
三、数据库是重点
Section titled “三、数据库是重点”后端开发离不开数据库,这部分非常重要。
1. MySQL
Section titled “1. MySQL”必须掌握基本 SQL:
-
select -
insert -
update -
delete -
where -
order by -
group by -
limit -
多表查询
join -
索引基本概念
至少要明白:
-
主键、外键
-
唯一约束
-
索引的作用
-
事务是什么
-
什么情况下会慢查询
面试很爱问:
-
left join和inner join区别 -
索引为什么能加快查询
-
事务的四大特性 ACID
-
MySQL 索引失效常见场景
实习生不一定要求你答得特别深,但一定要有基础。
2. ORM
Section titled “2. ORM”实际开发里,Python后端经常不会直接手写很多 SQL,而是用 ORM。
常见 ORM:
-
Django ORM
-
SQLAlchemy
你至少要会:
-
建表映射
-
增删改查
-
条件过滤
-
分页
-
一对多、多对多关系
3. Redis
Section titled “3. Redis”很多实习岗位也会提到 Redis。
你不一定要学到很深,但至少要知道:
-
Redis 是内存数据库
-
常见数据结构:string、list、set、hash、zset
-
使用场景:缓存、计数器、排行榜、分布式锁
-
为什么 Redis 快
-
缓存穿透、缓存击穿、缓存雪崩基本概念
四、计算机基础不能太弱
Section titled “四、计算机基础不能太弱”很多同学只学框架,不学基础,面试时容易吃亏。
1. 数据结构与算法
Section titled “1. 数据结构与算法”实习岗通常不会要求特别难,但至少要会:
-
数组
-
链表
-
栈
-
队列
-
哈希表
-
二叉树基础
-
排序和查找
-
双指针、滑动窗口、二分、DFS/BFS
刷题建议:
-
先把常见题型练熟
-
不求特别难,但要能讲思路和复杂度
2. 计算机网络
Section titled “2. 计算机网络”后端常问:
-
TCP 和 UDP 区别
-
三次握手、四次挥手
-
HTTP 和 HTTPS 区别
-
输入网址后发生了什么
-
DNS 是什么
3. 操作系统
Section titled “3. 操作系统”至少了解:
-
进程和线程区别
-
并发和并行区别
-
死锁基本概念
-
用户态和内核态
-
内存管理基础
五、Linux 和开发工具必须会一点
Section titled “五、Linux 和开发工具必须会一点”企业里后端开发通常不会只在本地跑代码。
1. Linux基础
Section titled “1. Linux基础”至少会这些命令:
-
ls -
cd -
pwd -
mkdir -
rm -
cp -
mv -
cat -
grep -
tail -
ps -
top -
netstat或类似命令
还要知道:
-
权限基本概念
-
如何运行 Python 程序
-
如何看日志
2. Git
Section titled “2. Git”这个几乎是必备。
至少会:
-
git clone -
git add -
git commit -
git push -
git pull -
git branch -
git merge
最好还知道:
-
解决简单冲突
-
提交规范
-
分支开发流程
3. 虚拟环境和依赖管理
Section titled “3. 虚拟环境和依赖管理”要会:
-
venv -
pip -
requirements.txt
如果你会 Poetry、conda 会更好,但不是必须。
六、项目能力非常重要
Section titled “六、项目能力非常重要”找实习时,项目比证书更重要。
因为面试官最想知道的是:
你到底有没有真正写过后端项目。
建议你至少做 2 个项目
Section titled “建议你至少做 2 个项目”项目1:基础管理系统
Section titled “项目1:基础管理系统”比如:
-
用户管理系统
-
博客系统
-
图书管理系统
-
简单商城后台
要求:
-
用户注册/登录
-
增删改查
-
权限控制
-
数据库存储
-
分页查询
-
接口文档
项目2:稍微有亮点的项目
Section titled “项目2:稍微有亮点的项目”比如:
-
带 Redis 缓存的热点文章系统
-
带 JWT 登录认证的前后端分离项目
-
带异步任务的消息通知系统
-
用 FastAPI 写的接口服务
-
爬虫 + 后端管理平台
亮点可以体现在:
-
权限设计
-
缓存优化
-
接口规范
-
部署上线
-
Docker 使用
-
日志与异常处理
这些不是必须,但有会很加分。
1. Docker
Section titled “1. Docker”会这些就不错:
-
镜像、容器概念
-
Dockerfile
-
docker run -
docker-compose
2. 消息队列
Section titled “2. 消息队列”比如:
-
RabbitMQ
-
Kafka
实习生知道基本用途即可:
-
解耦
-
削峰
-
异步处理
3. 接口文档工具
Section titled “3. 接口文档工具”比如:
-
Swagger / OpenAPI
-
Postman
要会测试接口、写接口文档。
4. 部署基础
Section titled “4. 部署基础”了解:
-
Nginx 反向代理
-
Gunicorn / uWSGI
-
项目部署流程