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

    在别的网站上copy过来留作记录查看:https://cloud.tencent.com/developer/article/1182719

    (二)题目

    1、输入:JSON {"a":"aa","b":"bb","c":{"d":"dd","e":"ee"}} 输出:字典 {'a': 'aa', 'b': 'bb', 'd': 'dd', 'e': 'ee'}

    def conversion(n,the_dict):
    for key,value in n.items():
    #如果value的值是字典,递归
    if isinstance(value, dict):
    conversion(value,the_dict)
    else:
    the_dict[key] = value
    return the_dict
    #实际上JSON对象应该要先用 json.loads(r)解码,转换为python的字典
    #但是这里如果这样直接输入这种格式的数据,会默认为字典对象,就不解码了
    r = {"a":"aa","b":"bb","c":{"d":"dd","e":"ee"}}

    the_dict = dict()
    print(conversion(r,the_dict))
    2、计算n!,例如n=3(计算3*2*1=6)

    def factorial(n):
    if n == 1:
    return 1
    return n*factorial(n-1)

    print(factorial(5))
    3、字符串分割,将列表数据合并为字符串。获取字典的key和value值

    the_str = '12,33,44'

    #分割字符串,返回的是一个列表
    the_list = the_str.split(',')
    print(the_list)

    #将列表合并为字符串,','可以指定不同元素之间的分隔符
    print(','.join(the_list))
    the_dict = {'a': 'aa', 'b': 'bb', 'd': 'dd', 'e': 'ee'}

    #迭代字典的key值和value值
    for key,value in the_dict.items():
    print(key)
    print(value)
    #迭代字典的key值
    for key1 in the_dict.keys():
    print(key1)

    #迭代字典的value值
    for value1 in the_dict.values():
    print(value1)
    4、有一个列表,每个元素存放学生姓名、成绩,按学生成绩从优到差排序。

    因为没限制用什么排序算法,所以我是用选择排序去实现的

    def student_achie(A):
    for i in range(len(A)):
    key = i
    for j in range(i+1,len(A)):
    if A[key].split(':')[1] < A[j].split(':')[1]:
    key = j
    A[key],A[i] = A[i],A[key]
    return A

    #学生姓名及学生成绩
    stu = ['张三:20','李四:70','王五:88','李六:40','王吉:55.5',]

    print(student_achie(stu))
    5、有一个列表,每个元素存放学生姓名、成绩,计算学生的总成绩。

    #计算学生总成绩
    def total_achie(A):
    if len(A) == 1:
    return float(A[0].split(':')[1])
    return float(A.pop().split(':')[1]) + total_achie(A)
    #学生姓名及学生成绩
    stu = ['张三:20','李四:70','王五:88','李六:40','王吉:55.5',]

    print(total_achie(stu))
    6、实现斐波那契数列(第一项和第二项都是1,后面的都是前面2项相加),并打印前10项

    def fibonacci(n):
    the_list = []
    for i in range(n):
    if i == 0:
    the_list.append(1)
    elif i == 1:
    the_list.append(1)
    else:
    the_list.append(the_list[i-1] + the_list[i-2])
    return the_list
    #输出[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
    print(fibonacci(10))
    7、算法性能主要受哪些因素影响?(我先回答了空间复杂度和时间复杂度),然后他问对算法的稳定性有了解吗

    当时我只回了受空间复杂度和时间复杂度影响。稳定性不了解。算法我还没学到性能分析这一块,短时间内应该也还没打算在上面花时间,所以这题没答案,先记着,等有空了再研究下。

    8、id ="info" 的div的xpath表达式

    //div[@id="info"]

    9、还有一些sql题目和基础的理论知识就不说了,不会太难(别问一些比较偏门或我平时基本用不上的知识点应该没什么问题),sql基本就到多表关联查询。(面试前复习下join on 、group by、order by、having的用法基本就够用了,有的可能需要转格式to_data() to_char(),因为最近大半年比较少写sql,不复习下很容易犯一些低级错误)

    10、还有一个Oracle的递归查询没写出来,这个确实得好好研究下。

    11、还有其他问了一些selenium的元素定位那些,没有问太难的。

  • 相关阅读:
    547. Friend Circles
    399. Evaluate Division
    684. Redundant Connection
    327. Count of Range Sum
    LeetCode 130 被围绕的区域
    LeetCode 696 计数二进制子串
    LeetCode 116 填充每个节点的下一个右侧节点
    LeetCode 101 对称二叉树
    LeetCode 111 二叉树最小深度
    LeetCode 59 螺旋矩阵II
  • 原文地址:https://www.cnblogs.com/wenjing2019/p/12083384.html
Copyright © 2011-2022 走看看