- 1. Python 基础知识
- 1.1 语言特征及编码规范
- 1.2 文件 I/O 操作
- 1.3 数据类型
- 1.3.1 Python 中的可变和不可变数据类型是什么?
- 1.3.2 is 和 == 有什么区别?
- 1.3.3 Python 中的单词大小写转换和字母统计?
- 1.3.4 字符串,列表,元组如何反转?反转函数 reverse 和 reversed 的区别?
- 1.3.5 Python 中的字符串格式化的方法有哪些?f-string 格式化知道吗?
- 1.3.6 含有多种符号的字符串分割方法?
- 1.3.7 嵌套列表转换为列表,字符串转换为列表的方法
- 1.3.8 列表合并的常用方法?
- 1.3.9 列表如何去除重复的元素,还是保持之前的排序?
- 1.3.10 列表数据如何筛选,筛选出符合要求的数据?
- 1.3.11 字典中元素的如何排序?sorted 排序函数的使用详解?
- 1.3.12 字典如何合并?字典解包是什么?
- 1.3.13 字典推导式使用方法?字典推导式如何格式化 cookie 值?
- 1.3.14 zip 打包函数的使用?元组或者列表中元素生成字典?
- 1.3.15 字典的键可以是哪些类型的数据?
- 1.3.16 变量的作用域是怎么决定的?
- 1.4 常用内置函数
- 2. Python 高级语法
- 2.1 类和元类
- 2.2 高级用法(装饰器、闭包、迭代器、生成器)
- 2.2.1 编写函数的四个原则是什么?
- 2.2.2 函数调用参数的传递方式是值传递还是引用传递?
- 2.2.3 Python 中 pass 语句的作用是什么?
- 2.2.4 闭包函数的用途和注意事项?
- 2.2.5 *args 和 **kwargs 的区别?
- 2.2.6 位置参数、关键字参数、包裹位置参数、包裹关键字参数执行顺序及使用注意?
- 2.2.7 如何进行参数拆包?
- 2.2.8 装饰器函数有什么作用?装饰器函数和普通函数有什么区别?
- 2.2.9 带固定参数和不定参数的装饰器有什么区别?
- 2.2.10 描述一下一个装饰器的函数和多个装饰器的函数的执行步骤?
- 2.2.11 知道通用装饰器和类装饰器吗?
- 2.2.12 浅拷贝和深拷贝的区别?
- 2.2.13 元组的拷贝要注意什么?
- 2.2.14 全局变量是否一定要使用 global 进行声明?
- 2.2.15 可迭代对象和迭代器对象有什么区别?
- 2.2.16 描述一下 for 循环执行的步骤?
- 2.2.17 迭代器就是生成器,生成器一定是迭代器,这句话对吗?
- 2.2.18 yield 关键字有什么好处?
- 2.2.19 yield 和 return 关键字的关系和区别?
- 2.2.20 简单描述一下 yield 生成器函数的执行步骤?
- 2.2.21 生成器函数访问方式有哪几种?生成器函数中的 send() 有什么作用?
- 2.2.22 Python 中递归的最大次数?
- 2.2.23 递归函数停止的条件是什么?
- 2.4 模块
- 2.5 面向对象
- 2.6 设计模式
- 2.7 内存管理
- 3. 系统编程
- 3.1 多进程、多线程、协程、并行、并发、锁
- 3.1.1 并发与并行的区别和联系?
- 3.1.2 程序中的同步和异步与现实中一样吗?
- 3.1.3 进程、线程、协程的区别和联系?
- 3.1.4 多进程和多线程的区别?
- 3.1.5 协程的优势是什么?
- 3.1.6 多线程和多进程分别用于哪些场景?
- 3.1.7 全局解释器锁(GIL)是什么?如何解决 GIL 问题?
- 3.1.8 Python 中有哪些锁(LOCK)?它们分别有什么作用?
- 3.1.9 Python 中如何实现多线程和多进程?
- 3.1.10 守护线程和非守护线程是什么?
- 3.1.11 多线程的执行顺序是什么样的?
- 3.1.12 多线程非安全是什么意思?
- 3.1.13 互斥锁是什么?有什么好处和坏处?
- 3.1.14 什么是僵尸进程和孤儿进程?
- 3.1.15 多线程和多进程如何实现通信?
- 3.1.16 Python 3 中 multiprocessing.Queue() 和 queue.Queue() 的区别?
- 3.1.17 如何使用多协程并发请求网页?
- 3.1.18 简单描述一下 asyncio 模块实现异步的原理?
- 3.1 多进程、多线程、协程、并行、并发、锁
- 4. 网络编程
- 4.1 TCP UDP HTTP SEO WSGI 等
- 4.1.1 UDP 和 TCP 有什么区别以及各自的优缺点?
- 4.1.2 IP 地址是什么?有哪几类?
- 4.1.3 举例描述一下端口有什作用?
- 4.1.4 不同电脑上的进程如何实现通信的?
- 4.1.5 列举一下常用网络通信名词?
- 4.1.6 描述一下请求一个网页的步骤(浏览器访问服务器的步骤)?
- 4.1.7 HTTP 与 HTTPS 协议有什么区别?
- 4.1.8 TCP 中的三次握手和四次挥手是什么?
- 4.1.9 TCP 短连接和长连接的优缺点?各自的应用场景?
- 4.1.10 TCP 第四次挥手为什么要等待 2MSL?
- 4.1.11 HTTP 最常见的请求方法有哪些?
- 4.1.12 GET 请求和 POST 请求有什么区别?
- 4.1.13 cookie 和 session 的有什么区别?
- 4.1.14 七层模型和五层模型是什么?
- 4.1.15 HTTP 协议常见状态码及其含义?
- 4.1.16 HTTP 报文基本结构?列举常用的头部信息?
- 4.1.17 SEO 是什么?
- 4.1.18 伪静态 URL、静态 URL 和动态 URL 的区别?
- 4.1.19 浏览器镜头请求和动态请求过程的区别?
- 4.1.20 WSGI 接口有什么好处?
- 4.1.21 简单描述浏览器通过 WSGI 接口请求动态资源的过程?
- 4.1 TCP UDP HTTP SEO WSGI 等
- 5. 数据库
- 5.1 MySQL
- 5.1.1 NoSQL 和 SQL 数据库的比较?
- 5.1.2 了解 MySQL 的事物吗?事物的四大特性是什么?
- 5.1.3 关系型数据库的三范式是什么?
- 5.1.4 关系型数据库的核心元素是什么?
- 5.1.5 简单描述一下 Python 访问 MySQL 的步骤?
- 5.1.6 写一个 Python 连接操作 MySQL 数据库实例?
- 5.1.7 SQL 语句主要有哪些?分别有什么作用?
- 5.1.8 MySQL 有哪些常用的字段约束?
- 5.1.9 什么是视图?视图有什么作用?
- 5.1.10 什么是索引?索引的优缺点是什么?
- 5.1.11 NULL 是什么意思?它和空字符串一样吗?
- 5.1.12 主键、外键和索引的区别?
- 5.1.13 char 和 varchar 的区别?
- 5.1.14 SQL 注入是什么?如何避免 SQL 注入?
- 5.1.15 存储引擎 MyISAM 和 InnoDB 有什么区别?
- 5.1.16 MySQL 中有哪些锁?
- 5.1.17 三种删除操作 drop、truncate、delete 的区别?
- 5.1.18 MySQL 中的存储过程是什么?有什么优点?
- 5.1.19 MySQL 数据库的有哪些种类的索引?
- 5.1.20 MySQL 的事务隔离级别?
- 5.1.21 MySQL 中的锁如何进行优化?
- 5.1.22 解释 MySQL 外连接、内连接与自连接的区别?
- 5.1.23 如何进行 SQL 优化?
- 5.1.24 什么是 MySQL 主从?主从同步有什么好处?
- 5.1.25 MySQL 主从与 MongoDB 副本集有什么区别?
- 5.1.26 MySQL 账户权限怎么分类的?
- 5.1.27 如何使用 Python 面向对象操作 MySQL 数据库?
- 5.2 Redis
- 5.2.1 Redis 是什么?常见的应用场景?
- 5.2.2 Redis 常见数据类型有哪些?各自有什么应用场景?
- 5.2.3 非关系型数据库 Redis 和 MongoDB 数据库的结构有什么区别?
- 5.2.4 Redis 和 MongoDB 数据库的键(key)和值(value)的区别?
- 5.2.5 Redis 持久化机制是什么?有哪几种方式?
- 5.2.6 Redis 的事务是什么?
- 5.2.7 为什么要使用 Redis 作为缓存?
- 5.2.8 Redis 和 Memcached 的区别?
- 5.2.9 Redis 如何设置过期时间和删除过期数据?
- 5.2.10 Redis 有哪几种数据淘汰策略?
- 5.2.11 Redis 为什么是单线程的?
- 5.2.12 单线程的 Redis 为什么这么快?
- 5.2.13 缓存雪崩和缓存穿透是什么?如何预防解决?
- 5.2.14 布隆过滤器是什么?
- 5.2.15 简单描述一下什么是缓存预热、缓存更新和缓存降级?
- 5.2.16 如何解决 Redis 的并发竞争 Key 的问题?
- 5.2.17 写一个 Python 连接操作 Redis 数据库实例?
- 5.2.18 什么是分布式锁?
- 5.2.19 Python 如何实现一个 Redis 分布式锁?
- 5.2.20 如何保证缓存与数据库双写时的数据一致性?
- 5.2.21 集群是什么?Redis 有哪些集群方案?
- 5.2.22 Redis 常见性能问题和解决方案?
- 5.2.23 了解 Redis 的同步机制么?
- 5.2.24 如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
- 5.2.25 如何使用 Redis 实现异步队列?
- 5.2.26 列举一些常用的数据库可视化工具?
- 5.3 MongoDB
- 5.3.1 NoSQL 数据库主要分为哪几种?分别是什么?
- 5.3.2 MongoDB 的主要特点及适用于哪些场合?
- 5.3.3 MongoDB 中的文档有哪些特性?
- 5.3.4 MongoDB 中的 key 命名要注意什么?
- 5.3.5 MongoDB 数据库使用时要注意的问题?
- 5.3.6 常用的查询条件操作符有哪些?
- 5.3.7 MongoDB 常用的管理命令有哪些?
- 5.3.8 MongoDB 为何使用 GridFS 来存储文件?
- 5.3.9 如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
- 5.3.10 分析器在 MongoDB 中的作用是什么?
- 5.3.11 MongoDB 中的名字空间(namespace)是什么?
- 5.3.12 更新操作会立刻 fsync 到磁盘吗?
- 5.3.13 什么是 master 或 primary?什么是 secondary 或 slave?
- 5.3.14 必须调用 getLastError 来确保写操作生效了么?
- 5.3.15 MongoDB 副本集原理及同步过程?
- 5.3.16 MongoDB 中的分片是什么意思?
- 5.3.17 “ObjectID”有哪些部分组成?
- 5.3.18 在 MongoDB 中什么是索引?
- 5.3.19 什么是聚合?
- 5.3.20 写一个 Python 连接操作 MongoDB 数据库实例?
- 5.1 MySQL
- 6. 数据解析提取
- 6.1 正则表达式
- 6.1.1 match、search 和 findall 有什么区别?
- 6.1.2 正则表达式的 ()、[]、{} 分别代表什么意思?
- 6.1.3 正则表达式中的 .*、.+、.*?、.+? 有什么区别?
- 6.1.4 .*? 贪婪匹配的一种特殊情况?当 * 和 ? 中间有一个字符会怎么样?
- 6.1.5 \s 和 \S 是什么意思?re.S 是什么意思?
- 6.1.6 写一个表达式匹配座机或者手机号码?
- 6.1.7 正则表达式检查 Python 中使用的变量名是否合法?
- 6.1.8 正则表达式检查邮箱地址是否符合要求?
- 6.1.9 如何使用分组匹配 HTML 中的标签元素?
- 6.1.10 如何使用 re.sub 去掉“028-00112233 # 这是一个电话号码”# 和后面的注释内容?
- 6.1.11 re.sub 替换如何支持函数调用?举例说明?
- 6.1.12 如何只匹配中文字符?
- 6.1.13 如何过滤评论中的表情?
- 6.1.14 Python 中的反斜杠 \ 如何使用正则表达式匹配?
- 6.1.15 如何提取出下列网址中的域名?
- 6.1.16 去掉 'ab;cd%e\tfg,,jklioha;hp,vrww\tyz' 中的符号,拼接为一个字符串?
- 6.1.17 str.replace 和 re.sub 替换有什么区别?
- 6.1.18 如何使用重命名分组修改日期格式?
- 6.1.19 (?:x) a(?=x) a(?!=x) (?<=x)a (?
- 6.2 XPath
- 6.2.1 XML 是什么?XML 有什么用途?
- 6.2.2 XML 和 HTML 之间有什么不同?
- 6.2.3 描述一下 XML lxml XPath 之间有什么关系?
- 6.2.4 介绍一下 XPath 的节点?
- 6.2.5 XPath 中有哪些类型的运算符?
- 6.2.6 XPath 中的 ///、./、../、.// 别有什么区别?
- 6.2.7 XPath 中如何同时选取多个路径?
- 6.2.8 XPath 中的 * 和 @* 分别表示什么含义?
- 6.2.9 如何使用位置属性选取节点中的元素?
- 6.2.10 XPath 中如何多条件查找?
- 6.2.11 Scrapy 和 lxml 中的 XPath 用法有什么不同?
- 6.2.12 用过哪些常用的 XPath 开发者工具?
- 6.3 BeautifulSoup4
- 6.3.1 BeautifulSoup4 是什么?有什么特点?
- 6.3.2 三种解析工具:正则表达式 lxml BeautifulSoup4 各自有什么优缺点?
- 6.3.3 etree.parse()、etree.HTML() 和 etree.tostring() 有什么区别?
- 6.3.4 BeautifulSoup4 支持的解析器以及它们的优缺点?
- 6.3.5 BeautifulSoup4 中的四大对象是什么?
- 6.3.6 BeautifulSoup4 中如何格式化 HTML 代码?
- 6.3.7 BeautifulSoup4 中 find 和 find_all 方法的区别?
- 6.3.8 string、strings 和 stripped_strings 有什么区别?
- 6.3.9 BeautifulSoup4 输出文档的编码格式是什么?
- 6.1 正则表达式
- 7. 网络爬虫
- 7.1 网络爬虫是什么?它有什么特征?
- 7.2 Python 中常用的爬虫模块和框架有哪些?它们有什么优缺点?
- 7.3 搜索引擎中的 ROBOTS 协议是什么?
- 7.4 urlib 和 requests 库请求网页有什么区别?
- 7.5 网页中的 ASCII Unicode UTF-8 编码之间的关系?
- 7.6 urllib 如何检测网页编码?
- 7.7 urllib 中如何使用代理访问网页?
- 7.8 如果遇到不信任的 SSL 证书,如何继续访问?
- 7.9 如何提取和使用本地已有的 cookie 信息?
- 7.10 requests 请求中出现乱码如何解决?
- 7.11 requests 库中 response.text 和 response.content 的区别?
- 7.12 实际开发中用过哪些框架?
- 7.13 Scrapy 和 PySpider 框架主要有哪些区别?
- 7.14 Scrapy 的主要部件及各自有什么功能?
- 7.15 描述一下 Scrapy 爬取一个网站的工作流程?
- 7.16 Scrapy 中的中间件有什么作用?
- 7.17 Scrapy 项目中命名时候要注意什么?
- 7.18 Scrapy 项目中的常用命令有哪些?
- 7.19 scrapy.Request() 中的 meta 参数有什么作用?
- 7.20 Python 中的协程阻塞问题如何解决?
- 7.21 Scrapy 中常用的数据解析提取工具有哪些?
- 7.22 描述一下 Scrapy 中数据提取的机制?
- 7.23 Scrapy 是如何实现去重的?指纹去重是什么?
- 7.24 Item Pipeline 有哪些应用?
- 7.25 Scrapy 中常用的调试技术有哪些?
- 7.26 Scrapy 中有哪些常见异常以及含义?
- 7.27 Spider、CrawlSpider、XMLFeedSpider 和 RedisSpider 有什么区别?
- 7.28 scrapy-redis 是什么?相比 Scrapy 有什么优点?
- 7.29 使用 scrapy-redis 分布式爬虫,需要修改哪些常用的配置?
- 7.30 常见的反爬虫措施有哪些?如何应对?
- 7.31 BloomFitler 是什么?它的原理是什么?
- 7.32 为什么会用到代理?代码展现如何使用代理?
- 7.33 爬取的淘宝某个人的历史消费信息(登陆需要账号、密码、验证码),你会如何操作?
- 7.34 网站中的验证码是如何解决的?
- 7.35 动态页面如何有效的抓取?
- 7.36 如何使用 MondoDB 和 Flask 实现一个 IP 代理池?
- 8. 数据分析及可视化
- 8.1 Python 数据分析通常使用的环境、工具和库都有哪些?库功能是什么?
- 8.2 常用的数据可视化工具有哪些?各自有什么优点?
- 8.3 数据分析的一般流程是什么?
- 8.4 数据分析中常见的统计学概念有哪些?
- 8.5 归一化方法有什么作用?
- 8.6 常见数据分析方法论?
- 8.7 如何理解欠拟合和过拟合?
- 8.8 为什么说朴素贝叶斯是“朴素”的?
- 8.9 Matplotlib 绘图中如何显示中文?
- 8.10 Matplotlib 中如何在一张图上面画多张图?
- 8.11 使用直方图展示多部电影 3 天的票房情况?
- 8.12 描述一下 NumPy array 对比 Python list 的优势?
- 8.13 数据清洗有哪些方法?
- 1. Python 基础知识
Python 全栈工程师核心面试 300 问深入解析(2020 版)
查看本场Chat
互动评论

评论
sunboy2 年前
深拷贝的地方d和e 拷贝出来的值发生了变化,多了个5是怎么回事
评论
wadu2 年前
准备毕业了要找工作,今年好难呀。( ºΔº )
评论
瓜2 年前
我跨界转行就更难了。
评论
夜色催耕3 年前
终于等到了,感谢。
评论
小龙回复Felix(作者)2 年前
感谢博主
评论
小龙回复Felix(作者)2 年前
订阅了,可以下载下来?
评论
Felix(作者)3 年前
谢谢支持!最近遇上疫情,各项工作都减缓了!
评论
展开评论
查看更多