共计 2173 个字符,预计需要花费 6 分钟才能阅读完成。
1,Django 的生命周期
a. wsgi, 创立 socket 服务端,用于接管用户申请并对申请进行首次封装。b. 中间件,对所有申请到来之前,响应之前定制一些操作。c. 路由匹配,在 url 和视图函数对应关系中,依据以后申请 url 找到相应的函数。d. 执行视图函数,业务解决【通过 ORM 去数据库中获取数据,再去拿到模板,而后将数据和模板进行渲染】e. 再通过所有中间件。f. 通过 wsgi 将响应返回给用户。
2,TCP/IP 由四个档次组成:数据链路层、网络层、传输层、应用层。
数据链路层 | |
这是 TCP/IP 软件的最低层,负责接管 IP 数据报并通过网络发送,或者从网络上接管物理帧,抽出 IP 数据报,交给 IP 层。网络层 | |
负责相邻计算机之间的通信。其性能包含三方面: | |
a、解决来自传输层的分组发送申请,收到申请后,将分组装入 IP 数据报,填充报头,抉择去往信宿机的门路,而后将数据报发往适当的网络接口。b、解决输出数据报:首先查看其合法性,而后进行寻径–如果该数据报已达到信宿机,则去掉报头,将剩下局部交给适当的传输协定;如果该数据报尚未达到信宿,则转发该数据报。c、解决门路、流控、拥塞等问题。传输层 | |
提供应用程序间的通信。其性能包含:a、格式化信息流;b、提供牢靠传输。为实现后者,传输层协定规定接收端必须发回确认,并且如果分组失落,必须从新发送。应用层 | |
向用户提供一组罕用的应用程序,比方电子邮件、文件传输拜访、近程登录等。近程登录 TELNET 应用 TELNET 协定提供在网络其它主机上注册的接口。TELNET 会话提供了基于字符的虚构终端。文件传输拜访 FTP 应用 FTP 协定来提供网络内机器间的文件拷贝性能。 |
3,应用 orm 和原生 sql 的优缺点, 解决并发问题?
1.orm 的开发速度快, 操作简略。使开发更加对象化 #执行速度慢。解决多表联查等简单操作时,ORM 的语法会变得复杂 | |
2.sql 开发速度慢, 执行速度快。性能强 |
4,Web 开发中有哪些技术手段避免 SQL 注入?
1. 应用预编译绑定变量的 SQL 语句 | |
2. 严格加密解决用户的机密信息 | |
3. 不要随便开启生产环境中 Webserver 的谬误显示 | |
4. 应用正则表达式过滤传入的参数 | |
5. 字符串过滤 | |
6. 查看是否包函非法字符 |
5,谈谈 CSRF 原理
你这能够这么了解 CSRF 攻打:攻击者盗用了你的身份,以你的名义发送歹意申请。CSRF 可能做的事件 | |
包含:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚构货币转账...... 造成的问题包 | |
括:个人隐私泄露以及财产平安。要实现一次 CSRF 攻打,受害者必须顺次实现两个步骤:1. 登录受信赖网站 A,并在本地生成 Cookie。2. 在不登出 A 的状况下,拜访危险网站 B。 |
6,如果用户投诉说网页加载很慢,并且不是网速问题,大略 10 秒钟左右能力显示进去。当初让你来定位这个问题,请用一个最间接的办法,疾速的定位到问题呈现的地位,不保障百分之百能定位到,然而你这个办法必须百分之 80 或者 90 能定位呈现问题的地位。
7,docker 和虚拟机
传统虚拟机技术是虚构出一套硬件后,在其上运行一个残缺操作系统,在该零碎上再运行所需利用过程。操作系统其磁盘占用至多几十 G 起步,内存要几个 G 起步。启动时要从头到尾把该检测的都检测了该加载的都加载上,这个过程十分迟缓。而容器内的利用过程间接运行于宿主的内核,容器内没有本人的内核,而且也没有进行硬件虚构,因而容器要比传统虚拟机更为轻便。每个容器有本人的文件系统,容器之间过程不会相互影响,能辨别计算资源。
8,docker 容器之间怎么隔离
Linux 中的 PID、IPC、网络等资源是全局的,而 NameSpace 机制是一种资源隔离计划,在该机制下这些资源就不再是全局的了,而是属于某个特定的 NameSpace,各个 NameSpace 下的资源互不烦扰。尽管有了 NameSpace 技术能够实现资源隔离,但过程还是能够不受控的拜访系统资源,比方 CPU、内存、磁盘、网络等,为了管制容器中过程对资源的拜访,Docker 采纳 control groups 技术 (也就是 cgroup),有了 cgroup 就能够管制容器中过程对系统资源的耗费了,比方你能够限度某个容器应用内存的下限、能够在哪些 CPU 上运行等等。有了这两项技术,容器看起来就真的像是独立的操作系统了。
9,Celery 的架构和运行过程
消息中间件(message broker),工作执行单元(worker)和工作执行后果存储(task result store)组成。1、客户端也就是 python(django/flask 等)公布工作 | |
2、公布的工作存到工作队列外面,能够以 redis、rabbitMQ、MessageQueue、MySQL 存储,个别在 django/flask 程序里 redis 居多 | |
3、工作解决者会一直从工作队列外面获取工作执行 |
10,redis 根本数据类型
String 字符串:Hash(哈希)List(列表)Set(汇合)zset(sorted set:有序汇合)
11,django 罕用中间件
缓存中间件 | |
通用中间件 | |
内容压缩中间件(GZip)本地化中间件(Locale)消息中间件(Message)于 cookie 或者会话的音讯性能,比拟罕用。平安中间件 Security | |
CSRF protection | |
认证框架 Authentication |
12,django uuid 字段自增
正文完