Python面试重点(web篇)

Posted nuttiness

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面试重点(web篇)相关的知识,希望对你有一定的参考价值。

Python面试重点(web篇)

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

第一部分 必答题

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

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

    导航栏,表单,轮播图,下拉菜单

     

  2. 什么是响应式布局?

    响应式布局就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本.
    优点:灵活性强,能解决多设备显示问题
    缺点:不兼容所有浏览器,一定程度改变布局结构

     

  3. 请通过jQuery发送ajax请求。

    $.ajax({
      url: 地址,
      type: 请求方式,
      data : {},
      success:function (res){  
          # 逻辑
          $(this)
      }
       
    })

     

  4. 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()
    ?
  5. 什么是跨域?如何解决?

    当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
    ?

     

  6. 简述你对Http协议的理解?

    规定请求和响应的格式

     

  7. 简述你对Https协议的理解?

    超文本传输协议,利用SSL/TLS来加密数据包,由HTTP进行通信的一种协议。

     

  8. 列举常见的http请求头及作用?

    GET:get请求
    POST:post请求
    (PUT DELETE HEAD OPTIONS TRACE CONNECT)

     

  9. 列举常见的https请求方法及作用?

    GET:get请求
    POST:post请求
    (PUT DELETE HEAD OPTIONS TRACE CONNECT)

     

  10. 列举常见的http响应状态码。

    1xx  请求已接受,进一步进行处理
    2xx 请求已经接受,也正常处理
    3xx 重定向
    4xx 请求错误 403 404
    5xx 服务器的错误

     

  11. http中connections:keep-alive的请求头的作用?

    HTTP中keep-alive头部的作用是为保持TCP连接,节省操作系统资源,也能够保持HTTP请求的高效性。

     

  12. django请求生命周期?

    1.wsgi,请求封装交给web框架
    2.中间件,对请求进行校验或在请求对象中添加其他相关数据
    3.路由匹配,根据浏览器发送的不同url去匹配不同的视图函数
    4.视图函数,在视图函数中进行业务逻辑的处理.
    5.中间件,对响应的数据进行处理
    6.wsgi将响应的内容发送给浏览器

     

  13. 什么是wsgi?

    Web Server Gateway Interface,web服务器网关接口,它定义了web服务器如何与python应用程序进行交互

     

  14. 什么是MVC ?什么是MTV?

    MVC  
    M: model   模型 数据库交互
    V:view 视图   展示给用户看的 HTML
      C :controller   控制器 业务逻辑 传递指令
    MTV:
    M: model 模型   ORM
    T: template 模板  
    V: view   视图 业务逻辑

     

  15. django中间件作用以及应用场景?

    中间件: 中间件就是一个类,在全局范围内处理django的请求和响应
    中间件介于request与response处理之间的一道处理过程,想对比较轻量级,在全局上改变django的输入与输出
    ?

     

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

    FBV:在视图函数里面用函数处理请求
    CBV:在视图函数里面使用类处理请求
  17. django orm中如何批量创建数据?

    使用django.db.models.query.QuerySet.bulk_create()批量创建对象,减少SQL查询次数

     

  18. django 如何执行原生SQL?

    使用extra方法,依赖model模型
    使用raw方法,依赖model多用于查询
    执行自定义SQL

     

  19. django的orm如何查询id不等于5的数据。

    子表原名.objects.get(id!=5).母表表名小写.母表字段名

     

  20. cookie和session的区别?

    cookie:保存在浏览器上一组组键值对
    特点:1.由服务器让浏览器进行设置
    2.保存在浏览器本地的
    3.下次访问时自动携带对应的cookie
    session:保存在服务器上一组组键值对,必须依赖cookie
    ?

     

  21. django的orm中on_delete的作用?

    级联删除

     

  22. 描述crm有哪些功能?

    客户关系管理系统
    联系人信息、客户管理、留言信息、时间管理、事务管理、日程管理、产品管理、订单管理、系统相关权限管理、以及管理员模块

     

  23. crm中什么是公户?什么是私户?为什么要做这个区分?

    没有绑定销售的客户称为公户,绑定销售的客户称为私户.
    销售人员各自维护自己的客户(私户),不可以查看或者跟进其他销售的客户,避免产生纠纷

     

  24. 请列举出CRM系统中的表。

    用户管理表 报名表,跟进记录表,客户信息表,缴费记录表,财务表

     

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

    普通字段 -- 对象.字段名
    choice字段 -- 对象.get_字段名_display
    外键 -- 对象.外键字段.属性
    多对多 -- 对象.自定义方法

     

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

    销售可以通过个人渠道获取客户信息,自己录入系统中,或者主管把已经录入系统的客户分给销售.销售需要在特定时间内对客户进行跟进记录,将跟进记录输入系统内,以便跟进不同客户的不同情况.当客户确定报名后,要让客户填写报名表,当销售收到客户的缴费,填写缴费记录表,并将费用转交财务

     

  27. CRM中有哪些技术点?

    auth模块  认证功能
    modelfrom 对表进行增删改查
    分页 数据分页展示
    事务 + 行级锁 私户公户管理
    QueryDict 保留搜索条件

     

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

    crm系统开源化,利用现成的crm容易造成数据危险

     

  29. 请简述实现权限控制的流程。

    权限表 一个url代表一个权限,可以访问某个url,代表拥有某个权限,当用户成功登录时,根据用户的角色查询所拥有的权限,将权限放在session中,登录时自动携带,请求中间件会对权限进行校验,根据访问的url和session进行匹配.
    页面中可以点击的按钮也是权限,判断该按钮所代表的权限是否在用户的权限内,如果有就显示,没有就不显示

     

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

    菜单表  id  name
    权限表 id title url name menu_id parent_id
    角色表 id name
    用户表   id username passwward
    角色和权限关系表 id 角色表id 权限表id
    用户和角色关系表 id 用户表id   角色表id

     

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

    将权限和菜单的字典存放在session中是为了给不同用户存放不同的权限和菜单, 并且session可以存放在Redis中, 读取速度快.

     

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

    自定义filter

     

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

    ?

     

 

第二部分 补充题

  1. 详细描述是jsonp实现机制?

    ?

     

  2. 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.

     

  3. django中如何设置缓存?

    安装redis

     

  4. django中信号的作用?

    ?

     

  5. django中如何设置读写分离

    ?

     

  6.  

以上是关于Python面试重点(web篇)的主要内容,如果未能解决你的问题,请参考以下文章

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(web篇)

Python面试重点(基础篇)