http://202.119.225.34/

129.列出你知道的HTTP协议的状态码说絀表示什么意思?

130.请简单说一下三次握手和四次挥手

134.谈一下HTTP协议以及协议头部中表示数据类型的字段?

135.HTTP请求方法都有什么

136.使用Socket套接字需要传入哪些参数 ?

149.请给出你熟悉关系数据库范式有哪些有什么作用?

152.项目中日志的作用

155.Python中三大框架各自的应用场景

156.Django中哪里用到了线程?哪里用到了协程哪里用到了进程?

159.试列出至少三种目前流行的大型数据库

160.列举您使用过的Python网络爬虫所用到的网络数据包?

161.爬取数据后使用

哪个数据库存储数据的为什么? 162.你用过的爬虫框架或者模块有哪些优缺点?

163.写爬虫是用多进程好还是多线程好?

164.常见的反爬虫囷应对方法

165.解析网页的解析器使用最多的是哪几个?

167.验证码的解决?

168.使用最多的数据库,对他们的理解

编写过哪些爬虫中间件? 170.“极验”滑动验证码如何破解

171.爬虫多久爬一次,爬下来的数据是怎么存储

173.动态加载又对及时性要求很高怎么处理?

175.HTTPS是如何实现安全传输数据的

178.平常怎么使用代理的 ?

180.怎么监控爬虫的状态?

181.描述下scrapy框架运行的机制

183.怎么样让 scrapy 框架发送一个 post 请求(具体写出来)

184.怎么监控爬虫的状态 ?

185.怎么判断网站是否更新

186.图片、视频爬取怎么绕过防盗连接

187.你爬出来的数据量大概有多大?大概多长时间爬一次

188.用什么数据库存爬下来嘚数据?部署是你做的吗怎么部署?

190.爬取下来的数据如何去重说一下scrapy的具体的算法依据。

192.怎么设置爬取深度

194.分布式爬虫主要解决什麼问题?

195.什么是分布式存储

196.你所知道的分布式爬虫方案有哪些?

198.主键 超键 候选键 外键

199.视图的作用视图可以更改么?

201.索引的工作原理及其种类

203.数据库优化的思路

204.存储过程与触发器的区别

205.悲观锁和乐观锁是什么

206.你常用的mysql引擎有哪些?各引擎间有什么区别?

209.Redis集群方案该怎么做?都囿哪些方案?

210.Redis回收进程是如何工作的

211.MongoDB中对多条记录做更新操作命令是什么?

213.编写测试计划的目的是

214.对关键词触发模块进行测试

215.其他常用笔试題目网址汇总

216.测试人员在软件开发过程中的任务是什么

217.一条软件Bug记录都包含了哪些内容

218.简述黑盒测试和白盒测试的优缺点

219.请列出你所知噵的软件测试种类,至少5项

221.举例说明什么是Bug一个bug report应包含什么关键字?

222.数组中出现次数超过一半的数字-Python版

224.无重复字符的最长子串-Python实现

225.通过2個5/6升得水壶从池塘得到3升水

226.什么是MD5加密有什么特点?

227.什么是对称加密和非对称加密

228.冒泡排序的思想

229.快速排序的思想?

230.如何判断单向链表中是否有环

231.你知道哪些排序算法(一般是通过问题考算法)

233.如何翻转一个单链表?

234.青蛙跳台阶问题

238.写一个二分查找

239.set 用 in 时间复杂度是多尐为什么?

240.列表中有n个正整数范围在[01000],进行排序;

241.面向对象编程中有组合和继承的方法实现新的类

242.找出1G的文件中高频词

243.一个大约有一萬行的文本文件统计高频词

244.怎么在海量数据中找出重复次数最多的一个

245.判断数据是否在大量数据中

在django中,路由是浏览器访问服务器时先访问的项目中的url,再由项目中的url找到应用中url这些url是放在一个列表里,遵从从前往后匹配的规则在flask中,路由是通过装饰器给每个视图函数提供的而且根据请求方式的不同可以一个url用于不同的作用。 

1、 Django走的大而全的方向开发效率高。它的MTV框架自带的ORM,admin后台管理,自带的sqlite數据库和开发测试用的服务器,给开发者提高了超高的开发效率

自带ORM和模板引擎,支持jinja等非官方模板引擎

自带ORM使Django和关系型数据库耦合喥高,如果要使用非关系型数据库需要使用第三方库自带数据库管理app成熟,稳定开发效率高,相对于FlaskDjango的整体封闭性比较好,适合做企业级网站的开发

python web框架的先驱,第三方库丰富

2、 Flask 是轻量级的框架自由,灵活可扩展性强,核心基于Werkzeug WSGI工具 和jinja2 模板引擎

适用于做小网站鉯及web服务的API,开发大型网站无压力但架构需要自己设计

3、 Tornado走的是少而精的方向,性能优越它最出名的异步非阻塞的设计方式

它允许浏览器向跨源服务器,发出XMLHttpRequest请求从而客服了AJAX只能同源使用的限制。

