杭州吉利面试题___整理汇总

吉利面试

======================================

吉利面试三面    lyc  2023年6月13日
1、自动测试经验有多久?==4左右年
2、你用什么语言做的自动化? python
3、你做过那些自动 化? ui自动化和接口自动化
4、问下你python中去重有几种方法?五种,具体(set  ,if not、 conut==1、推导式、formkeys)
5、python中如何一个列表中任意两个数等于一个固定和:
#给定一个无序数组nums和一个目标值target,返回数组中两个元素的和为target的算法,时间复杂度为O(1);
def func1(nums,target):
    dict1 = {}
    for i in range(len(nums)):
        num = target - nums[i]
        if num not in dict1:
            dict1[nums[i]] = i
        else:
            return (dict1[num],i)
6、如何将所有一个字典中嵌套另一个字典,值里面里面有无限字典?
第一种情况:
wx_dict={"aa": {"bb": {"cc":{"dd": {"mm":"f"}}}}}
class analyse_data1:
   key_list = []
   def get_key(self, data):
    if isinstance(data, dict):
        for key in data.keys():
            if isinstance(data[key], dict):
                self.get_key(data[key])
            if isinstance(data[key], (tuple, list)):
                for i in range(len(data[key])):
                    if isinstance(data[key][i], dict):
                        self.get_key(data[key][i])
            self.key_list.append(key)
    return self.key_list
if __name__ == '__main__':
    print(analyse_data1().get_key(wx_dict))
第二种情况:
raw_dict= {"a": 1, "b": {"kk": {"nn": 111, "pp": "ppoii"}, "yy": "123aa", "uu": "777aa"}, "c": [{"a": 1, "b": 2}, {"a": 3, "b": 4}, {"a": 5, "b": 6}]}
方法一:
class analyse_data1:
    key_list = []
    def get_key(self, data):
        if isinstance(data, dict):
            for key in data.keys():
                if isinstance(data[key], dict):
                    self.get_key(data[key])
                if isinstance(data[key], (tuple, list)):
                    for i in range(len(data[key])):
                        if isinstance(data[key][i], dict):
                            self.get_key(data[key][i])
                self.key_list.append(key)
        return self.key_list
方法二:
class analyse_data2:
    key_list = []

    def get_key(self, data):
        if isinstance(data, dict):
            for key in data.keys():
                self.get_key(data[key])
                self.key_list.append(key)
        if isinstance(data, (tuple, list)):
            for i in range(len(data)):
                self.get_key(data[i])
        return self.key_list
方法三:
class analyse_data3:
    key_list = []

    def get_key(self, dict_a):
        """多维/嵌套字典数据无限遍历,获取json返回结果的所有key值集合"""
        if isinstance(dict_a, dict):
            for x in range(len(dict_a)):
                temp_key = list(dict_a.keys())[x]
                temp_value = dict_a[temp_key]
                self.key_list.append(temp_key)
                self.get_key(temp_value)  # 自我调用实现无限遍历
        elif isinstance(dict_a, list):
            for k in dict_a:
                if isinstance(k, dict):
                    for x in range(len(k)):
                        temp_key = list(k.keys())[x]
                        temp_value = k[temp_key]
                        self.key_list.append(temp_key)
                        self.get_key(temp_value)
        return self.key_list
if __name__ == '__main__':
    print(analyse_data1().get_key(raw_dict))

7、sql语句中的多表说下左连接? a、b两个表
select  *   from   a   left  join   b   on  a.id=b.id

 

=================================================

posted @ 2023-06-13 19:36  xiaolehua  阅读(218)  评论(0编辑  收藏  举报