1. 自我介绍

  2. 关于python掌握了哪些技术

  3. append 和 += 的区别
    append 会修改列表
    += 会产生一个新的列表
    append('123') 会在列表中添加['123']
    +='123' 会在列表中添加 '1' '2' '3' 这三个

  4. mysql 外键的作用(这个回答还可以)

  5. 怎样维护多对多数据关系,如何设计,应该注意哪些问题
    新建一张表,两个字段分别存放两张表内数据的id
    这个注意问题我没找到

  6. python GIL锁
    这意味着在任何时间点只能有一个线程处于执行状态。对于执行单线程程序的开发人员而言,GIL的影响并不明显,但那是多线程代码的性能瓶颈。
    GIL 锁 全局解释器锁(只在 cpython 里才有)
    作用:限制多线程同时执行,保证同一时间只有一个线程执行,所以 cpython 里的多线程其实是伪
    多线程!
    所以 Python 里常常使用协程技术来代替多线程,协程是一种更轻量级的线程,
    进程和线程的切换时由系统决定,而协程由我们程序员自己决定,而模块 gevent 下切换是遇到了
    耗时操作才会切换。
    三者的关系:进程里有线程,线程里有协程。

  7. TCP 和 HTTP
    TCP 是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手
    优点:TCP 在数据传递时,有确认、窗口、重传、阻塞等控制机制,能保证数据正确性,较为可靠。
    HTTP 协议是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议,HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
    HTTP 是比 TCP 更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更
    高层协议的连接,因此,首先要建立 TCP 连接,一般 TCP 连接的端口号是 80。
    HTTP 协议即超文本传送协议(Hypertext Transfer Protocol ),是 Web 联网的基础,也是手机
    联网常用的协议之一,HTTP 协议是建立在 TCP 协议之上的一种应用。HTTP 连接最显著的特点是
    客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关
    闭连接的过程称为“一次连接”。
    TCP/IP(Transmission Control Protocol/Internet Protocol)协议是传输层协议,主要解决
    数据如何在网络中传输。HTTP 是应用层协议,主要解决如何包装数据。IP 协议对应于网络层。

  8. 闭包和装饰器
    这里应该答装饰器属于闭包,然后是闭包构成的三个要素,接着再说一下如何装饰带有参数的函数
    闭包三要素: 1.函数嵌套 2.内部函数使用了外部函数变量 3. 外部函数返回了内部函数
    装饰带有参数的函数: 1. 装饰器只能传入一个函数参数 2. 实现带有参数的装饰器的时候应该在已经实现的装饰器的基础上再外面再包一层函数,这层函数用来接收装饰器的参数,然后这层函数返回内部装饰器

  9. drf 框架中一次创建多个对象如何实现(被问住了)
    可以在序列化器中传递many=True参数
    或者直接定义为ListSerializer的子类
    不过这两种方式基本都要重写create 自己指明保存数据的行为

  10. drf框架中如何实现模糊查询(被问住了)
    可以重写queryset方法

  11. drf框架你用到哪些类视图(易)

  12. linux 修改文件执行权限命令(易)

  13. django中如何实现或查询(被问住了)
    models.Book.objects.filter(Q(authors__name="张三")|Q(authors__name="李四"))
    用q对象包住查询条件,或连接条件