crrm复习
Python面试重点(web篇)
注意:只有必答题部分计算分值,补充题不计算分值。
第一部分 必答题
注意:除第四题4分以外,其他题均每题3分。
-
写出常用的bootstrap的样式。
-
什么是响应式布局?
响应式布局:简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。
-
请通过jQuery发送ajax请求。
$.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data:{ phoneNo:$(".tel").val() }, success: function(data){ $.toast("发送成功", "text") }, error: function(){ $.toast("发送失败", "text") } })
-
JavaScript与this相关的面试题(4分)
name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); } } info.func() // alex
name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); function f1(){ console.log(this.name); } f1() } } info.func() // alex // alex
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协议的理解?
http是超文本传输协议,信息是明文传输 http的连接很简单,是无状态的 端口80
-
简述你对Https协议的理解?
https则是具有安全性的ssl加密传输协议 https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全 端口443
-
列举常见的http请求头及作用?
Accept:向服务器申明客户端(浏览器)可以接受的媒体类型(MIME)的资源 Accept-encoding:向服务器申明客户端(浏览器)接收的编码方法,通常为压缩方法 Accept-Language:向服务器申明客户端(浏览器)接收的语言 Cookie:告诉服务器关于 Session 的信息,存储让服务器辨识用户身份的信息。 Refer:告诉服务器该页面从哪个页面链接的。 User-agent:向服务器发送浏览器的版本、系统、应用程序的信息。
-
列举常见的http请求方法及作用?
GET 请求指定的页面信息,并返回实体主体。 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 PUT 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE 请求服务器删除指定的页面。 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 OPTIONS 允许客户端查看服务器的性能。 TRACE 回显服务器收到的请求,主要用于测试或诊断。
-
列举常见的http响应状态码。
1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–要完成请求必须进行更进一步的操作 4xx:客户端错误–请求有语法错误或请求无法实现 5xx:服务器端错误–服务器未能实现合法的请求 常见状态代码、状态描述、说明: 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的 URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
-
http中
connections:keep-alive
的请求头的作用? -
django请求生命周期?
当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的 动作(action),这个动作通常为get或者post,体现在url之中. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. 视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符 串返回给客户端. 客户端浏览器接收到返回的数据,经过渲染后显示给用户.
-
什么是wsgi?
WSGI是Python在处理HTTP请求时,规定的一种处理方式。如一个HTTP Request过来了,那么就有一个相应的处理函数来进行处理和返回结果。WSGI就是规定这个处理函数的参数长啥样的,它的返回结果是长啥样的?至于该处理函数的名子和处理逻辑是啥样的,那无所谓。简单而言,WSGI就是规定了处理函数的输入和输出格式。
-
什么是MVC ?什么是MTV?
MVC M: model 模型 数据库交互 V:view 视图 展示给用户看的 HTML C :controller 控制器 业务逻辑 传递指令 MTV: M: model 模型 ORM T: template 模板 html V: view 视图 业务逻辑
-
django中间件作用以及应用场景?
-
django中FBV和CBV有什么区别?
FBV和CBV本质是一样的,基于函数的视图叫做FBV,基于类的视图叫做CBV 在python中使用CBV的优点: .提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) .可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性
-
django orm中如何批量创建数据?
objs=[models.Book(title="图书{}".format(i+15)) for i in range(100)] models.Book.objects.bulk_create(objs)
-
django 如何执行原生SQL?
使用execute执行自定义的SQL,直接执行SQL语句(类似于pymysql的用法) 使用extra方法 :queryset.extra(select={"key": "原生的SQL语句"})
-
django的orm如何查询id不等于5的数据。
-
cookie和session的区别?
cookie: cookie是保存在浏览器端的键值对,可以用来做用户认证 session: 将用户的会话信息保存在服务端,key值是随机产生的字符串,value值是session的内容 依赖于cookie将每个用户的随机字符串保存到用户浏览器上 Django中session默认保存在数据库中:django_session表 flask,session默认将加密的数据写在用户的cookie中
-
django的orm中on_delete的作用?
删除关联表中的数据时,当前表与其关联的field的操作 django2.0之后,表与表之间关联的时候,必须要写on_delete参数,否则会报异常
-
描述crm有哪些功能?
销售部,为课程顾问提供公户、私户管理,并且针对每个销售实现私户分配 <=150个客户,并且销售需要填写跟进记录。当客户转化成功之后,要添加入班申请且缴费信息,最终由财务审核入班。 运营部,录入客户信息到公户并对于客户进行跟踪,由于销售经理或课程顾问进行分配或申请到私户,然后进行转化。 教质部,日常学员考勤及上课记录,定时对学员进行谈话以及纪律维护(积分管理),除此之外由班主任可以发起转班以及留级申请。 2. 项目开发
-
crm中什么是公户?什么是私户?为什么要做这个区分?
公户:是没有销售管理的客户 私户:是某个销售跟踪管理的客户
-
请列举出CRM系统中的表。
-
对数据库的数据做展示时,不同字段类型有不同的展示方法,分别是什么?
-
请详细说说你们公司销售是如何使用CRM的。
-
CRM中有哪些技术点?
-
为什么不用现成的crm而是自己去开发?
每个公司的业务情况都有所不同,所以才导致了开发不同的crm
-
请简述实现权限控制的流程。
-
列举权限有多少张表?表中都有那些字段?
-
为什么要把权限信息放到session中?权限信息放到session有什么优缺点?
-
权限控制到按钮级别是如何实现的?
-
如何实现把权限粒度控制到数据行?
第二部分 补充题
- 详细描述是jsonp实现机制?
- django的orm如何通过数据自动化生成models类?
- django中如何设置缓存?
- django中信号的作用?
- django中如何设置读写分离