测试测开面试要知道的那些事01

news2025/7/18 12:00:18

列表与元组的区别

  • 列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。

  • 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。

  • 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

深拷贝与浅拷贝的区别

  • 浅拷贝只复制对象的第一层属性、深拷贝可以对对象的属性进行递归复制

  • 浅拷贝基本类型的值之间互不影响,引用类型其中一个对象改变了地址,就会影响另一个对象;

深拷贝改变新对象不会影响原对象,他们之前互不影响。

浅拷贝:创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址。

深拷贝:将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象

Python垃圾回收机制

python采用的是引用计数机制为主,标记-清除分代收集两种机制为辅的策略。

(详情可查看http://t.csdn.cn/EHSjS)

web端与移动端测试区别

  • 系统架构:web端是B/S架构,基于浏览器的。App项目是C/S架构,用户需要安装客户端。

  • 性能:web端的性能更关注页面的响应速度,移动端更关注流量、耗电量、CPU、内存等

  • 兼容性:web端更侧重于浏览器、电脑硬件、操作系统方面的兼容;移动端兼容的是手机设备,要看设备系统、机型、分辨率、屏幕尺寸。

  • 交互方式:web主要采用鼠标点击方式;而App主要是手指点击、拖拽、手势测试、横屏测试,考虑更多的是手指的交互习惯。

  • web测试是基于浏览器的,所以不用考虑安装卸载。而App是客户端,必须测试安装、卸载、更新,还需要考虑其他异常情况,包括安装时候中断、弱网,安装后删除安装文件(可删除,不影响软件正常运行)。

selenium定位不到元素怎么办

要确认是哪种原因定位不到:

  • frame/iframe表单嵌套

  • 页面跳转到新标签页,或弹出警告框等

  • 页面元素失去焦点导致脚本运行不稳定

  • 使用Xpath或CSS定位

  • 页面还没加载出来就对页面上的元素进行操作

  • 元素被遮挡,不可用,不可见

  • 用WebDriver调用JavaScript代码代替无法实现的功能

解决办法详情可参考http://t.csdn.cn/wWq1P

服务器资源显示不足,用Linux命令怎么找到问题

通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

  • uptime

  • dmesg | tail

  • vmstat 1

  • mpstat -P ALL 1

  • pidstat 1

  • iostat -xz 1

  • free -m

  • sar -n DEV 1

  • sar -n TCP,ETCP 1

  • top

详情可以参考http://t.csdn.cn/GdgQh

TCP/IP四层模型

从上到下依次是应用层,传输层,网络层,网络接口层(数据链路层)

TCP与UDP的区别

  • TCP 是面向连接的,UDP 是面向无连接的

  • UDP程序结构较简单

  • TCP 是面向字节流的,UDP 是基于数据报的

  • TCP 保证数据正确性,UDP 可能丢包

  • TCP 保证数据顺序,UDP 不保证

什么是面向连接,什么是面向无连接:在互通之前,面向连接的协议会先建立连接,如 TCP 有三次握手,而 UDP 不会TCP 为什么是可靠连接:通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。

TCP 报文头里面的序号能使 TCP 的数据按序到达

报文头里面的确认序号能保证不丢包,累计确认及超时重传机制

TCP 拥有流量控制及拥塞控制的机制

Http与Https的区别

  • HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。

  • HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

  • HTTP 和 HTTPS 使用的是完全不同的连接方式,默认端口也不一样,前者是80,后者是443。

  • HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)

  • 理论上,http响应速度更快,这是因为http只需三次握手,也就是3个包即可建立连接, 而https除了三次握手,还需进行ssl握手,一共需要12个包。

  • https是构建在SSL之上的http协议,所以https会消耗更多的服务器资源。

用SQL查找平均分低于80分的学生学号

SELECT Sno, AVG(Score) AvgScore

FROM SC

GROUP BY Sno

HAVING AVG(Score)<80

算法1:用指针合并两个有序数组

arr1 = [1,3,4,6,10] #初始化两个数组
arr2 = [2,5,8,11]
ind = 0
ans = arr1.copy() #ans 初始化为 arr1
for i in range(0,len(arr2)):
    while ind < len(arr1):
        if arr2[i] <= arr1[ind]: #ind 的范围不能超过数组元素下标的最大值
            ans.insert(ind + i,arr2[i]) #向第一个数组中的合适位置插入第二个数组中的数
            break
        else:
            ind += 1 #如果 ind 指向的数比 i 指向的数小,则 ind 向后一位
    else: #如果 arr1 已遍历完,直接把剩下的 arr2 拼到 arr1 结尾
        ans = ans + arr2[i:]
        break

