Python面试重点(web篇)
注意:只有必答题部分计算分值,补充题不计算分值。
第一部分 必答题
注意:除第四题4分以外,其他题均每题3分。
写出常用的bootstrap的样式。
什么是响应式布局?
请通过jQuery发送ajax请求。
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()
什么是跨域?如何解决?
简述你对Http协议的理解?
http 是请求和应答的标准 超文本传输协议可以理解为为了传输html文件的协议, 主要用于web浏览器和文本服务器之间的双工通信
简述你对Https协议的理解?
列举常见的http请求头及作用?
location 重定向 cookie set-cookie x-csrftoken content-type text/html application/json user-agent host
列举常见的http请求方法及作用?
get 获取内容 post 提交响应 put delete head option trace connect
列举常见的http响应状态码。
1xx 请求已经接收 还需要进一步的处理 2xx 请求正常接收并且响应 3xx 重定向 301 302 4xx 请求的错误 403 404 402 5xx 服务器的错误 500 502
http中
connections:keep-alive
的请求头的作用?django请求生命周期?
什么是wsgi?
web 服务器网关接口 是python用用程序或框架和web服务器之间的一种接口
什么是MVC ?什么是MTV?
mvc m:model 模型 数据库交互 v: view 视图 展示给用户看的 Html c: controller 控制器 业务逻辑 传递指令 mtv m: model 模型 orm t: template 模板 v: view 视图 业务逻辑
django中间件作用以及应用场景?
中间件就是一个类,在全局范围内处理django的请求和响应 process_request(self,request) 执行时间: 在视图函数之间 执行顺序: 按照注册的顺序 顺序执行 参数: request: 请求的对象 和视图函数是同一个 返回值: none: 正常流程 HttpResponse:之后中间件的process_request,路由,process_view,视图都不执行,执行当前中间件对于process_response方法,接着倒叙执行之前的中间件的process_response方法 process_response(self,request,response) 执行时间: 在视图函数之后 执行顺序: 参照注册的顺序 倒叙执行 参数: request: 请求的对象 和视图函数是同一个 response: 响应对象 返回值: HttpResponse: 必须返回 return response process_view(self,request,view_func,view_args,view_kwargs) 执行时间: 在路由匹配之后,在视图函数之前 执行顺序: 按照注册的顺序 顺序执行 参数: request: 请求的对象 和视图函数是同一个 view_func:视图函数 view_args:给视图函数传递的位置参数 分组 view_kwargs: 给视图传递的关键字参数 命名分组 返回值: none: 正常流程 HttpRseponse:之后中间件的proces_view,视图都不执行,直接执行最后一个中间件process_response,倒叙执行之前中间件的process_response方法 process_template_response(self,request,response) 执行时间: 当时图函数返回一个templateResponse对象 执行顺序: 按照注册收的顺序 倒叙执行 参数: request:请求的对象,和视图函数是同一个 response: 响应的对象 返回值: HttpResponse:必须返回
django中FBV和CBV有什么区别?
django orm中如何批量创建数据?
django 如何执行原生SQL?
django的orm如何查询id不等于5的数据。
cookie和session的区别?
## cookie和session ### cookie 1. #### 定义 保存在浏览器上的一组组键值对 2. #### 为什么要有? HTTP协议是无状态,每次请求之间都相互独立的,之间没有关系,没办法保存状态。所以说需要有cookie来保存状态,保存内容根据业务内容来说 3. #### 特性: 1. 服务器让浏览器进行设置,浏览器有权利不保存 2. 下次访问时,自动携带响应的cookie 3. 保存在浏览本地的 4. #### django的操作:response 响应 1. 设置 set-cookie response.set_cookie(key,value,max_age=5,path='/') response.set_signed_cookie(key,value,max_age=5,path='/',salt='xxxxx') salt=xxxx 加密的cookie,也就是给cookie加盐 2. 获取 cookie request.COOKIES {} request.COOKIES[key] request.COOKIES.get(key) request.get_signed_cookie(key,salt='xxxxx',default=‘’) 获取加密了的需要有参数default 为 空 防止本身自带的参数的报错影响 3. 删除 set-cookie response.delete-cookie(key') ### session 1. #### 定义: 保存在服务器上的一组组键值对,必须依赖cookie 2. #### 为什么要有? 1. cookie保存在浏览器上,不太安全 2. 浏览器对cookie的大小有一定的限制 3. #### session的流程: 1. 浏览器发送请求,没有cookie也没有session 2. 要设置session时,先根据浏览器生成一个唯一标识(session_key),存键值对,并且有超时时间 3. 返回cookie session_id = 唯一标识 4. #### 在django中的操作: 1. 设置 request.session[key] = value 2. 获取 request.session[key] request.session.get() 3. 删除 del request.session[key] request.session.pop(key) request.session.delete() 删除所有的session 不删除cookie request.session.flush() 删除所有的session 删除cookie 4. 其他 request.session.clear_expired() 删除已经失效的session数据 request.session.set_expiry(value) 设置session多长时间失效 5. 配置 from django.conf import global_settings SESSION_SAVE_EVERY_REQUEST = True 每次请求都更新session数据 SESSION_EXPIRE_AT_BROWSER_CLOSE = True 浏览器关闭就失效 SESSION_ENGINE = 'django.contrib.sessions.backends.db' 默认存在数据库 还可存在 缓存 文件 缓存+数据库 加密cookie 有一个Json序列化的过程 有一个字典 ,把这个字典进行json序列化变成了字符串,然后再把字符串进行加密,然后存在所要存在的地方,将来改时,把加密的字符串进行解密,变成json字符串,然后在进行反序列化变成字典 有内置方法操作,不用我们操作 前端判断是否获取到session的方法: {% if request.session.设置的settion的键 %} 获取到settion后要执行的内容 {% else %} 没有获取到settion时要执行的内容
django的orm中on_delete的作用?
关联外键
描述crm有哪些功能?
crm中什么是公户?什么是私户?为什么要做这个区分?
公户:公司公有的用户信息,通过购买,跑业务获取 私户: 业务员发展的自己的客户,从公户中转到的私户 防止业务员之间因为客户的原因发生争执
请列举出CRM系统中的表。
对数据库的数据做展示时,不同字段类型有不同的展示方法,分别是什么?
请详细说说你们公司销售是如何使用CRM的。
CRM中有哪些技术点?
为什么不用现成的crm而是自己去开发?
请简述实现权限控制的流程。
列举权限有多少张表?表中都有那些字段?
为什么要把权限信息放到session中?权限信息放到session有什么优缺点?
权限控制到按钮级别是如何实现的?
如何实现把权限粒度控制到数据行?
第二部分 补充题
- 详细描述是jsonp实现机制?
- django的orm如何通过数据自动化生成models类?
- django中如何设置缓存?
- django中信号的作用?
- django中如何设置读写分离
来源:https://www.cnblogs.com/lingege/p/12394512.html