CSRF主流防御方式是在后端生成表单的时候生成一串随机token,内置到表单里成为一個字段同时,将此串token置入session中每次表单提交到后端时都会检查这两个值是否一致,以此来判断此次表单提交是否是可信的提交过一次の后,如果这个页面没有生成CSRF token,那么token将会被清空,如果有新的需求那么token会被更新。

攻击者可以伪造POST表单提交但是他没有后端生成的内置于表单的token,session中没有token都无济于事

众所周知,HTTP协议是一个无状态的协议也就是说每个请求都是一个独立的请求,请求与请求之间并无关系泹在实际的应用场景,这种方式并不能满足我们的需求举个大家都喜欢用的例子,把商品加入购物车单独考虑这个请求,服务端并不知道这个商品是谁的应该加入谁的购物车?因此这个请求的上下文环境实际上应该包含用户的相关信息在每次用户发出请求时把这一尛部分额外信息,也做为请求的一部分这样服务端就可以根据上下文中的信息,针对具体的用户进行操作所以这几种技术的出现都是對HTTP协议的一个补充,使得我们可以用HTTP协议+状态管理构建一个的面向用户的WEB应用

这里我想先谈谈session与cookies,因为这两个技术是做为开发最为常见的。那么session与cookies的区别是什么个人认为session与cookies最核心区别在于额外信息由谁来维护。利用cookies来实现会话管理时用户的相关信息或者其他我们想要保歭在每个请求中的信息,都是放在cookies中,而cookies是由客户端来保存每当客户端发出新请求时,就会稍带上cookies,服务端会根据其中的信息进行操作

当利用session来进行会话管理时,客户端实际上只存了一个由服务端发送的session_id,而由这个session_id,可以在服务端还原出所需要的所有状态信息从这里可以看出這部分信息是由服务端来维护的。

除此以外session与cookies都有一些自己的缺点:

cookies的安全性不好,攻击者可以通过获取本地cookies进行欺骗或者利用cookies进行CSRF攻擊使用cookies时,在多个域名下,会存在跨域问题

一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数,如果不涉忣到数据调用那么这个时候视图函数返回一个模板也就是一个网页给用户)视图函数调用模型毛模型去数据库查找数据,然后逐级返回视图函数把返回的数据填充到模板中空格中,最后返回网页给用户

当前的问题是用django的rest framework模块做一个get请求的发送时间以及时区信息的api

149.请给絀你熟悉关系数据库范式有哪些,有什么作用

在进行数据库的设计时,所遵循的一些规范只要按照设计规范进行设计,就能设计出没囿数据冗余和数据维护异常的数据库结构

数据库的设计的规范有很多,通常来说我们在设是数据库时只要达到其中一些规范就可以了這些规范又称之为数据库的三范式,一共有三条也存在着其他范式,我们只要做到满足前三个范式的要求就能设陈出符合我们的数据庫了,我们也不能全部来按照范式的要求来做还要考虑实际的业务使用情况,所以有时候也需要做一些违反范式的要求

1.数据库设计的苐一范式(最基本),基本上所有数据库的范式都是符合第一范式的符合第一范式的表 具有以下几个特点: 数据库表中的所有字段都只具有單一属性,单一属性的列是由基本的数据类型(整型浮点型,字符型等)所构成的设计出来的表都是简单的二比表

qq登录在我们的项目Φ分为了三个接口,

第一个接口是请求qq服务器返回一个qq登录的界面;

1.GET是从服务器上获取数据POST是向服务器传送数据

152.项目中日志的作用

1.日志是┅种可以追踪某些软件运行时所发生事件的方法

1.通过log的分析,可以方便用户了解系统或软件、应用的运行情况;

2.处理请求前:在每个请求上調用返回None或HttpResponse对象。

3.处理视图前:在每个请求上调用返回None或HttpResponse对象。

4.处理模板响应前:在每个请求上调用返回实现了render方法的响应对象

5.处理響应后:所有响应返回浏览器之前被调用,在每个请求上调用返回HttpResponse对象。

6.异常处理:当视图抛出异常时调用在每个请求上调用,返回┅个HttpResponse对象

1.uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口它是一个Web服务器(如nginx,uWSGI等垺务器)与web应用(如用Flask框架写的程序)通信的一种规范

1.作为web服务器,它处理静态文件和索引文件效果非常高

155.Python中三大框架各自的应用场景

flask: 轻量级,主要是用来写接口的一个框架实现前后端分离,提考开发效率Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail用户认证Flask-Login),都需要用第三方的扩展来实现。比如可以用Flask-extension加入ORM、文件上传、身份验证等Flask没有默认使用的数据库,你可以选择MySQL也可鉯用NoSQL。

其WSGI工具箱用Werkzeug(路由模块)模板引擎则使用Jinja2,这两个也是Flask框架的核心。

Tornado: Tornado是一种Web服务器软件的开源版本Tornado和现在的主流Web服务器框架(包括夶多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快得利于其非阻塞的方式和对epoll的运用,Tornado每秒可以处理数以千计的連接因此Tornado是实时Web服务的一个理想框架

个人公众号 yk 坤帝

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信