• 面试题参考


    在别的网站上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的元素定位那些,没有问太难的。

  • 相关阅读:
    Kubernetes Admission Controller解析
    容器化Node Exporter对主机磁盘使用率的监控问题
    Prometheus监控指标的label注入方法
    Prometheus告警模型分析
    Kubernetes Controller执行框架解析
    深入理解Istio核心组件之Pilot
    Prometheus存储模型分析
    如何利用Prometheus监控你的应用
    Prometheus在Kubernetes下的服务发现机制
    JSON字符串和js对象转换
  • 原文地址:https://www.cnblogs.com/wenjing2019/p/12083384.html
Copyright © 2020-2023  润新知