【干货分享】测试开发必须要知道的Python面试题!

互联网寒冬,大家过得还好吗?年终奖发了多少?

最近感觉不少朋友都在刷 leetcode 了,年后打算看机会的,应该都蠢蠢欲动了吧。

我这里有一份精选的python面试题,测试开发方向的,由我和同行们在实际面试当中收集的,作为新年大礼送给大家。

希望能对大家有帮助!

先看看目录吧

tips:本文带有答案的,我已经标“ ”,方便查看。

必考面试题

如何去除列表中的重复元素
八大排序算法合集
斐波那契数列的python实现
如何对字符串进行反转
如何对单词反转
统计字符串中每个字母出现的次数
对某英文文章的单词,进行词数统计
python的字典合并
python的赋值、浅拷贝和深拷贝的区别
返回字符串中第一个不重复的字母和位置

经常会问到的面试题

如何不通过循环,输出1到100
两个列表如何生成一个对应的字典
字典排序
判断一个字符串中的括号是不是成对出现的
一行代码实现字典的key和value反转
python如何实现单例模式
为什么模块称为天然的单例模式?
Python处理排列组合
将某个数字列表中的元素拼成一个最大的数

偶尔会问到的面试题

丑数计算?
如何快速找到多个字典的公共键?
python的socket编程
求一个数字列表里,相邻两数乘积最高的值,及这两个数分别是多少?
如何求字符串例的最长回文子串?

精讲5题

1、如何去除列表中的重复元素 【热度:⭐️⭐️⭐️⭐️⭐️】

【题目】给出一个列表:lis = [4, 2, 1, 3, 4, 2, 3, 1, 3, 2, 2, 2],去除列表中的重复元素。

lis = [4, 2, 1, 3, 4, 2, 3, 1, 3, 2, 2, 2]

# 解法1: 利用set去重,会改变列表顺序
lis1 = list(set(lis))

# 解法2: 
lis2 = []
for i in lis:
  if i not in lis2:
    lis2.append(i)

2、八大排序算法合集 -- 冒泡排序 【热度:⭐️⭐️⭐️⭐️⭐️】

def bubble_sort(lists):
'''
    冒泡排序(升序)【稳定排序】
    原理:
    1、从第一个元素开始,开始依次对相邻的两个元素进行比较,当后面的元素大于前面的元素时,交换二者位置;
    2、进行一轮比较之后,最大的元素将在序列尾部(最后一位);
    3、然后对(n-1)个元素再进行第二轮比较,最大元素将在序列倒数第二位;
    4、重复该过程,直至只剩下最后一个元素为止,最后的元素就是最小值,排在序列首位

    以 list = [5, 4, 2, 1, 3] 为例:
    第一轮排序: [4, 2, 1, 3, 5]
    第二轮排序: [2, 1, 3, 4, 5]
    第三轮排序: [1, 2, 3, 4, 5]

    时间复杂度: O(n) ~ O(n**2)  平均:O(n**2)
    空间复杂度: O(1)

    :param lists:
    :return lists:
    '''
    for i in range(len(lists)-1):
        for j in range(len(lists)-i-1):
            if lists[j] > lists[j+1]:
                lists[j], lists[j+1] = lists[j+1], lists[j]
    return lists

# 调用冒泡排序
bubble_sort_list = bubble_sort(lis)
print(bubble_sort_list)
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

3、斐波那契数列的python实现 【热度:⭐️⭐️⭐️⭐️⭐️】

【题目】 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… 基于python用多种方式,生成费波拉契数列。

# (1)递归法 返回 idx 位的数值,缺点:只能返回某个值
def fib_recursion(idx):
    if idx <= 2:
        return 1
    else:
        return fib_recursion(idx-1) + fib_recursion(idx-2)

# (2)迭代法 返回 idx 位之前的fib数列
def fib_iteration(idx):
    lst = []
    n,a,b = 0,0,1
    while n < idx:
        lst.append(b)
        a,b = b, a+b
        n += 1
    return lst

# (3)生成器法
def fib_generator(idx):
    n,a,b = 0,0,1
    while n < idx:
        yield b
        a,b = b, a+b
        n += 1

if __name__ == '__main__':
    idx = 6
    numb = fib_recursion(idx)
    print(numb)

    lst = fib_iteration(idx)
    print(lst)

    lst1 = fib_generator(idx)
    print(list(lst1))

4、如何对字符串进行反转 【热度:⭐️⭐️⭐️⭐️⭐️】

