zoukankan      html  css  js  c++  java
  • 可能出现的面试题

    1、什么是orm框架
    orm:对象关系映射
    类 --- 表
    对象 --- 一条记录
    当有了对应关系之后,不需要再编写sql语句,直接操作,类,对象


    2、sql vs ormsql
    查询速度快,开发效率低
    orm开发效率高,查询速度较低


    3、概念理解
      -db first 根据数据库的表生成类
      -code first 根据类生成数据库的表


    4、orm是怎么实现的
      根据对象和类通过字符串格式化转化成sql语句
      DDD中:unit of work

    5.类私有化字段的访问

      __leiming__.__field__派生类不能访问父类私有字段通过self,等无法调到,除非强制使用——__下划线+类名去调用。

     6.DButils

      

     DBUtils是Python的一个用于实现数据库连接池的模块。 

    模式:
    - 每个线程创建一个连接,关闭(默认不关闭),线程终止时,才关闭连接。
    - 创建共享连接池

      7.同源策略

        同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

     同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。


    8.JSONP

    jsonp是json用来跨域的一个东西。原理是通过script标签的跨域特性来绕过同源策略。将JSON数据填充进回调函数,这就是JSONP的JSON+Padding的含义。 一般情况下,我们希望这个script标签能够动态的调用,而不是像上面因为固定在html里面所以没等页面显示就执行了,很不灵活。我们可以通过javascript动态的创建script标签,这样我们就可以灵活调用远程服务了。
    9.restframework-CBV的好处

       CBV(class base views) 就是在视图里使用类处理请求。

       Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承、封装、多态)。所以Django在后来加入了Class-Based-View。可以让我们用类写View。这样做的优点主要下面两种:

    1. 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承)
    2. 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性

     10.解释一下dispatch.as_view()里头那as_view()是咋回事

       Django的url是将一个请求分配给可调用的函数的,而不是一个class。针对这个问题,class-based view提供了一个as_view()静态方法(也就是类方法),调用这个方法,会创建一个类的实例,然后通过实例调用dispatch()方法,dispatch()方法会根据request的method的不同调用相应的(http_method_names)中的方法来处理request(如get(),post()等)。到这里,这些方法和function-based view差不多了,要接收request,得到一个response返回。如果方法没有定义,会抛出HttpResponseNotAllowed异常。

       11.http协议支持的请求方式

    get请求:    查看数据
    post请求:   添加数据
    delete请求:  删除数据
    put请求:   更新指定数据
    patch请求:  更新全部数据 等

     12.请您谈谈http协议

    http协议本质  是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议

     
  • 相关阅读:
    分布式文件存储系统-HDFS
    Java中的常用类
    分布式协调框架ZooKeeper
    【Redis】Redis慢查询
    kubectl工具管理应用
    kubectl命令管理
    To check your hdfs port use the following command in linux
    hadoop HDFS常用文件操作命令
    在scala中关于split以及正则表达式
    pandas入门之Series
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/9008878.html
Copyright © 2011-2022 走看看