while...else 语句是用来判断 while 循环是否被完整执行完的语句。

如果 while 循环的结束是因为 while 后面的判断语句(ind < len(arr1))的返回值为 False,则执行 else;

如果是因为 break 而跳出循环,则不执行 else。

为什么要用 ans 存储 arr1 的值,而不在 arr1 内部直接改动呢?

如果直接使用 arr1 存储答案,在向数组中添加元素的过程中,列表内部的元素会变化,也就是说,我

们丢失了 arr1 的原来的值。用 ind 调用原来列表中的元素与 arr2 中的元素进行比较,而向 ans

中插入 arr2 的数,就可以有效避免这个问题。

算法2:全排列列表

给定一个数字列表,返回其所以的可能列表

# 问题示例
# 输入[1],输出[[1]],输入[1,2,3],输出[[1,2,3,],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]。
# 代码实现

class Solution:
    # 参数nums:整数数组
    # 返回值:排列后的列表
    def arrange(self, nums):
        def _arrange(result, temp, nums):
            if nums == []:
                result += [temp]
            else:
                for i in range(len(nums)):
                    _arrange(result, temp + [nums[i]], nums[:i] + nums[i + 1:])

        if nums is None:
            return []
        if nums is []:
            return [[]]
        result = []
        _arrange(result, [], sorted(nums))
        return result

# 主函数
if __name__ == '__main__':
    s = Solution()
    nums = [1, 2, 3]
    result = s.arrange(nums)
    print("输入:", nums)
    print("输出:", result)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA进阶 —— 集合进阶

目录 一、 双列集合 二、 Map 1. Map的常见API 2. Map的遍历方式 2.1 第一种遍历方式&#xff1a;键找值 2.2 第二种遍历方式&#xff1a;键值对 2.3 第三种遍历方式&#xff1a;Lambda表达式 三、 Map的三种实现类 1. HashMap 2. LinkedHashMap 3. TreeMap 3.1 练…

python智慧校园线上考试在线比赛答题系统平台源码redis

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;python考试 获取完整源码源文件说明文档配置教程等 在虚拟环境下输入命令“python manage.py runserver”启动项目&#xff0c;然后&#xff0c;访问“http://127.0.0.1:8000”进入网站首页&#xff0c;如图1所示。 注册用…

jvm之堆解读

堆&#xff08;Heap&#xff09;的核心概述 堆针对一个JVM进程来说是唯一的&#xff0c;也就是一个进程只有一个JVM&#xff0c;但是进程包含多个线程&#xff0c;他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心区域。 Java堆区…

我把物流装备用到了轨道交通接驳货物上,RGV,输送线,提升机,WCS……

导语大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;你的老朋友&#xff0c;老K。新书上市《智能物流系统构成与技术实践》2023年度-厂商宣传合作位--->点击详情作者&#xff1a;马洪旭“智能制造”、“智慧物流”、“绿色物流”等高频词汇已成为物流行业的…

作物杂交(spfa()算法)

蓝桥杯集训每日一题acwing3305 作物杂交是作物栽培中重要的一步。 已知有 N 种作物 (编号 1 至 N)&#xff0c;第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交&#xff0c;杂交时间取两种中时间较长的一方。 如作物 A 种植时间为 5 天&#xff0c;作物 B …

NTLM协议原理分析

LM Hash 和 NTLM Hashwindows用户的密码以哈希的形式保存在SAM文件中“%SystemRoot%\system32\config\SAM”。域用户的密码以哈希的形式保存在域控的 NTDS.dit 文件中。 密码的哈希值格式如下用域名:uid:LM哈希:NTLM哈希:::由于LM Hash 有安全缺陷&#xff0c;所以Windows Vist…

88. 合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。注意&#xff1a;最终&#xff0c;合并后数组不应…

【Linux】实现简易的Shell命令行解释器

大家好我是沐曦希&#x1f495; 文章目录一、前言二、准备工作1.输出提示符2.输入和获取命令3.shell运行原理4.内建命令5.替换三、整体代码一、前言 前面学到了进程创建&#xff0c;进程终止&#xff0c;进程等待&#xff0c;进程替换&#xff0c;那么通过这些来制作一个简易的…

Python每日一练(20230308)

目录 1. Excel表列名称 ★ 2. 同构字符串 ★★ 3. 分割回文串 II ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. Excel表列名称 给你一个整数 columnNumber &#xff0c;返回它在 Excel 表中相对应的列名称。 例如&#xff1…