【题目】要求不使用任何系统方法,且时间复杂度最小

def reverse_str(input_str):
    ch=list(input_str)
    lens=len(ch)
    i=0
    j=lens-1
    while i < j:
        tmp= ch[i]
        ch[i] =ch[j]
        ch[j]=tmp
        i+=1
        j-=1
    return ''.join(ch)

#tips 假如可以使用系统方法,如何实现?
new_str = old_str[::-1]

5、返回字符串中第一个不重复的字母和位置 【热度:⭐️⭐️⭐️⭐️⭐️】

def first_char(str):
    d = {}
    for i in range(len(str)):
        # 累计字符的出现次数
        if str[i] in d:
            d[str[i]] += 1
        # 只出现一次,key对应的value就记1次
        else:
            d[str[i]] = 1
    for i in range(len(str)):
        if d[str[i]] == 1:
            return '第一个不重复的字符串是{},索引是{}'.format(str[i], i)

    return "没有不重复的字符串"


if __name__ == '__main__':
    s = "wwqqoogg"
    res = first_char(s)
    print(res)

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/395254.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云原生概念

云原生是一条使用户能&#xff1a; 1.低运维、 2.敏捷的、 3.以可扩展、可复制的方式&#xff0c; 最大化的利用”云“的能力、发挥”云“的价值的最 佳路径 云原生&#xff0c;是一条最佳路径或实践 参考&#xff1a;https://edu.aliyun.com/course/314164/lesson/7815

Spring MVC(基于 Spring4.x)基础学习

一、SpringMVC概述 二、SpringMVC的HelloWorld 三、使用RequestMapping映射请求 四、映射请求参数&请求头 五、处理模型数据 六、视图和视图解析器 七、RESTful CRUD 八、SpringMVC表单标签&处理静态资源 九、数据转换&数据格式化&数据校验 十、处理JSON:使用…

用过才知道,X5真的是移动办公的天花板 !

春节过后&#xff0c;我们又重新投入到工作的热情中&#xff0c;继续出发。新的一年&#xff0c;新的奋斗目标&#xff0c;新的开始。自从用过华为Mate X5办公后&#xff0c;不得不说&#xff0c;大屏幕办公就很友好&#xff0c;而且操作更快捷&#xff0c;成为了我高效办公的新…

微信小程序启动自动检测版本更新,检测到新版本则提示更新

UpdateManager 对象&#xff0c;用来管理更新&#xff0c;可通过 wx.getUpdateManager 接口获取实例在app.js中的示例代码onShow() {// 获取小程序更新机制的兼容&#xff0c;由于更新的功能基础库要1.9.90以上版本才支持&#xff0c;所以此处要做低版本的兼容处理if (wx.canIU…

AIGC专题:生成式人工智能在能源和材料领域中的新机遇

今天分享的是AIGC系列深度研究报告&#xff1a;《AIGC专题&#xff1a;生成式人工智能在能源和材料领域中的新机遇》。 &#xff08;报告出品方&#xff1a;McKinsey & Company&#xff09; 报告共计&#xff1a;11页 来源&#xff1a;人工智能学派 利用人工智能的力量…

Terminus:介绍+使用教程+技巧【全网保姆级教程】

一、起因 当我把电脑从win系统换成mac系统时候&#xff0c;我知道XShell已经不能在使用了&#xff0c;我需要找到最好的s sh客户端去登陆服务器 二、心路历程 我找了很多的软件&#xff1a; SSH Config Editor ProZOCVanDyke SecureCRTFinalShell 每个下载都试用了几天&#xf…

FL Studio Producer Edition v21.2.3.4004 最新版本作为 Windows 离线安装程序2024免费下载

Fl Studio 21.2.3.4004最新中文版直装版是最新的音乐制作工具。它可以与各种音乐制作令人惊叹的音乐工作。它提供了一个相当简单和用户友好的集成开发环境工作。这整个音乐工作站是由比利时公司图像线开发的。其先进的理念帮助初学者和专业人士创作、安排、录制、编辑和混合音乐…

【知识整理】PHP研发组代码规范要求

一、目标 统一代码风格、命名规范&#xff0c;增强代码可读性和可维护性&#xff0c;供日常开发工作中时参考&#xff0c;以提高团队协作的开发效率。 二、编程规约 PHP代码规范[PSR-12] 特别注意&#xff1a; 1、业务代码内对 常量、变量(分页值、版本号、向下参数等)、魔法值…

AI嵌入式K210项目(29)-模型加载

