Python面试重点(web篇)
Posted nuttiness
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面试重点(web篇)相关的知识,希望对你有一定的参考价值。
注意:只有必答题部分计算分值,补充题不计算分值。
第一部分 必答题
注意:除第四题4分以外,其他题均每题3分。
-
写出常用的bootstrap的样式。
导航栏,表单,轮播图,下拉菜单
-
什么是响应式布局?
响应式布局就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本.
优点:灵活性强,能解决多设备显示问题
缺点:不兼容所有浏览器,一定程度改变布局结构 -
请通过jQuery发送ajax请求。
$.ajax({
url: 地址,
type: 请求方式,
data : {},
success:function (res){
# 逻辑
$(this)
}
}) -
JavaScript与this相关的面试题(4分)
name = ‘老男孩‘;
?
info = {
name:‘alex‘,
age:123,
func:function(){
console.log(this.name);
}
}
?
info.func()name = ‘老男孩‘;
?
info = {
name:‘alex‘,
age:123,
func:function(){
console.log(this.name);
function f1(){
console.log(this.name);
}
f1()
}
}
?
info.func()name = ‘老男孩‘;
?
info = {
name:‘alex‘,
age:123,
func:function(){
console.log(this.name);
(function(){
console.log(this.name);
})()
}
}
?
info.func()name = ‘老男孩‘;
?
info = {
name:‘alex‘,
age:123,
func:function(){
console.log(this.name);
var xxx = this;
(function(){
console.log(xxx.name);
})()
}
}
?
info.func()
? -
什么是跨域?如何解决?
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
? -
简述你对Http协议的理解?
规定请求和响应的格式
-
简述你对Https协议的理解?
超文本传输协议,利用SSL/TLS来加密数据包,由HTTP进行通信的一种协议。
-
列举常见的http请求头及作用?
GET:get请求
POST:post请求
(PUT DELETE HEAD OPTIONS TRACE CONNECT) -
列举常见的https请求方法及作用?
GET:get请求
POST:post请求
(PUT DELETE HEAD OPTIONS TRACE CONNECT) -
列举常见的http响应状态码。
1xx 请求已接受,进一步进行处理
2xx 请求已经接受,也正常处理
3xx 重定向
4xx 请求错误 403 404
5xx 服务器的错误 -
http中
connections:keep-alive
的请求头的作用?HTTP中keep-alive头部的作用是为保持TCP连接,节省操作系统资源,也能够保持HTTP请求的高效性。
-
django请求生命周期?
1.wsgi,请求封装交给web框架
2.中间件,对请求进行校验或在请求对象中添加其他相关数据
3.路由匹配,根据浏览器发送的不同url去匹配不同的视图函数
4.视图函数,在视图函数中进行业务逻辑的处理.
5.中间件,对响应的数据进行处理
6.wsgi将响应的内容发送给浏览器 -
什么是wsgi?
Web Server Gateway Interface,web服务器网关接口,它定义了web服务器如何与python应用程序进行交互
-
什么是MVC ?什么是MTV?
MVC
M: model 模型 数据库交互
V:view 视图 展示给用户看的 HTML
C :controller 控制器 业务逻辑 传递指令
MTV:
M: model 模型 ORM
T: template 模板
V: view 视图 业务逻辑 -
django中间件作用以及应用场景?
中间件: 中间件就是一个类,在全局范围内处理django的请求和响应
中间件介于request与response处理之间的一道处理过程,想对比较轻量级,在全局上改变django的输入与输出
? -
django中FBV和CBV有什么区别?
FBV:在视图函数里面用函数处理请求
CBV:在视图函数里面使用类处理请求 -
django orm中如何批量创建数据?
使用django.db.models.query.QuerySet.bulk_create()批量创建对象,减少SQL查询次数
-
django 如何执行原生SQL?
使用extra方法,依赖model模型
使用raw方法,依赖model多用于查询
执行自定义SQL -
django的orm如何查询id不等于5的数据。
子表原名.objects.get(id!=5).母表表名小写.母表字段名
-
cookie和session的区别?
cookie:保存在浏览器上一组组键值对
特点:1.由服务器让浏览器进行设置
2.保存在浏览器本地的
3.下次访问时自动携带对应的cookie
session:保存在服务器上一组组键值对,必须依赖cookie
? -
django的orm中on_delete的作用?
级联删除
-
描述crm有哪些功能?
客户关系管理系统
联系人信息、客户管理、留言信息、时间管理、事务管理、日程管理、产品管理、订单管理、系统相关权限管理、以及管理员模块 -
crm中什么是公户?什么是私户?为什么要做这个区分?
没有绑定销售的客户称为公户,绑定销售的客户称为私户.
销售人员各自维护自己的客户(私户),不可以查看或者跟进其他销售的客户,避免产生纠纷 -
请列举出CRM系统中的表。
用户管理表 报名表,跟进记录表,客户信息表,缴费记录表,财务表
-
对数据库的数据做展示时,不同字段类型有不同的展示方法,分别是什么?
普通字段 -- 对象.字段名
choice字段 -- 对象.get_字段名_display
外键 -- 对象.外键字段.属性
多对多 -- 对象.自定义方法 -
请详细说说你们公司销售是如何使用CRM的。
销售可以通过个人渠道获取客户信息,自己录入系统中,或者主管把已经录入系统的客户分给销售.销售需要在特定时间内对客户进行跟进记录,将跟进记录输入系统内,以便跟进不同客户的不同情况.当客户确定报名后,要让客户填写报名表,当销售收到客户的缴费,填写缴费记录表,并将费用转交财务
-
CRM中有哪些技术点?
auth模块 认证功能
modelfrom 对表进行增删改查
分页 数据分页展示
事务 + 行级锁 私户公户管理
QueryDict 保留搜索条件 -
为什么不用现成的crm而是自己去开发?
crm系统开源化,利用现成的crm容易造成数据危险
-
请简述实现权限控制的流程。
权限表 一个url代表一个权限,可以访问某个url,代表拥有某个权限,当用户成功登录时,根据用户的角色查询所拥有的权限,将权限放在session中,登录时自动携带,请求中间件会对权限进行校验,根据访问的url和session进行匹配.
页面中可以点击的按钮也是权限,判断该按钮所代表的权限是否在用户的权限内,如果有就显示,没有就不显示 -
列举权限有多少张表?表中都有那些字段?
菜单表 id name
权限表 id title url name menu_id parent_id
角色表 id name
用户表 id username passwward
角色和权限关系表 id 角色表id 权限表id
用户和角色关系表 id 用户表id 角色表id -
为什么要把权限信息放到session中?权限信息放到session有什么优缺点?
将权限和菜单的字典存放在session中是为了给不同用户存放不同的权限和菜单, 并且session可以存放在Redis中, 读取速度快.
-
权限控制到按钮级别是如何实现的?
自定义filter
-
如何实现把权限粒度控制到数据行?
?
第二部分 补充题
-
详细描述是jsonp实现机制?
?
-
django的orm如何通过数据自动化生成models类?
1.修改settings.py的DATABASES
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘hoteldb‘,
‘USER‘: ‘root‘,
‘PASSWORD‘: ‘root‘,
‘HOST‘: ‘localhost‘,
‘PORT‘: ‘3306‘,
}
}
?
2. -
django中如何设置缓存?
安装redis
-
django中信号的作用?
?
-
django中如何设置读写分离
?
-
以上是关于Python面试重点(web篇)的主要内容,如果未能解决你的问题,请参考以下文章