网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Day43 - 静态资源和Ajax请求
-
加载静态资源
-
用Ajax请求获取数据
Day44 - 表单的应用
-
表单和表单控件
-
跨站请求伪造和CSRF令牌
-
Form和ModelForm
-
表单验证
Day45 - Cookie和Session
-
实现用户跟踪
-
cookie和session的关系
-
Django框架对session的支持
-
视图函数中的cookie读写操作
Day46 - 报表和日志
-
通过HttpResponse修改响应头
-
使用StreamingHttpResponse处理大文件
-
使用xlwt生成Excel报表
-
使用reportlab生成PDF报表
-
使用ECharts生成前端图表
-
配置日志和Django-Debug-Toolbar
Day47 - 中间件的应用
-
什么是中间件
-
Django框架内置的中间件
-
自定义中间件及其应用场景
Day48 - 前后端分离开发入门
-
返回JSON格式的数据
-
用Vue.js渲染页面
Day49 - RESTful架构和DRF入门 Day50 - RESTful架构和DRF进阶 Day51 - 使用缓存
-
网站优化第一定律
-
在Django项目中使用Redis提供缓存服务
-
在视图函数中读写缓存
-
使用装饰器实现页面缓存
-
为数据接口提供缓存服务
Day52 - 文件上传和富文本编辑
-
文件上传表单控件和图片文件预览
-
服务器端如何处理上传的文件
-
富文本编辑器概述
-
wangEditor的使用
Day53 - 短信和邮件
-
常用短信网关平台介绍
-
使用螺丝帽发送短信
-
Django框架对邮件服务的支持
Day54 - 异步任务和定时任务
-
网站优化第二定律
-
配置消息队列服务
-
在项目中使用celery实现任务异步化
-
在项目中使用celery实现定时任务
Day55 - 单元测试和项目上线
-
Python中的单元测试
-
Django框架对单元测试的支持
-
使用版本控制系统
-
配置和使用uWSGI
-
动静分离和Nginx配置
-
配置HTTPS
Day56~60 - 实战Flask
Day56 - Flask入门 Day57 - 模板的使用 Day58 - 表单的处理 Day59 - 数据库操作 Day60 - 项目实战
Day61~65 - 实战Tornado
Day61 - 预备知识
-
并发编程
-
I/O模式和事件驱动
Day62 - Tornado入门
-
Tornado概述
-
5分钟上手Tornado
-
路由解析
-
请求处理器
Day63 - 异步化
- aiomysql和aioredis的使用
Day64 - WebSocket的应用
-
WebSocket简介
-
WebSocket服务器端编程
-
WebSocket客户端编程
-
项目:Web聊天室
Day65 - 项目实战
-
前后端分离开发和接口文档的撰写
-
使用Vue.js实现前端渲染
-
使用ECharts实现报表功能
-
使用WebSocket实现推送服务
Day66~75 - 爬虫开发
Day66 - 网络爬虫和相关工具
-
网络爬虫的概念及其应用领域
-
网络爬虫的合法性探讨
-
开发网络爬虫的相关工具
-
一个爬虫程序的构成
Day67 - 数据采集和解析
-
数据采集的标准和三方库
-
页面解析的三种方式:正则表达式解析 / XPath解析 / CSS选择器解析
Day68 - 存储数据
-
如何存储海量数据
-
实现数据的缓存
Day69 - 并发下载
-
多线程和多进程
-
异步I/O和协程
-
async和await关键字的使用
-
三方库aiohttp的应用
Day70 - 解析动态内容
-
JavaScript逆向工程
-
使用Selenium获取动态内容
Day71 - 表单交互和验证码处理
-
自动提交表单
-
Cookie池的应用
-
验证码处理
Day72 - Scrapy入门
-
Scrapy爬虫框架概述
-
安装和使用Scrapy
Day73 - Scrapy高级应用
-
Spider的用法
-
中间件的应用:下载中间件 / 蜘蛛中间件
-
Scrapy对接Selenium抓取动态内容
-
Scrapy部署到Docker
Day74 - Scrapy分布式实现
-
分布式爬虫的原理
-
Scrapy分布式实现
-
使用Scrapyd实现分布式部署
Day75 - 爬虫项目实战
-
爬取招聘网站数据
-
爬取房地产行业数据
-
爬取二手车交易平台数据
Day76~90 - 数据处理和机器学习
Day76 - 机器学习基础
Day77 - Pandas的应用
Day78 - NumPy和SciPy的应用
Day79 - Matplotlib和数据可视化
Day80 - k最近邻(KNN)分类
Day81 - 决策树
Day82 - 贝叶斯分类
Day83 - 支持向量机(SVM)
Day84 - K-均值聚类
Day85 - 回归分析
Day86 - 大数据分析入门
Day87 - 大数据分析进阶
Day88 - Tensorflow入门
Day89 - Tensorflow实战
Day90 - 推荐系统
Day91~100 - 团队项目开发
第91天:团队项目开发准备
- 软件过程模型
-
经典过程模型(瀑布模型)
-
- 可行性分析(研究做还是不做),输出《可行性分析报告》。
-
需求分析(研究做什么),输出《需求规格说明书》和产品界面原型图。
-
概要设计和详细设计,输出概念模型图、物理模型图、类图、时序图等。
-
编码 / 测试。
-
上线 / 维护。
-
- 敏捷开发(Scrum)- 产品所有者、Scrum Master、研发人员 - Sprint
-
- 产品的Backlog(用户故事、产品原型)。
-
计划会议(评估和预算)。
-
日常开发(站立会议、番茄工作法、结对编程、测试先行、代码重构……)。
-
修复bug(问题描述、重现步骤、测试人员、被指派人)。
-
评审会议(Showcase)。
-
回顾会议(当前周期做得好和不好的地方)。
补充:敏捷软件开发宣言
-
个体和互动 高于 流程和工具
-
工作的软件 高于 详尽的文档
-
客户合作 高于 合同谈判
-
响应变化 高于 遵循计划
另外,进步最大的阶段,还是学校安排做项目实训的时候,同学们几人一组,组成开发团队,然后分析项目,划分任务,根据平时所学,进行实战。会给大家提前进入职场的感觉,当然过程中会遇到大大小小的问题,同学们一起商量,互相帮助,最后项目成型以后,真的是觉得很有成就感,进步也是最快的。
在整个学习过程当中,我是没有碰到什么瓶颈的,因为我的学习习惯就是不去积压问题,发现不清楚的点,第一时间去解决,所以学起来没有多困难。通过这半年的学习,除了专业技能的明显提升以外,家人都说我比之前更懂事了,生活也变得更规律,对时间和知识的管理更加的完善,对于我个人来说,的确变化很大。
下面是学校帮我们总结的各个大公司还有小公司python相关的面试题。我也认认真真全部刷完了,篇幅原因,答案没有列出来。感兴趣的朋友,可以扫描下方二维码,前往免费领取!
一、Python 基础
(一) Python 基础语法
-
Python有哪些特点和优点?
-
简述解释型和编译型编程语言?
-
Python解释器种类以及特点
-
python常见的PEP8规范
-
通过代码实现如下进制转换
-
三元运算规则以及应用场景
-
列举 Python2和Python3的区别【Python基础语法】
-
is和==的区别
-
try except用法和作用
-
Python LEGB规则
-
python简单的列表去重
-
区分break,continue和pass?
-
什么是python迭代器?
-
如何在python中写注释?
-
如何在python中注释多行?
-
什么是Python中的文档Docstrings?
-
Python是通用编程语言吗?
-
Python是如何解释语言的?
-
什么是pep?
-
Python中的命名空间是什么?
-
什么是PYTHONPATH?
-
Python中的局部变量和全局变量是什么?
-
python是否区分大小写?
-
如何在Windows上安装Python并设置路径变量?
-
python中是否需要缩进?
-
列举布尔值为False的常见值
-
怎样声明多个变量并赋值?
-
其中哪一个是floor division?
-
标识符的最大可能长度是多少?
-
为什么不鼓励以下划线开头的局部变量名?
-
以下哪项是无效声明?
-
以下哪项是无效声明?
-
以下是什么输出?
-
a=1, b=2, 不用中间变量交换a和b的值.
-
请写出打印结果
-
A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?
-
有25匹马,速度都不同,但每匹马的速度都是定值。现在只有5条赛道,无法计时,即每赛一场最多只能知道5匹马的相对快慢。问最少赛几场可以找出25匹马中速度最快的前3名?
-
介绍一下except的用法和作用?
-
Python中pass语句的作用是什么?
-
单引号,双引号,三引号的区别
-
浮点数运算
-
介绍一下except的用法和作用?
-
Python中pass语句的作用是什么?
-
反转一个整数,例如-123 --> -321
-
一行代码实现1-100之和
-
Python-遍历列表时删除元素的正确做法
-
字符串 “123” 转换成 123,不使用内置api,例如 int()
-
求出列表所有奇数并构造新列表
-
用一行python代码写出1+2+3+10248
-
python常见的列表推导式?
-
Python中pass语句的作用是什么?
-
如何交换两个变量的值?
-
Python中pass语句的作用是什么?
-
Python区分大小写吗?
-
Python中的标识符长度能有多长?
-
Python中的pass语句是什么?
-
解释一下Python中的//,%和 ** 运算符
-
在Python中有多少种运算符?解释一下算数运算符。
-
解释一下Python中的关系运算符
-
解释一下Python中的赋值运算符
-
解释一下Python中的逻辑运算符
-
解释一下Python中的成员运算符
-
解释一下Python中的身份运算符
-
讲讲Python中的位运算符
-
在Python中如何使用多进制数字?
-
怎样声明多个变量并赋值?
-
PYTHONPATH变量是什么?
-
在Python中如何声明一条注释?
-
什么是Python中的连接(concatenation)?
-
请用一行代码 实现将1-N 的整数列表以3为单位分组
-
避免转义给字符串加哪个字母表示原始字符串?
-
X是什么类型?
-
单引号、双引号、三引号用法
-
int(“1.4”),int(1.4)输出结果?
-
列举3条以上PEP8编码规范
-
IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
-
递归求和
-
介绍一下except的用法和作用?
-
Python中pass语句的作用是什么?
-
Json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
-
Python写9*9乘法表的两种简单方法
(二) 文件操作
-
大数据的文件读取
-
在python中编译和链接的过程是什么?
-
请写一个Python逻辑,计算一个文件中的大写字母数量
-
介绍一下except的用法和作用?
-
要打开文件c:\ scores.txt进行编写,我们使用:
-
以下是什么输出?
-
何时执行try-except-else的else部分?
-
简述with方法打开处理文件帮我我们做了什么?
-
用python删除文件和用linux命令删除文件方法
-
写一段自定义异常代码
-
举例说明异常模块中try except else finally的相关意义
-
IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常
-
r、r+、rb、rb+文件打开模式区别
-
深拷贝和浅拷贝之间的区别是什么?
-
请写一个Python逻辑,计算一个文件中的大写字母数量
-
如何用Python找出你目前在哪个目录?
-
如何以相反顺序展示一个文件的内容?
-
4G 内存怎么读取一个 5G 的数据?
-
说明一下 os.path 和 sys.path 分别代表什么?
-
Python 中的 os 模块常见方法?
-
python的read() 、readline()、readlines()、xreadlines()
-
使用代码实现查看列举目录下的所有文件
-
如何在Python中删除文件?
-
设计实现遍历目录与子目录,抓取.pyc文件
-
简述read、readline、readlines的区别?
-
用python删除文件和用linux命令删除文件方法
-
简述with方法打开处理文件帮我我们做了什么?
-
写一段自定义异常代码
(三) 模块与包
-
深拷贝和浅拷贝的区别是什么?
-
如何在Python中随机化列表中的项目?
-
如何用Python来发送邮件?
-
Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
-
Python里面如何生成随机数?
-
介绍一下Python中webbrowser的用法?
-
有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
-
列出5个python标准库
-
利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
-
生成0-100的随机数
-
如何在Python中创建自己的包?
-
常用的 Python 标准库都有哪些?
-
输入某年某月某日,判断这一天是这一年的第几天?(可以用 Python 标准库)
-
Python的 sys 模块常用方法?
-
Python里面如何拷贝一个对象?
-
简述Python的深浅拷贝以及应用场景
-
如何安装第三方模块?以及用过哪些第三方模块?
-
常用模块都有那些?
-
什么是python模块?Python中有哪些常用的内置模块?
-
如何在Python中生成随机数?
-
range&xrange有什么区别?
-
Python里面如何生成随机数?
-
在Python中如何生成一个随机数?
-
利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
-
列出5个python标准库
-
生成0-100的随机数
-
如何安装第三方模块?以及用过哪些第三方模块?
-
常用模块都有那些?
(四) 数据类型
-
Python里面如何实现tuple和list的转换?
-
列表和元组有什么不同?
-
什么是负指数,为什么使用它们?
-
单引号,双引号,三引号的区别?
-
有两个序列a,b,大小都为n,序列元素的值任意整形数,无序?
-
Python中的标识符长度能有多长?
-
在Python中如何使用多进制数字?
-
元组的解封装是什么?
-
Python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景?
-
以下哪个语句创建字典?(多个正确的答案可能)
-
假设list1是[2,33,222,14,25],什么是list1 [-1]?
-
单引号,双引号,三引号的区别
-
怎样获取字典中所有键的列表?
-
字典如何删除键和合并两个字典
-
python实现列表去重的方法
-
python内建数据类型有哪些
-
python中生成随机整数、随机小数、0–1之间小数方法
-
列出python中可变数据类型和不可变数据类型,并简述原理
-
字典根据键从小到大排序
-
列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?
-
两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
-
[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
-
x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果
-
a="hello"和b="你好"编码成bytes类型
-
[1,2,3]+[4,5,6]的结果是多少?
-
求三个方法打印结果
-
计算代码运行结果,zip函数历史文章已经说了,得出[(“a”,1),(“b”,2),(“c”,3),(“d”,4),(“e”,5)]
-
python中copy和deepcopy区别
-
举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]
-
对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从_小到大_排序
-
使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为
-
列表嵌套字典的排序,分别根据年龄和姓名排序
-
列表嵌套元组,分别按字母和数字排序
-
列表嵌套列表排序,年龄数字相同怎么办?
-
根据键对字典排序(方法一,zip函数)
-
根据键对字典排序(方法二,不用zip)
-
列表推导式、字典推导式、生成器
-
最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用
-
python字典和json字符串相互转化方法
-
求两个列表的交集、差集、并集
-
python中读取Excel文件的方法
-
列表和元组之间的区别是?
-
Python中的字典是什么?
-
什么是负索引?
-
如何以就地操作方式打乱一个列表的元素?
-
解释Python中的join()和split()函数
-
怎样获取字典中所有键的列表?
-
元组的解封装是什么?
-
Python支持什么数据类型?
-
docstring是什么?
-
什么是切片?
-
什么是namedtuple ?
-
在Python中怎样将字符串转换为整型变量?
-
Python中的不可变集合(frozenset)是什么?
-
什么是迭代器?
-
请按alist中元素的age由大到小排序
-
下面代码的输出结果将是什么?
-
写一个列表生成式,产生一个公差为11的等差数列
-
给定两个列表,怎么找出他们相同的元素和不同的元素?
-
请写出一段python代码实现删除list里面的重复元素?
-
给定两个list A,B ,请用找出A,B中相同与不同的元素
-
Python里面如何实现tuple和list的转换?
-
请写出一段Python代码实现删除一个list里面的重复元素
-
字符串、列表、元组、字典每个常用的5个方法(整型,浮点,字符串,布尔型,列表、元组、字典、集合、日期)
-
Python里面如何实现tuple和list的转换?
-
请写出一段Python代码实现删除一个list里面的重复元素
-
如何在一个function里面设置一个全局的变量?
-
列表的扁平化和降维
-
如果将一个列表传入函数中,在函数中修改后,全局的列表会被修改吗?
-
什么是Python中的类型转换?
-
Python数组和列表有什么区别?
-
[:: - 1}表示什么?
-
NumPy中有哪些操作Python列表的函数?
-
按字典中的value值进行排序
-
字典和json的区别
-
可变、不可变类型
-
常用的字符串格式化
-
字符串驻留机制
-
删除list中重复元素
-
列举字符串、列表、元组、字典的5个常用方法
-
什么是反射,以及应用场景
-
列表和迭代器的区别
-
enumerate的作用
-
描述数组、链表、队列、堆栈的区别?
-
…
(五)企业面试题
-
分别从前端、后端、数据库阐述web项目的性能优化
-
我们都知道现在Python很火,但是对于一门技术我们不光要知道它的优点,也要知道它的缺点,请谈谈Python的不足之处。
-
如果你困在了死循环里,怎么打破它?
-
请谈谈.pyc文件和.py文件的不同之处
-
请反转字符串 “aStr”?
-
将字符串 “k:1 |k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}
-
利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法.
-
请设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间
-
解释一下python的and-or语法
-
你在爬虫过程中,都是怎么解决反爬的,爬取多少数据,用了多长时间?
-
爬取这些数据都用来做什么的?怎么交付给公司?客户是谁?爬取数据的影响因素?
-
有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
-
说一下 mysql 的原理?
-
数据库索引
-
数据库怎么优化查询效率?
-
简单谈谈ACID,并解释每一个特性。
-
Python的主要功能是什么?
-
装饰器的写法以及应用场景
-
异常处理写法以及如何主动跑出异常(应用场景)
-
isinstance作用以及应用场景?
-
json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?
-
线上服务可能因为种种原因导致挂掉怎么办?
-
如何提高python的运行效率
-
线上服务可能因为种种原因导致挂掉怎么办?
-
如何提高python的运行效率
-
字符串的操作题目
-
介绍Cython,Pypy Cpython Numba各有什么缺点
-
手写一个判断时间的装饰器
-
生成器,迭代器的区别?
-
Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
-
如何判断是函数还是方法?
-
为什么函数名字可以当做参数用?
-
分别从前端、后端、数据库阐述web项目的性能优化
-
python新式类和经典类的区别?
-
线上服务可能因为种种原因导致挂掉怎么办?
-
如何提高python的运行效率
-
Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
-
如何判断是函数还是方法?
二、Python 高级
(一) 元类
-
@property的用法
-
new和init的区别
-
如何实现一个单例
-
python查找对象属性的顺序
-
什么是init?
-
Python中的self是什么?
-
深拷贝和浅拷贝有什么区别?
-
什么是猴子补丁?
-
字典推导式
-
super函数的具体用法和场景
-
Python中类方法、类实例方法、静态方法有何区别?
-
遍历一个object的所有属性,并print每一个属性名?
-
写一个类,并让它尽可能多的支持操作符?
-
请描述抽象类和接口类的区别和联系
-
Python中如何动态获取和设置对象的属性?
-
对设计模式的理解,简述你了解的设计模式?
-
单例模式的应用场景有那些?
-
对装饰器的理解,并写出一个计时器记录方法执行性能的装饰器?
-
Python的魔法方法
-
什么是Python monkey补丁?
-
阅读下面的代码,它的输出结果是什么?
-
写一个单列模式
-
什么是猴子补丁?
-
描述元类的概念。Python有没有接口?元类和Java的接口有什么异同?
(二)内存管理与垃圾回收机制
-
Python是如何进行内存管理的?
-
对象的引用计数机制
-
垃圾回收
-
内存池机制
-
当Python退出时,为什么不清除所有分配的内存?
-
Python是如何进行内存管理的?
-
python垃圾回收机制
-
当退出 Python 时是否释放所有内存分配?
-
如何获取任何网址或网页的Google缓存时限?
-
Python中变量的作用域?(变量查找顺序)
-
哪些操作会导致Python内存溢出,怎么处理?
-
关于Python内存管理
-
Python的内存管理机制及调优手段?【内存管理与垃圾回收机制】
-
内存泄露是什么?如何避免?
-
在Python中是如何管理内存的?
-
当退出Python时,是否释放全部内存?
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!