文章目录 前言一、下载部署包二、C部署三、搭建文件传输环境四、文件传输五、调试六、MicroPython部署总结 前言 上一章节介绍了如何进行在线模型训练&#xff0c;生成部署包后&#xff0c;本章介绍加载模型&#xff1b; 一、下载部署包 训练结束后&#xff0c;在训练任务条…

Python Django路由详解

1.路由Router 在实际开发过程中&#xff0c;一个Django 项目会包含很多的 app&#xff0c;这时候如果我们只在主路由里进行配置就会显得杂乱无章&#xff0c;所以通常会在每个app 里&#xff0c;创建各自的 urls.py 路由模块&#xff0c;然后从根路由出发&#xff0c;将 app 所…

idea快捷键使用

文章目录 快捷键的使用通用型编码源文件时快捷键使用操作文件类结构、查找和查看源码查找、替换与关闭调整格式Debug快捷键 查看快捷键已知快捷键操作名&#xff0c;未知快捷键已知快捷键&#xff0c;不知道对应的操作名自定义快捷键 切换其它平台快捷键 快捷键的使用 通用型 …

《白话C++》第10章 STL和boost,Page85 std::shared_ptr常用功能

std::shared_ptr基本用法包括&#xff1a; &#xff08;1&#xff09;取裸指针 //get()成员取回裸指针 std::shared_ptr <int> pa(new int(5)); int* p pa.get(); /**< 取回裸指针 */ &#xff08;2&#xff09;判断是否为空 肯定可以这样写&#xff1a; std::s…

MobaXterm下载安装及SSH远程教程

一、MobaXterm的简介 MobaXterm是一款功能强大的远程计算工具&#xff0c;集成了诸多网络工具和便利功能&#xff0c;包括SSH、X11服务器、SFTP等&#xff0c;支持Windows系统。用户可以使用MobaXterm来轻松管理远程服务器&#xff0c;进行文件传输&#xff0c;远程桌面显示等操…

8、内网安全-横向移动RDPKerberos攻击SPN扫描WinRMWinRS

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正 目录 一、域横向移动-RDP-明文&NTLM 1.探针服务&#xff1a; 2.探针连接&#xff1a; 3.连接执行&#xff1a; 二、域横向移动-WinRM&WinRS-明文&NTLM 1.探针可用&#xff1a; 2.连接…

语义相关性评估指标:召回率、准确率、Roc曲线、AUC;Spearman相关系数、NDCG、mAP。代码及计算示例。

常规的语义相关性评价可以从检索、排序两个方面进行。这里只贴代码。详细可见知乎https://zhuanlan.zhihu.com/p/682853171 检索 精确率 def pre(true_labels[],pre_labels[]):""":param true_labels: 正样本索引:param pre_labels: 召回样本索引:return: 精…

180144-70-1,6-罗丹明6G-NHS 活化酯,具有高荧光性质的罗丹明家族染料

216699-37-5&#xff0c;793646-39-6&#xff0c;180144-70-1&#xff0c;6-罗丹明6G-NHS 活化酯&#xff0c;6-Rhodamine 6G NHS ester&#xff0c;R6G SE,6-isomer&#xff0c;具有高荧光性质的罗丹明家族染料 您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;216…

【存储基础学习笔记】

目录 第一章&#xff1a;存储基础知识第二章&#xff1a;存储的基本概念2.1存储是什么&#xff1f;2.2存储的应用场景2.3存储的硬件结构2.4存储的软件架构2.5存储设备的性能参数和计算方法 第三章&#xff1a;存储阵列关键技术3.1硬盘介绍3.2RAID技术3.3RAID2.0技术 第四章&…

Postgresql 怎么实现在局域网中访问

安装PostgreSQL后&#xff0c;默认情况下只能在本机进行连接访问&#xff0c;如果需要在其他主机上访问PostgreSQL数据库服务器&#xff0c;需要进行配置。 安装连接PostgresSQL数据库可以参考博文&#xff1a;安装连接PostgresSQL数据库教程 一. 整体步骤 主要包括下面几个步…

mmap映射文件使用示例

mmap 零拷贝技术可以应用于很多场景&#xff0c;其中一个典型的应用场景是网络文件传输。 假设我们需要将一个大文件传输到远程服务器上。在传统的方式下&#xff0c;我们可能需要将文件内容读入内存&#xff0c;然后再将数据从内存复制到网络协议栈中&#xff0c;最终发送到远…

Ubuntu系统搭建HadSky论坛并结合内网穿透实现无公网ip远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…