在 k8S 中搭建 SonarQube 9-community 版本(使用 PostgreSQL 数据库)

本文搭建的 SonarQube 版本是 7.4.9-community&#xff0c;由于在官方文档中声明 7.9 版本之后就不再支持使用 MySQL 数据库。所以此次搭建使用的数据库是 PostgreSQL 11.4 版本。 一、部署 PostgreSQL 服务 1. 创建命名空间 将 PostgreSQL 和 SonarQube 放在同一个命名空间…

02从零开始学Java之Java到底是个啥?

博主简介我是壹壹哥(孙玉昌)&#xff0c;十年软件开发授课经验&#xff0c;CSDN博客专家、阿里云专家博主、掘金优秀创作者、infoQ专家博主&#xff1b;关注壹壹哥(孙玉昌)&#xff0c;带你玩转Java&#xff0c;轻松实现从入门到放弃&#xff0c;哦不&#xff0c;到熟悉&#x…

【基于STM32的多功能台灯控制】

基于STM32的多功能台灯控制 在之前一篇博文中已出过智能台灯相关的介绍&#xff0c;在这里对之前的模块以及功能上进行了优化和功能上的改进&#xff0c;需源码或实物可私【创作不易-拒绝白嫖】 功能说明 1、按键模式多功能台灯在设计上使用了4个按键分别做为 按键1模式的切换…

2.5 Strassen矩阵乘法

矩阵乘法是线性代数中最常见的问题之一&#xff0c;在数值计算中有广泛的应用。设4和B是两个nxn矩阵&#xff0c;它们的乘积 AB 同样是一个nxn矩阵。A和B的乘积矩阵 C中元素C定义为C 2anw6o1若依此定义来计算4 和B的乘积短阵C&#xff0c;则每计算 C的一个元素C&#xff0c;需要…

如何提高爬虫工作效率

单进程单线程爬取目标网站太过缓慢&#xff0c;这个只是针对新手来说非常友好&#xff0c;只适合爬取小规模项目&#xff0c;如果遇到大型项目就不得不考虑多线程、线程池、进程池以及协程等问题。那么我们该如何提升工作效率降低成本&#xff1f; 学习之前首先要对线程&#…

windows下一键启动vue项目,后台运行cmd命令

1、写好启动vue的bat echo off E: cd E:\project-html\study\vue-demo npm run serve 2、准备vbs脚本&#xff0c;指向bat Set hd CreateObject("Wscript.Shell")hd.run "cmd /c C:\Users\xxh\Desktop\vue-demo.bat",vbhide 3、双击vbs脚本就可以启动了…

java八股系列——SpringMVC从接受请求到完成响应的过程

Spring的MVC框架是围绕一个DispatcherServlet来设计的&#xff0c;这个Servlet会把请求分发给各个处理器&#xff0c;并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等&#xff0c;甚至还能支持文件上传。 流程大致如下&#xff1a; 用户发起请求&#xff1a;用…

一般用哪些工具做大数据可视化分析?

做数据分析这些年来&#xff0c;从刚开始的死磕excel&#xff0c;到现在成为数据分析行业的偷懒大户&#xff0c;使用过的工具还真不少&#xff01; 这篇分享一些我在可视化工具上的使用心得&#xff0c;由简单到复杂&#xff0c;按照可视化类型一共分为纯统计图表类、GIS地图…

C/C++每日一练(20230308)

目录 1. 最大间距 ★★★ 2. 被围绕的区域 ★★ 3. 天际线问题 ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 ​专栏 1. 最大间距 给定一个无序的数组&#xff0c;找出数组在排序之后&#xff0c;相邻元素之间最大的差值。 如果数组…

Windows环境下nacos的下载与安装

一、nacos的下载地址&#xff1a;Releases alibaba/nacos GitHub根据自己项目配置的版本&#xff0c;下载对应的nacos客户端。windows下载上面的tar.gz的安装包&#xff0c;linux下载下面的zip包二、下载解压成功后&#xff0c;修改配置文件D:\nacos\bin下面的startup.cmd。把…

基于JavaEE社区物业管理系统开发与实现(附源码资料)

文章目录1. 适用人群2. 你将收获3.项目简介4.技术栈5.测试账号6.部分功能模块展示6.1.管理员6.2.业主1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。 2. 你将收获 提供&#xff1a;项目源码、项目文档、数据库脚本、软件工…