zoukankan      html  css  js  c++  java
  • 常见面试题

    python题

    1.类方法(classmethod):1.在python中.类方法 @classmethod 是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。

                     类方法的第一个参数cls,而实例方法的第一个参数是self,表示该类的一个实例。

                  2.普通对象方法至少需要一个self参数,代表类对象实例。

                  3.类方法有类变量cls传入,从而可以用cls做一些相关的处理。并且有子类继承时,调用该类方法时,传入的类变量cls是子类,而非父类。

                   对于类方法,可以通过类来调用,就像C.f(),有点类似C++中的静态方法, 也可以通过类的一个实例来调用,就像C().f(),这里C(),写成这样之后它就是类的一个实例了。

    class info(object):
    
      @classmethod
      def sayclassmethod(cls):
    
        print 'say %s' % cls
    
      def saymethod(self):
    
        print 'say %s' % self
    
    
    test = info()
    test.saymethod()##实例调用方法
    test.sayclassmethod()##实例调用类方法
    info.saymethod(test)##类调用实例方法
    info.sayclassmethod()##类调用类方法
    

    2.python中的变量名区分大小写。

    3.关键字参数清除了参数顺序的需求,关键字参数之间不存在先后顺序。

    4.多线程

      1.当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,

         默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束。

      2.当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被终止执行,可能出现的情况就是,子线程的任务

         还没有完全执行结束,就被迫停止。

      3.出现2情况就使用join。join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程在终止。

      4.join有一个timeout参数:

        1.当设置守护线程时,含义是主线程对于子线程等待timeout的时间将会杀死该子线程,最后退出程序。所以说,如果有10个子线程,全部的等待时间就是每个timeout的累加和。

         简单的来说,就是给每个子线程一个timeout的时间,让他去执行,时间一到,不管任务有没有完成,直接杀死。

        2.没有设置守护线程时,主线程将会等待timeout的累加和这样的一段时间,时间一到,主线程结束,但是并没有杀死子线程,子线程依然可以继续执行,直到子线程全部结束,程序退出。

    SQL:

    1.primary key  主键

     unique  唯一约束

     foreign key   外键约束

    2.修改数据库命令:AlterDatabase

    3.DML触发器:是数据库特殊的存储程序,通常不直接调用,而是由数据库事件触发。

      

    一. DML触发器
    在数据库上执行insert,update,delete时,DML触发器会被激活。
     
     
     
    算法:
    1.概率算法:数值概率算法、蒙特卡洛算法、拉斯维加斯算法、舍伍德算法。
       贪心算法:做出在当前看来最好的选择。
       动态规划算法:每次决策依赖于当前状态,又随即引起状态的转移。
       分治算法:把一个复杂的问题分成两个或者更多的相同或相似的子问题,再把子问题分成更小的子问题,直到最后的子问题可以简单的直接求解。原问题
          的解即是子问题解的合并。
       分支限界法:“分支“采用广度优先的策略,依次搜索E-结点的所有分支,也就是所有相邻结点,抛弃不满足约束条件的结点,其余结点加入活结点表。
          然后从表中选择一个结点作为下一个E-结点,继续搜索。
     回溯法:是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法。
        但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解
        或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解
     
     
     
     
     
  • 相关阅读:
    qemu的几篇文章---涉及qemu的注入
    网络以及linux相关--重点参考--包含相关linux服务的部署和使用
    ipv6的相关情况简略说明
    向日葵服务器相关ip,通过ipset过滤(oray.com oray.net),可能不完整,需要dnsmasq ipset持续监听相关域名
    linux shell重要参考网站
    web信息收集分类
    针对管理员的信息收集 以及 它的意义
    目标网站弱点功能探测
    网站文件目录探测
    目标后台探测以及物理路径探测
  • 原文地址:https://www.cnblogs.com/jacky912/p/10726354.html
Copyright © 2011-2022 走看看