1、python的抽象类
什么是抽象类
与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化
为什么要有抽象类
如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。
比如我们有香蕉的类,有苹果的类,有桃子的类,从这些类抽取相同的内容就是水果这个抽象的类,你吃水果时,要么是吃一个具体的香蕉,要么是吃一个具体的桃子。。。。。。你永远无法吃到一个叫做水果的东西。
从设计角度去看,如果类是从现实对象抽象而来的,那么抽象类就是基于类抽象而来的。
从实现角度来看,抽象类与普通类的不同之处在于:抽象类中有抽象方法,该类不能被实例化,只能被继承,且子类必须实现抽象方法。
2、Django的请求生命周期
第一步:浏览器发起请求
第二步:WSGI(Web服务器网关接口)创建socket服务端,接收请求(Httprequest)
第三步:中间件处理请求
第四步:url路由,根据当前请求的URL找到视图函数
第五步:view视图,进行业务处理(ORM处理数据,从数据库取到数据返回给view视图;view视图将数据渲染到template模板;将数据返回)
第六步:中间件处理响应
第七步:WSGI返回响应(HttpResponse)
第八步:浏览器渲染
3、mysql的索引有什么
-
普通索引:仅加速查询
-
唯一索引:加速查询 + 列值唯一(可以有null)
-
主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
-
组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
-
全文索引:对文本的内容进行分词,进行搜索
4、mysql的联合索引(a,b,c),如果索引为(a,c)会用到索引吗
有mysql联合索引(A, B, C),那么AC查询会用到索引吗? - Cgj20060102030405 - 博客园
5、git的操作,版本回退
git reset --hard HEAD ^
git的版本回退教程(带你一步一步操作)_zt1519的博客-CSDN博客_git 回退
6、python的基本排序Python数据结构与算法(几种排序) - 时间&煮雨~ - 博客园
7、mysql的select实现过程
select mysql执行过程_MySQL -- SELECT 执行过程_Benjamin Jordan的博客-CSDN博客
8、restful中的序列化
从入门到自闭之Python--RESTful API规范与序列化 - 丶Howie - 博客园
9、vue到后端用到什么组件
vuex
ElementUI
10、mysql索引为什么快
- 减少IO;
- 针对mysql innodb引擎:
- 索引也是数据;
- 索引的底层数据结构是B+树,中间节点都是储存的索引,底层叶子节点存储的是数据的指针(辅助索引是存储的id),所以磁盘页中可以存储更多的节点元素,也就是说可以让树的高度变的更低,减少IO;
11、mysql为什么要设计事务
当需要对数据表执行一系列多个操作的情况下,为了防止这些操作中的部分操作执行成功而另一些操作执行失败,从而导致数据不正确,我们就需要使用事务了。
12、python的不可变数据类型为什么不可变
可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。
13、mysql的三范式
14、redis的数据类型还有持久化
Redis数据类型&优缺点&持久化方式 - Mr-刘 - 博客园
15、django项目中__init__.py文件的作用,删除会有影响吗
关于python 的空的__init__.py文件的作用,可不可以删除,到底有没有用? - 北风之神0509 - 博客园
16、悲观锁和乐观锁
17、python的GIL是在哪个版本中的
Python3.2 版本通过引入记录没有获取到 GIL 锁线程线程请求 GIL 锁的次数的机制解决了