面试前赶紧看了5道Python Web面试题,Python面试题No17
目录
- 本面试题题库,由公号:非本科程序员 整理发布
- 第1题: Flask中的请求上下文和应用上下文是什么?
- 第2题:django中间件的使用?
- 第3题: django开发中数据做过什么优化?
- 第4题: 解释一下 Django 和 Tornado 的关系、差别?
- Django
- Tornado
- 第5题:什么是restful API ,谈谈你的理解?
- REST 的特点
- 第6题:关注题,最近在公号更新一个神奇的系列入门文章
@
本面试题题库,由公号:非本科程序员 整理发布
第1题: Flask中的请求上下文和应用上下文是什么?
- 在Flask中处理请求时,就会产生一个 “请求上下文” 对象,整个请求的处理过程,都会在这个上下文对象中进行。
这保证了请求的处理过程不被干扰。
包含了和请求处理相关的信息,同时Flask还根据werkzeug.local模块中实现的一种数据结构LocalStack用来存储“请求上下文”对象。 - “应用上下文” 也是一个上下文对象,可以使用with语句构造一个上下文环境,它也实现了push、pop等方法。
“应用上下文” 的构造函数也和 “请求上下文” 类似,都有app、url_adapter等属性。“应用上下文” 存在的一个主要功能就是确定请求所在的应用。
第2题:django中间件的使用?
django在中间件中预设了6个方法,这6个方法区别在于不同的阶段执行,对输入或输出进行干预,方法如下:
#1 初始化: 无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件def __init__():pass#2.处理请求前:在每个请求上调用,返回None或者HttpResponse 对象def process_response(request):pass#3 处理视图前,在每个请求上调用,返回None 或HttpResopnse对象
def process_view(request.view_func, view_args, view_kwargs):pass#4 处理模板响应前: 在每个请求上调用,返回实现render 方法的响应对象
def peocess_template_response(request, response):pass
#5 处理响应后,多有响应返回浏览器之前被调用,每个请求上调用,返回HttpResponse对象def process_response(request, response):pass#6 异常处理:当时图抛出异常时调用,在每个请求上调用,返回一个HttpResponse对象
def process_exception(request, execption):pass
第3题: django开发中数据做过什么优化?
- 设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能
- 使用缓存,减少对数据库的访问
- orm框架下设置表时,能使用varchar确定字段长度时,就别用text
- 可以给搜索频率搞得字段属性,在定义时创建索引
- django orm 框架下的Querysets 本来就有缓存的
- 如果一个页面需要多次链接数据库,最好一次性去除所有需要的数据,减少数据库的查询次数
- 若页面只需要数据库里面的某一两个字段时,可以用QuerySet.values()
- 在模板标签里使用with标签可以缓存Qset查询结果
第4题: 解释一下 Django 和 Tornado 的关系、差别?
Django
Django源自一个在线新闻 Web站点,于 2005 年以开源的形式被释放出来。
Django 框架的核心组件有:
用于创建模型的对象关系映射为最终用户设计的完美管理界面一流的 URL 设计设计者友好的模板语言缓存系统等等
它鼓励快速开发,并遵循MVC设计。
Django遵守 BSD版权,最新发行版本是Django1.4,于2012年03月23日发布.Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not RepeatYourself)原则。
Tornado
Tornado是 FriendFeed使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和优化。
Tornado 和现在的主流 Web 服务器框架(包括大多数Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。(关于如何扩容 服务器,以处理数以千计的客户端的连接的问题。
第5题:什么是restful API ,谈谈你的理解?
- REST:Representational State Transfer 的缩写,翻译:“具象状态传输”。一般解释为“表现层状态转换”。
- REST 是设计风格而不是标准。是指客户端和服务器的交互形式。我们需要关注的重点是如何设计
- REST 风格的网络接口。
REST 的特点
- 具象的。一般指表现层,要表现的对象就是资源。比如,客户端访问服务器,获取的数据就是资源。比如文字、图片、音视频等。
- 表现:资源的表现形式。txt 格式、html 格式、json 格式、jpg 格式等。浏览器通过URL 确定资源的位置,但是需要在HTTP 请求头中,用Accept 和Content-Type 字段指定,这两个字段是对资源表现的描述。
状态转换:客户端和服务器交互的过程。在这个过程中,一定会有数据和状态的转化,这种转化叫做状态转换。其中,GET 表示获取资源,POST 表示新建资源,PUT 表示更新资源,DELETE 表示删除资源。HTTP 协议中最常用的就是这四种操作方式。
RESTful 架构
- 每个URL 代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
客户端通过四个http 动词,对服务器资源进行操作,实现表现层状态转换。
第6题:关注题,最近在公号更新一个神奇的系列入门文章
她专科学历
27岁从零开始学习c,c++,python编程语言
29岁编写百例教程
30岁掌握10种编程语言,
用自学的经历告诉你,学编程就找梦想橡皮擦
欢迎关注她的公众号,搜索— 非本科程序员
序号 | 文章 |
---|---|
Python面试题No1 | Python基础面试,看这篇文章画重点吧 |
Python面试题No2 | Python面试快问快答,理论要的就是速度与精准 |
Python面试题No3 | 学习Python一年,基础忘记了,看看面试题回忆回议 |
Python面试题No4 | 去面试Python工程师,这几个基础问题一定要能回答 |
Python面试题No5 | 2019年,Python工程师必考的6个面试题 |
Python面试题No6 | 昨天去面试,这5个Python面试题都被考到了 |
Python面试题No7 | 周三面试Python开发,这几道Python面试题差点答错,Python面试题No7 |
Python面试题No8 | 面试Python工程师,这几道编码题有必要背背 |
Python面试题No9 | 又面试了Python爬虫工程师,碰到这么几道面试题 |
Python面试题No10 | 朋友去面试Python工程师,又带回来几道基础题 |
Python面试题No11 | 刚毕业去面试Python工程师,这几道题太难了 |
Python面试题No12 | 五一4天就背这些Python面试题了 |
Python面试题No13 | 大意了,这几道Python面试题没有答对 |
Python面试题No14 | 明天找python工作,看看这几道Python面试题吧 |
Python面试题No15 | 这几道Python面试题,稳准狠 |
转载于:https://www.cnblogs.com/happymeng/p/10925215.html
面试前赶紧看了5道Python Web面试题,Python面试题No17相关推荐
- 春招/秋招面试前必看一文。如何找到 BAT 的实习机会。找实习中的一些困惑,如何解决?。浅谈秋招。
春招/秋招面试前必看一文 春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月 ...
- 【面试相关】数据分析面试前必看知识点QA①
趁着周末,决定花些时间来整理一下,属于我的数据分析学习地图. 第二篇:数据分析面试前必看知识点Q&A② 第一部分 知识框架 第二部分 面试准备 1.一开始先自我介绍,针对简历开始深入地问,目前 ...
- 一个HR人给应届生的面试建议,关于应届生面试自我介绍、常见问题及回答、面试礼仪、技巧等,非常全面、非常专业,面试前必看,晚了后悔呀。
一个HR人给应届生的面试建议,关于应届生面试自我介绍.常见问题及回答.面试礼仪.技巧等,非常全面.非常专业,面试前必看,晚了后悔呀. 从事人力资源工作很多年了,多多少少积累了一些经验.已经有许多同仁发 ...
- 仅需8道题轻松掌握Python Web应用开发 | Python技能树征题
仅需9道题轻松掌握Python Web应用开发 | Python技能树征题 0. 前言 1. 第 1 题:客户端访问 Web 服务器 2. 第 2 题:构建 TCP 服务器 3. 第 3 题:构建 U ...
- 第一课 Python Web企业门户网站—Python基础
目录 1.1 Python简介 1.1.1 Python语言优势 1.1.2 用Python开发Web的优势 1.2 安装Python和开发工具 1.2.1 安装Python 1.2.2 安装Visu ...
- Python Web实战:Python+Django+MySQL实现基于Web版的增删改查
本文使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能. 1.创建项目(sms) 创建Django项目 django-admi ...
- python从爬虫到数据分析项目_零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!...
随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言. Python语言目前是IT行业内应用最为广泛 ...
- 【面试相关】数据分析面试前必看知识点QA③
机器学习篇 1.Xgboost 2.类别特征,数值特征的处理 3.损失函数 4.ROC.PR的区别,什么时候选择PR,什么时候选择ROC 5.对朴素贝叶斯的理解? A:朴素贝叶斯算法是一种基于贝叶斯定 ...
- 春招/秋招面试前必看一文
春节过完,不管是大三/研二.还是大四/研三,就要投入到最激烈的春招当中去了,各大公司将会正式招聘,由元旦期间拉开序幕(1 - 2 月),到彻底的进入白热化阶段(3 - 4 月),竞争是相当的激烈,谁做 ...
最新文章
- 一些C实现的数学函数实现(估算)
- TFTP commons-net-3.3.jar
- PAT 1057. 数零壹
- 微服务注册发现集群搭建——Registrator + Consul + Consul-template + nginx
- 【Tiny4412】烧写最小文件系统到EMMC
- HDU - 6625 three arrays (Trie+dfs)
- 两个二进制数异或的结果
- 论文推荐|Mask TextSpotter:An End-to-End Trainable Neural Network
- 《白帽子讲web安全》第一篇 世界观安全
- H3C交换机配置VLAN
- Linux上搭建ElasticSearch-8.x集群以及安装Kibana(保姆级安装教程)
- UVC驱动分析一条龙
- 在IDEA新建了个moudle,但maven里该moudle名显示为灰色
- 神策数据:数字化营销助力鞋服企业转型
- 程序员效率:整理常用的在线笔记软件
- 21点扑克游戏的出牌策略的研究
- 五险一金,终于懂了!
- Android 5.1 长按power键流程分析
- 2021年中国城市财力半年报 Top 30
- 聊一下关于面试的话题,只谈共性,不谈个例,一家之言,仅供求职者参考:)
热门文章
- MVC 中的 ViewModel
- Global.asax中Application_Error无法执行
- python创建类的实例方法-Python中动态创建类实例的方法
- linux禅道8.1安装教程,Ubuntu 18.4安装禅道9.8.3 linux 64位一键版本
- 全国计算机二级vfp知识点,全国计算机二级VFP知识点总结
- java两个jre_为什么会有两个jre?060925(原创)
- rpm怎样在win安装mysql_centos7.6安装mysql的正确步骤
- LINUX进程调度分析源码,Linux 实时调度(源码分析)
- access导出MySQL表格_如何将Access数据库里的表内容导出到Excel
- 计算机导论简答芯片,吉大计算机 - 计算机导论简答题 (2011级)