本文基于八股精 Python 题库中约 643 条 2025-2026 年有效面试记录,按代表题量降序梳理了字节跳动、腾讯、百度、快手、京东、Shopee 虾皮 6 家公司的常考知识点与代表真题,帮助你把有限的复习时间花在"目标公司真的会问"的地方。

一、字节跳动(代表题量 43):语言本体考得最细
核心结论:字节是本批数据中代表题量最多的公司(43 题),考察重心明显偏向 Python 语言机制本身------从装饰器到数据类型可变性,几乎每道题都在追问"你是否真的理解这门语言"。
常考知识点: 并发编程、内存管理、装饰器、单元测试、GIL、不可变性、哈希表键、大数据处理
真题示例(按被问次数取 Top 3):
- 简述 Python 中装饰器的作用与实现原理
- 请列举 Python 的基本数据类型,并说明哪些是可变的、哪些是不可变的,以及是否有序
- 在 Python 中,可变类型的列表(
list)和字典(dict)有哪些核心区别?
避坑/得分点:
- 装饰器不要只背"不改原函数加功能",要能现场写出一个带
functools.wraps的装饰器,并说清闭包与函数即对象的关系。 - 可变/不可变这类题是字节的"送分题也是送命题":
list、dict、set可变,str、tuple、int不可变,但 tuple 里装可变对象时内部仍可被修改------能主动点出这一层,通常就能拿到加分。 - 字节知识点里出现了"单元测试""大数据处理",说明除语言基础外,工程化能力也在考察范围内,复习时别只盯八股。
二、腾讯(代表题量 36):并发与"假多线程"是绝对主线
核心结论:腾讯 36 道代表题中,并发编程、协程、异步编程、GIL、进程与线程反复出现,可以认为"Python 并发模型"是腾讯面试的第一主线。
常考知识点: 并发编程、协程、异步编程、GIL、进程与线程、全局解释器锁、大数据处理、内存管理
真题示例(按被问次数取 Top 3):
- 请说明 Python 中
is和==的区别 - 多进程、多线程与协程的区别是什么?为何说 Python 中的多线程是"假的"
- 请阐述 Python 多线程的实现和应用场景
避坑/得分点:
- "多线程是假的"这个说法要会严谨展开:GIL 使同一进程内任一时刻只有一个线程执行字节码,CPU 密集型任务多线程提速有限;但 I/O 密集型场景多线程依然有效(线程在等待 I/O 时会释放 GIL)。只答"因为 GIL"而不提 I/O 场景,容易被判理解不深。
- 协程要能对比
asyncio与线程的调度差异:协程是用户态协作式调度,切换成本更低。 is与==是高频"暖场题",答清"身份比较 vs 值比较"之外,顺带提一句小整数缓存机制,印象分立刻不一样。
三、百度(代表题量 27):内存管理与跨语言对照
核心结论:百度 27 道代表题集中在并发、内存管理、垃圾回收、引用计数等"底层机制"类知识点,且真题中出现了 Java 相关题目,说明面试中可能存在跨语言对照式提问。
常考知识点: 并发编程、内存管理、GIL、垃圾回收、引用计数、集合元组列表、Python 数据结构、Python 对象实例化
真题示例(按被问次数取 Top 3):
- 简述 Java 中方法重载和重写的区别
- 请说明 Python 的全局解释器锁(GIL)的作用
- 你会如何结合使用 Python 的
multiprocessing多进程模块和threading多线程模块来提升整体任务的吞吐量?
避坑/得分点:
- 百度的并发题更偏"实战方案":第 3 题要求的是组合拳------CPU 密集部分用多进程绕开 GIL,I/O 密集部分用多线程/协程,答案要体现分工思路,而不是二选一。
- 垃圾回收建议按"引用计数为主 + 标记清除/分代回收处理循环引用"的框架回答,这也是其知识点列表中"引用计数"高频出现的原因。
- 如果你的简历写了多语言项目,注意百度可能真的会问 Java 基础(方法重载 vs 重写),不要只准备 Python。
四、快手(代表题量 18):装饰器 + Pandas 的数据工程味
核心结论:快手 18 道代表题带有明显的"数据处理 + 工程健壮性"色彩------装饰器、超时与重试、DataFrame 合并、Pandas 同时上榜,考察风格和其业务场景高度相关。
常考知识点: 装饰器、大数据处理、内存管理、超时与重试、DataFrame 合并、Pandas、元编程、Python 列表
真题示例(按被问次数取 Top 3):
- Python 中垃圾回收的机制是什么
- 请说明 Python 迭代器和生成器的区别
- 请实现一个装饰器,使其能够在函数抛出异常时自动重试 3 次
避坑/得分点:
- 第 3 题是典型手写题:重试装饰器要写对
try/except、循环计数和functools.wraps,最好再主动提"可加退避时间(backoff)参数",这正是其知识点里"超时与重试"的落地形态。 - 迭代器 vs 生成器:生成器是"语法糖化的迭代器",答出
yield惰性求值 + 节省内存(处理大文件/大数据流时的价值),能同时呼应"大数据处理"这一考点。 - 投快手数据方向岗位的同学,
pd.merge/concat的区别与参数(inner/outer、on/left_on)值得专门过一遍。
五、京东(代表题量 10):基础但偏应用操作
核心结论:京东代表题量为 10,样本相对有限,从真题看偏向文件操作、列表推导式等"日常编码能力",同时知识点列表中并发、GIL、装饰器、超时与重试仍在列,基础八股不能放。
常考知识点: 并发编程、GIL、超时与重试、装饰器、多线程
真题示例(按被问次数取 Top 3):
- 请说明 Python 编程基础中的文件操作相关知识
- 请简述 Python 的列表推导式
- 如果使用 Python,上述删除文件的操作怎么做?
避坑/得分点:
- 文件操作务必带上
with语句(上下文管理器自动关闭文件),并能说出r/w/a/rb等模式差异;删除文件答os.remove(),进阶可提shutil.rmtree()删目录、pathlib现代写法。 - 列表推导式别只写例子,可以顺带对比
map/filter与生成器表达式在内存上的差别。 - 由于样本较少,京东的具体考察侧重仅供参考,建议按通用八股 + 岗位 JD 准备。
六、Shopee 虾皮(代表题量 9):小样本,但并发与 GIL 追问链清晰
核心结论:虾皮代表题量仅 9,样本不足以下强结论,但真题呈现出清晰的追问链:进程/线程 → GIL → 线程安全,与其知识点列表(进程与线程、全局解释器锁、垃圾回收、引用计数、元编程、装饰器)高度吻合。
常考知识点: 进程与线程、全局解释器锁、垃圾回收、引用计数、元编程、装饰器、Python 列表、Python 字典
真题示例(按被问次数取 Top 3):
- Python 中的字典(
dict)是否是线程安全的 - 进程和线程的核心区别是什么?为什么在 Python 场景下该问题通常会被进一步追问到 GIL 相关内容?
- 简述 Python 中类方法、类实例方法、静态方法有何区别?
避坑/得分点:
- 第 1 题容易答错:CPython 中单个原子操作(如一次
d[k]=v)受 GIL 保护基本安全,但"检查再写入"这类复合操作并不安全,严谨的答法是"不保证业务层面的线程安全,需要threading.Lock"。 - 三种方法的区分记住三个装饰器:
@classmethod收cls、@staticmethod不收、实例方法收self,并各举一个使用场景(如工厂方法用类方法)。 - 虾皮是外企背景,可留意面试中是否涉及英文表述。
七、横向观察:数据告诉我们的三件事
- 并发与 GIL 是跨公司最大公约数。 字节、腾讯、百度、京东、虾皮 5 家的知识点列表中都出现了"并发编程"和/或"GIL",腾讯更是把协程、进程线程全部列上------准备任何一家,GIL 都是必修。
- 装饰器是手写代码的第一入口。 字节、快手、京东、虾皮均将装饰器列入常考知识点,且快手的 Top 3 真题直接要求现场实现"重试装饰器",光背概念不够,要能默写。
- 基础数据类型/可变性是"暖场必问"级别的存在。 字节的 Top 3 真题占了两道(基本数据类型可变性、list vs dict),腾讯 Top 1 是
isvs==,百度列了集合元组列表------这类题答不流畅,后面很难翻盘。
八、备考建议(可操作版)
- 先建"并发知识树"再刷题: 以 GIL 为根节点,向上传递到进程/线程/协程对比、
multiprocessing+threading组合方案(百度真题 3)、asyncio应用场景(腾讯侧重)。这条线能同时覆盖字节、腾讯、百度、京东、虾皮 5 家的核心考点。 - 手写练习三个装饰器: 计时装饰器、重试装饰器(快手真题 3)、带参数装饰器,每次都写
functools.wraps,练到 5 分钟内无 bug 完成。 - 把"数据类型三问"整理成表格: 每种类型的可变性、有序性、是否可作 dict 的键(呼应字节"哈希表键"考点),面试前扫一眼即可。
- 按公司定制最后一轮复习: 投字节补单元测试与大数据处理;投快手过一遍 Pandas 合并与超时重试;投百度准备垃圾回收细节(引用计数 + 分代)与可能的 Java 对照题;投虾皮重点演练"进程线程 → GIL → 线程安全"追问链。
- 垃圾回收按固定框架输出: "引用计数为主、标记清除与分代回收解决循环引用",这是快手、百度、虾皮三家共同的知识点交集,属于高性价比复习项。
数据来源于八股精(Python)约 643 条真实面试记录,覆盖 2025-2026;结论基于统计,仅供参考。