【精选推荐】马上金三银四了,盘点面试时问的那些高频代码面试题

前言

不管是初级还是中级测试工程师,现在的岗位要求都在要求自动化的能力了。当然高级测试工程师就更不用说了。

那既然岗位要求,面试时就必不可少会问到代码能力。本篇文章就给大家把基础的代码面试题整理出来了。

然后我是希望大家如果基础薄弱,就死记硬背也给背下来。有能力的话就要去研究一下里面的实现逻辑。

1、冒泡排序

  # 冒泡排序
# 记住,排序是升序排!
# 原理:从左到右,依次比对相邻的两个数,数大的排后面,数小的排前面
# 比如,11,13,12,10,14,那么最终要形成的是10,11,12,13,14
list1= [11,13,12,10,14]
le = len(list1)
def bubble_sort(list1):
    # 遍历列表长度减1次
    for j in range(1,le):
        # 创建一个变量,用来记录本轮冒泡,是否有数据交换位置
        status = False
        # 每次遍历都获取第一个元素,依次和后面的元素进行比较
        for i in range(0,le-j):
            # 前一位数 > 后一位数。交换位置。
            if list1[i] > list1[i+1]:
                list1[i],list1[i+1] = list1[i+1],list1[i]
                # 只要由数据交换位置,则修改statusd的值
                status = True
        # 每一轮冒泡结束之后,判断当前status是否为Flase,
        # 如果为Flase,则说明上一轮冒泡没有修改任何数据的顺序(即数据是有序的)
        if not status:
            return list1
    return list1

2、99 乘法表

  for row in range(1,10):
    for index in range(1,row+1):
        print(f'{index}*{row}={index * row}',end="\t")
    print()

3、使用 print 函数和循环结构输出如下由*组成的金字塔

  '''
使用print函数和循环结构输出如下由*组成的金字塔
   *
  ***
 *****
*******
'''
max_level = 4
for row in range(1,max_level+1):
    space_count = max_level - row
    star_count = row * 2 -1
    for item in range(space_count):
        print(" ",end="")
    for item in range(star_count):
        print("*",end="")
    print()

4、对 list 去重并找出 list 中的重复元素

  '''
如果只是给列表去重,用set()集合即可
但是要找出重复的元素就不行了
'''
from collections import Counter #引入Counter
a = [1, 2, 3, 3, 4, 4]
b = dict(Counter(a))
print(b) # 统计元素出现次数
print ([key for key,value in b.items() if value > 1]) #只展示重复元素
print ({key:value for key,value in b.items() if value > 1}) #展现重复元素和重复次数

5、获取一个 100 以内偶数的纯数字序列,并存到列表里,然后求这些偶数数字的和。

  def add_fun(data):
    sum = 0
    list = []
    for num in range(2,data,2):
        list.append(num)
        sum += num
    return sum,list
result = add_fun(100)
print('100以内的偶数之和为{},\n生成的偶数列表为:{}'.format(result[0],result[1]))

6、用 Python 中写出 1 加到 100 的算法

  sum = 0
for i in range(1,101):
    sum += i
print(sum)

7、求 100-999 的水仙花数

  '''
水仙花数是指一个n位的正整数(n>=3),它的每个数字的n次幂之和等于它本身。
例如: 153=1*1*1+5*5*5+3*3*3
153为三位数,它的每个数字的三次方之和等于153。
'''
# 分析过程:将正整数n的个位十位百位分别取出,再求幂之和;个位百位比较好拆分,十位的话可以先减去百位再用除法计算。
print("100-999之间的水仙花数为:")
for a in range(100, 999):
    i = int(a % 10)    # 取出个位
    j = int(a / 100)   # 取出百位
    k = int((a - j * 100)/10)  # 取出十位
    if i**3 + j**3 + k**3 == a:   # 计算幂之和,与数本身进比较判断
        print(a)


作为前辈我不确定我现在给出的一定百分百正确,但至少能让你少走一点弯路。

这是我给大家整理的从0到月薪15k的软件测试学习路线,通用性极强

软件测试学习知识点汇总

软件测试所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

温馨提示:篇幅有限,已打包文件夹,获取方式在:私信关键词“资料”

软件测试必备工具

安装包都给你打包好了,直接安装。

精品软件测试学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路

软件测试学习视频

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

项目实战

光学理论是没用的,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。

面试刷题

学习路线

写在最后

三个月足够,不裸辞也够,除非你现在工作忙到每天回家倒头就睡。

问题不在于三个月够不够,而是你能不能坚持。

裸辞的好处是干扰更小,坏处是压力更大,看你是哪种类型的性格,再决定是背水一战还是骑驴找马。

有的人可以边工作边做别的事,但不是所有人都能做到。

同样,没有工作也不是所有人能接受的状态。

最后就是,别定太高目标。既然决心转行,就做好从零开始的准备

所有上述系统资料都可以私信我关键词“资料”获取

以上,祝好。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值