后端与工程
后端系统设计
核心四板斧:限流 → 缓存扣减 → 异步落库 → 最终一致。 1. 前端/网关限流:按钮置灰防重复、Nginx/网关限流、答题验证码削峰。 2. 库存预热到 Redis:下单先在 Redis 用原子操作扣减,扛住高并发,DB 不直接顶流量。
后端与工程
核心四板斧:限流 → 缓存扣减 → 异步落库 → 最终一致。 1. 前端/网关限流:按钮置灰防重复、Nginx/网关限流、答题验证码削峰。 2. 库存预热到 Redis:下单先在 Redis 用原子操作扣减,扛住高并发,DB 不直接顶流量。
后端与工程
基于 Starlette(异步 Web 框架)+ Pydantic(数据验证序列化)。特点:高性能(与 NodeJS/Go 相当)、支持 ASGI(异步)、依赖注入(Depends)、自动生成 API 文档。
后端与工程
本文系统梳理数据库与并发核心知识:B+树因固定查询复杂度、叶节点链表支持范围查询成为主流索引;MVCC通过快照实现读写不互斥,MySQL默认可重复读隔离级别,读已提交每次新建快照;SQL优化需用索引、聚合优先、建临时表,大数据量可采用宽表和ClickHouse分区分桶;ClickHouse的列式存储与ReplacingMergeTree适合聚合与增量去重;Elasticsearch依赖倒排索引、分片副本和缓存实现高效召回;多线程需注意竞态条件与死锁,守护线程随主线程结束自动终止;经典SQL题通过自关联和分组统计筛选在≥3家网吧出现时间重叠的用户对。掌握这些知识可提升系统设计与查询优化能力。
后端与工程
Python核心基础8大模块:数据类型分不可变(数字、字符串、元组)与可变(列表、字典、集合),影响赋值与内存;装饰器通过函数或类动态增强行为,可用作速率限制等;迭代器实现`__next__`协议,生成器用`yield`逐步产生值,内存高效;GIL使CPU密集型任务多线程效率低,建议用多进程,I/O密集型可用多线程或异步;反射用`getattr`等动态调用,GC以引用计数为主、标记清除和分代回收为辅,上下文管理器通过`__enter__/__exit__`自动释放资源;`==`默认比较地址,`__eq__`可自定义相等逻辑;`re`模块支持匹配、替换、分割及预编译和分组;常用内置函数如`map`、`filter`、`zip`提升编码效率。理解这些基石可应对面试、优化代码并解决实际问题。