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

    1. 试列出至少三种目前流行的大型关系数据库的名称

    mysql oracle sqlserver

    2. 有表list,共有字段ABC类型都是整数,表中有如下记录:

      A    B     C
      2    7     9
      5    6     4
      3    11    9 

    现在对该表依次完成以下操作:
    (1) 查询出B、C列的值,要求按B列升序排序:

    select B,C from list order by B asc;

    (2) 写一条新的纪录,值为 7 8 9

    inset into list(A,B,C) values(7,8,9);

    (3) 查询C列,要求清除重复的值,按降序排列:

    select C from test group by C desc;

    3. 视图的作用:

    4. 列举用过的python网络爬虫所用到的网络数据包

    5. 列举用过的python网络爬虫所用到的解析数据包

    6. python中的编码方式

    7. python3.5语言中enumerate的意思

    对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

    8. (99) 的八进制表示是

    8 99
    8  12  3  
    8  1   4 
       0   1
       
    结果为143

    9. 请列出三种常用的排序算法

    10. 列出 python 中比较熟知的爬虫架构是______________.
    11. 用 4,9,2,7 四个数字,可以使用+,-,*和/号,每个数字只使用 1 次,而且必须使 用 1 次,使表达式的结果是 24,表达式是_______.

    12. 写出网络爬取过程中,遇到防爬问题的解决办法
    13. for i in range(5,0,-1):print(i) 写出打印结果:

    5 4 3 2 1

    14. 获取 list 的元素个数,和向末尾追加元素所用的方法是____,____.

    len append
    

    15. 判断 dict 有没有某个 key 用的方法是( )

    get()

    16. L=range(100)  取第一到第三个元素用( ),取倒数第二个 元素用( ), 取后十个用( )

    list(li[1:4])    list(li[-3:-2])    list(li[-10:])
    

    17.  把 L 复制给 L1 用( )。注意:非引用传递

    	import copy
    	L1 = copy.deepcopy(L)
    

    18. d = {‘a’:1,’b’:2,’c’:3} 请打印出 key,value 值  

    d = {'a':1,'b':2,'c':3}
    for a in d.items():
        print(a)
    

    19. 如何判断一个变量是不是字符串

    li = ""
    print(isinstance(li,str))
    

    20. list 和 tuple 和 dict 各自特点

    tuple  元祖 固定长度不可变的顺序容器,访问效率高,适合存储一些常量数据,可以作为字典的键使用
    list   列表 是长度可变有序的数据存储容器,可以通过下标索引取到相应的数据
    dict   字典 长度可变的hash字典容器,存储的方式为键值对,可以通过相应的键获取相应的值,key支持多种类型
    

    21. xrange 和 range 有什么不同

    range生成的结果是一个列表,当生成一个很大的序列时会占用很大的内存空间
    而xrange生成的结果则是一个生成器,当生成一个很大的序列时,性能会比range优很多
    

    22. ‘1,2,3’如何变成[‘1’,’2’,’3’]     [‘1’,’2’,’3’]如何变成[1,2,3] ?

    obj = "1,2,3".split(",")
    xx = [int(i) for i in obj]
    

    23. def add_end(L=[]):

        L.append(‘END’)

        return L
      add_end() 输出什么?
      add_end() 再次调用输出什么?为什么? 

    ['END']
    
    ['END'] ['END'], 因为在第一次调用的时候L就已经生成,在内存中类似于全局变量,第二次调用的时候会在第一次调用的基础上进行添加(默认参数必须指向不变的对象)
    

    24. [34,5,12,9,21]怎么排序

    sorted()
    

    25. def func(a,b,c = 0,*args,**kw):

          pass

      *args,**kw 的作用是什么?

    *args接收位置参数,**kw接收关键字传参
    

    26. is 和 == 的区别是什么

    is是对比地址   ==是对比值
    

    27. 如何生成[1,4,9,16,25,36,64,81,100]尽量用一行实现

    obj = [i**2 for i in range(11)]
    

    28. 生成器是什么?有什么用?请写一个生成器

    可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象 
    
    def test():
        print("one")
        yield 1
    

    29. map(str,[1,2,3,4,5,6,7,8,9])输出什么

    #map函数是对一个序列的每个项依次执行函数
    
    输出是一个map对象
    
    加上list() 会输出['1', '2', '3', '4', '5', '6', '7', '8', '9']
    

    30. 已知 x=43,ch=‘A’,y=1,则表达式(x>=y and ch<‘B’and y )? 

    31. python 支持的数据类型有

    Number(数字)  
    String(字符串)
    List(列表)
    Tuple(元组)
    Sets(集合)
    Dictionary(字典)
    

    32. 请把一下函数转化成 python 的 lamabda 匿名函数:

      def add(x,y):

        return x+y 

    lamabda:x,y:x+y

    33.

    class A(object):
      def foo(self,x):
        print('executing foo(%s,%s)'%(self,x))
      @classmethod
      def class_foo(cls,x):
        print('executing foo(%s,%s)' % (cls, x))

      @staticmethod
      def static_foo(x):
        print('executing foo(%s)' %x)

    a = A()

    #调用 foo 函数,参数传入 1_________________________________.

    a.foo(1)

    #调用 class_foo 函数,参数传入 1___________________________.

    A.class_foo(1)

    #调用 static_foo 函数,参数传入 1___________________________. 

    a.static_foo(1)
    

    34. python 如何实现单例模式?

    class Dog(object):
    
        _instance = None
        _init_flag = False
    
        def __new__(cls, *args , **kwargs): #cls指向Dog
            if cls._instance == None:
                cls._instance = object.__new__(cls)
                return cls._instance
            else:
                return cls._instance
    
        def __init__(self,name):
            if Dog._init_flag == False:
                self.name = name
                Dog._init_flag = True
    
    
    a = Dog("旺财")
    print(a.name)
    b = Dog("啸天犬")
    print(b.name)
    

    35. 什么是 lambda 函数?

    36. 请写出一段 python 代码实现删除一个 list 里面的重复元素 

    list(set(li))
    

    37. 如何用 python 删除一个文件 

    os.remove()
    

    38. python 里面如何生成随机数 

    random.randrange()
    

    39. 在 Python 中,如何抛出,捕获,处理异常

    raise Exception("抛出一个异常")
    
    try:
    	pass
    except Exception as e:
    	print(e)
    

    40. 输入一个字符串,返回倒序排列结果:如‘abcdef’,返回‘fedcba’ 

    l = "abcde"
    print(l[::-1])
    

    41. 请用自己的算法,按升序合并如下两个 list,并出去重复元素。 list1 = [2,3,8,4,9,5,6],list2=[5,6,10,17,11,2] 

    print(list(set(list1 + list2)))
    

    42. python 中,元祖和列表的主要区别是

    tuple  元祖 固定长度不可变的顺序容器
    list     列表 是长度可变有序的数据存储容器
    

    43. 排好序的列表 alist 和字符 char1,表示 alist 中存在 char1 则返回 False,不存 在则返回 True 的表达式是

    li = ["alex","egon"]
    
    print(True if "alex" in li else False)
    

    44. 列表变量 alist,将 alist 中的最大值和最小值分别赋值给 maxValue 和 minValue 的表达式是

    alist = [1,2,3,4,5]
    maxValue,minValue = (max(alist),min(alist))

    45. 列表 alist = [{“a”:5,”b”:2},{“a”:2,”b”:8},{“a”:8,”b”:2}]请写出以键 a 的值对 alist 进行排序的表达式是

    sorted(alist,key=lambda x:x['a'])

    46. 求列表 alist 和 blist 交际的表达式是

    47. 不依赖中间变量,交换变量 a 和 b 的值得表达式是

    48. 现有列表 alist = [3,1,-4,-2],按照元素的绝对值大小进行排序的表达式是

    sorted(alist,key=lambda x:abs(x))

    49. 下面代码输出的结果是 

     my_dict = {'a':0,'b':1}

       def func(d):
         d['a'] = 1
         return d

    func(my_dict)
    my_dict['c'] = 2
    print(my_dict)

    {'a': 1, 'b': 1, 'c': 2}
    

      

      

      

    1. li = [1,2,3,11,22,33,555,666,777]
      要求: {1: [1, 2, 3], 2: [11, 22, 33], 3: [555, 666, 777]}

    { i:[ k for k in li if len(str(k)) == i] for i in [len(str(i)) for i in li]}
    

    2. 输出 [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]]

    r = (4, 5)
    ret = [[x*i for i in range(0, r[1])] for x in range(0, r[0])]
    

    3. [{'name':'zs','age':32},{'name':'ls','age':35}] 这样一个数据结构,取出name为zs的年龄

    print([i['age'] for i in s if i['name']=='zs'])
    

      

      

      

    http://www.cnblogs.com/tom-gao/p/6645859.html  

    
    

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

      

  • 相关阅读:
    wcf简单的创建和运用
    关于DevExpress的gridControl的简单使用
    泛型 Field 和 SetField 方法 (LINQ to DataSet)
    【转】string.Format对C#字符串格式化
    ashx实现文件下载以及文件MD5码测试
    【转】10分钟了解设计模式(C#)
    [转]Jquery中AJAX错误信息调试参考
    搭建Harbor docker镜像仓库
    安装python3.x
    shell替换
  • 原文地址:https://www.cnblogs.com/golangav/p/7424748.html
Copyright © 2011-2022 走看看