crrm复习

Python面试重点(web篇)

注意:只有必答题部分计算分值,补充题不计算分值。

第一部分 必答题

注意:除第四题4分以外,其他题均每题3分。

  1. 写出常用的bootstrap的样式。

  2. 什么是响应式布局?

    响应式布局:简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。
    
  3. 请通过jQuery发送ajax请求。

    $.ajax({
      type: 'POST',
      url: "http://xxx/yyy/zzz/sendVerifyCode",
      data:{
        phoneNo:$(".tel").val()
      },
      success: function(data){
        $.toast("发送成功", "text")
      },
      error: function(){
        $.toast("发送失败", "text")
      }
    })
    
  4. 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() 
    
    
  5. 什么是跨域?如何解决?

    当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
    
    
    
  6. 简述你对Http协议的理解?

    http是超文本传输协议,信息是明文传输
    http的连接很简单,是无状态的
    端口80
    
  7. 简述你对Https协议的理解?

    https则是具有安全性的ssl加密传输协议
    https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
    端口443
    
    
  8. 列举常见的http请求头及作用?

    Accept:向服务器申明客户端(浏览器)可以接受的媒体类型(MIME)的资源
    Accept-encoding:向服务器申明客户端(浏览器)接收的编码方法,通常为压缩方法
    Accept-Language:向服务器申明客户端(浏览器)接收的语言
    Cookie:告诉服务器关于 Session 的信息,存储让服务器辨识用户身份的信息。
    Refer:告诉服务器该页面从哪个页面链接的。
    User-agent:向服务器发送浏览器的版本、系统、应用程序的信息。
    
    
  9. 列举常见的http请求方法及作用?

    GET 请求指定的页面信息,并返回实体主体。
    HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    PUT 从客户端向服务器传送的数据取代指定的文档的内容。
    DELETE 请求服务器删除指定的页面。
    CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    OPTIONS 允许客户端查看服务器的性能。
    TRACE 回显服务器收到的请求,主要用于测试或诊断。
    
    
  10. 列举常见的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 //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    
    
  11. http中connections:keep-alive的请求头的作用?

  12. django请求生命周期?

    当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的	动作(action),这个动作通常为get或者post,体现在url之中.
    url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 	一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了.
    视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符	串返回给客户端.
    客户端浏览器接收到返回的数据,经过渲染后显示给用户.
    
    
  13. 什么是wsgi?

    WSGI是Python在处理HTTP请求时,规定的一种处理方式。如一个HTTP Request过来了,那么就有一个相应的处理函数来进行处理和返回结果。WSGI就是规定这个处理函数的参数长啥样的,它的返回结果是长啥样的?至于该处理函数的名子和处理逻辑是啥样的,那无所谓。简单而言,WSGI就是规定了处理函数的输入和输出格式。
    
    
  14. 什么是MVC ?什么是MTV?

    MVC  
    
    ​	M:  model    模型 数据库交互
    
    ​	V:view  视图   展示给用户看的  HTML 
    
    ​    C :controller   控制器  业务逻辑  传递指令
    
    MTV:
    
    ​	M:  model  模型   ORM
    
    ​	T:  template  模板   html
    
    ​	V:  view   视图  业务逻辑
    
    
  15. django中间件作用以及应用场景?

    
    
  16. django中FBV和CBV有什么区别?

    FBV和CBV本质是一样的,基于函数的视图叫做FBV,基于类的视图叫做CBV 在python中使用CBV的优点:
    
    .提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承)
    .可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性
    
    
  17. django orm中如何批量创建数据?

    objs=[models.Book(title="图书{}".format(i+15)) for i in range(100)]
    models.Book.objects.bulk_create(objs)
    
    
  18. django 如何执行原生SQL?

    使用execute执行自定义的SQL,直接执行SQL语句(类似于pymysql的用法)
    使用extra方法 :queryset.extra(select={"key": "原生的SQL语句"})
    
    
  19. django的orm如何查询id不等于5的数据。

    
    
  20. cookie和session的区别?

    cookie: cookie是保存在浏览器端的键值对,可以用来做用户认证
    session: 将用户的会话信息保存在服务端,key值是随机产生的字符串,value值是session的内容 依赖于cookie将每个用户的随机字符串保存到用户浏览器上
    Django中session默认保存在数据库中:django_session表
    flask,session默认将加密的数据写在用户的cookie中
    
    
  21. django的orm中on_delete的作用?

    删除关联表中的数据时,当前表与其关联的field的操作
    django2.0之后,表与表之间关联的时候,必须要写on_delete参数,否则会报异常
    
    
  22. 描述crm有哪些功能?

    销售部,为课程顾问提供公户、私户管理,并且针对每个销售实现私户分配 <=150个客户,并且销售需要填写跟进记录。当客户转化成功之后,要添加入班申请且缴费信息,最终由财务审核入班。
    
    运营部,录入客户信息到公户并对于客户进行跟踪,由于销售经理或课程顾问进行分配或申请到私户,然后进行转化。
    
    教质部,日常学员考勤及上课记录,定时对学员进行谈话以及纪律维护(积分管理),除此之外由班主任可以发起转班以及留级申请。
    
    2. 项目开发
    
    
  23. crm中什么是公户?什么是私户?为什么要做这个区分?

    公户:是没有销售管理的客户
    私户:是某个销售跟踪管理的客户
    
    
  24. 请列举出CRM系统中的表。

    
    
  25. 对数据库的数据做展示时,不同字段类型有不同的展示方法,分别是什么?

    
    
  26. 请详细说说你们公司销售是如何使用CRM的。

  27. CRM中有哪些技术点?

  28. 为什么不用现成的crm而是自己去开发?

    每个公司的业务情况都有所不同,所以才导致了开发不同的crm
    
    
  29. 请简述实现权限控制的流程。

    
    
  30. 列举权限有多少张表?表中都有那些字段?

  31. 为什么要把权限信息放到session中?权限信息放到session有什么优缺点?

  32. 权限控制到按钮级别是如何实现的?

  33. 如何实现把权限粒度控制到数据行?

第二部分 补充题

  1. 详细描述是jsonp实现机制?
  2. django的orm如何通过数据自动化生成models类?
  3. django中如何设置缓存?
  4. django中信号的作用?
  5. django中如何设置读写分离
posted @ 2020-03-02 11:26  风景!  阅读(336)  评论(0编辑  收藏  举报