• 笔试题102-117


    102、

    # 编程实现一个先进先出的队列类,能指定初始化时队列大小,以及cnqueue,dequeue,
    # is_empty,is_full四种方法
    '''
    s=Queue(2) 初始化一个大小为2的队列
    s.is_empty() 初始化后,队列为空,返回True
    s.cnqueue(1) 将1加入队列
    s.cnqueue(2) 将2加入队列
    s.is_full() 加入两个队列元素,队列已满,返回True
    s.dequeue() 移除队列中的一个元素返回1
    s.dequeue() 移除队列中的一个元素返回2
    s.is_empty() 队列为空,返回True
    '''

    class Queue(object):
    def __init__(self,n):
    self.n = n
    self.l = []
    def is_empty(self):
    if not self.l:
    return True
    def is_full(self):
    if len(self.l) < self.n:
    return True
    return False
    def cnqueue(self,k):
    if self.is_full():
    self.l.append(k)
    def dequeue(self):
    self.l.pop(0)

    103、

    # 编程实现一个后进先出的队列类,能指定初始化时栈大小,以及push,pop,
    # is_empty,is_full四种方法
    '''
    s=Stack(2) 初始化一个大小为2的栈
    s.is_empty() 初始化后,栈为空,返回True
    s.push(1) 将1加入栈
    s.push(2) 将2加入栈
    s.is_full() 加入两个栈元素,栈已满,返回True
    s.pop() 移除栈中的一个元素返回1
    s.pop() 移除栈中的一个元素返回2
    s.is_empty() 栈为空,返回True
    '''

    class Stack(object):
    def __init__(self,n):
    self.n = n
    self.l = []
    def is_empty(self):
    if not self.l:
    return True
    def is_full(self):
    if len(self.l) < self.n:
    return True
    return False
    def push(self,k):
    if self.is_full():
    self.l.append(k)
    def pop(self):
    self.l.pop()

    104、有一个数组,[3,4,1,2,5,6,6,5,4,3,3]请写一个函数,找出该数组中没有重复数的和

      答:

    l = [3,4,1,2,5,6,6,5,4,3,3]
    def xxx(l):
    d = {}
    s = 0
    for i in l:
    if i not in d:
    d[i] = 1
    else:
    d[i] += 1
    for k,v in d.items():
    if v == 1:
    s += k
    return s

    105、从0-99折100个数中随机取10个,要求不能有重复,可以自己设计数据结构

      答:

    import random
    def ran():
    l = []
    while len(l) < 10:
    x = random.randint(0, 11)
    if x not in l:
    l.append(x)
    return l

    106、Cookie和Session有什么区别

      答:Cookie是把所有数据保存在用户浏览器的键值对

        Session是把数据保存在服务器后端的键值对,通过保存在用户端的Cookie值来调用

    107、HTTP协议是有状态协议还是无状态协议,如何从两次请求中判断是同一用户

      答:无状态协议,通过cookie或session的传递来判断用户身份

    108、以下代码将输出什么

    l = ['a','b','c','d','e']
    print(l[10:])

      答:空列表

    109、以下代码的输出将是什么,说出你的答案,并解释

      

    def extendList(val,list=[]):
    list.append(val)
    return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')

    print(list1)
    print(list2)
    print(list3)
    你将如何修改函数的定义来产生期望的结果
    答:[10, 'a'][123][10, 'a'],将list=[]写在函数体中

    110、给定一个整数数组,返回两个数字索引,使得他们相加和一个目标值相等

      例如nums = [2,7,11,15] 目标是9,返回[0,1]

    nums = [2,7,11,15]

    def n(nums,aim):
    for i in range(len(nums)):
    for j in range(i+1):
    if i == j:continue
    elif nums[i] + nums[j] == aim:
    return [j,i]
    return None

    111、arr= [1,2,3]

      def bar():

        arr += [5]

      bar()

      print(arr)

      A、error   B、[5]   C、[1,2,3]    D、[1,2,3,5]

    112、Python,判断一个字典中是否有这些key:'AAA','BB','C','DD','EEE'(不使用for,while)

      答:i in dict

    113、Python一行print出1~100偶数列表(列表推导时,filter都可)

      答:print([i for i in range(1,101) if i % 2 == 0])

    114、1,2,3,4,5能组成多少个互不相同且无重复的三位数(程序实现)

      答:

    l = ['1','2','3','4','5']
    def m(l):
    n = 0
    for i in l:
    for j in l:
    for k in l:
    if i == j or j == k or i == k:continue
    print(i+j+k)
    n += 1
    print(n)

    115、写出HTTP的五种请求方法

      答:get  post  delete  put   head  option  connect

    116、描述多进程开发中,join与daemon的区别

      答:join是使主进程等待子进程执行完毕后主进程关闭,daemon是主进程关闭,守护进程使其他子进程关闭

    117、简单描述GIL对Python的性能影响

      答:使Python不能真正意义上的多线程,同一时刻只能有一个线程运行

  • 相关阅读:
    jQuery获取Select选择的Text和 Value(转)
    android学习---EditText
    android学习---Activity
    android学习---LinearLayout
    android学习---布局Layout
    android颜色码制表
    java面试题二
    java面试题一
    基本排序算法java实现
    Integer与int的区别
  • 原文地址:https://www.cnblogs.com/fenglin0826/p/8451803.html
Copyright © 2020-2023  润新知