测试测开面试要知道的那些事01
列表与元组的区别
列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
元组缓存于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]) #向第一个数组中的合适位置插入第二个数组中的数breakelse: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)
相关文章:
测试测开面试要知道的那些事01
列表与元组的区别列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。元组缓存于Python运行时环境,这意味着我们每次使用元组时无…...
物联网毕设 -- 智能厨房监测系统(改)
前言 在家庭生活中,厨房是必不可少的,所以厨房的安全问题关乎着我们大家的生命,所以提出智能厨房监测系统,目的就是为我们减少不必要的安全问题 ⚠️⚠️(本文章仅提供思路和实现方法,并不包含代码&#x…...
macOS 13.3 Beta 3 (22E5236f)发布
系统介绍3 月 8 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.3 开发者预览版 Beta 3 更新(内部版本号:22E5236f),本次更新距离上次发布隔了 7 天。macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通话接力…...
Failed to configure a DataSource: ‘url‘ attribute
一 完整的错误信息 *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to dete…...
Mysql高级——锁
锁 mysql锁的分类 从性能上分为:乐观锁、悲观锁从锁的粒度上分:行锁、间隙锁、页锁、悲观锁从对数据库的操作分类:读锁、写锁 乐观锁需要我们自己通过version字段来实现,如果更新失败则在代码中进行where重试。而我们常见的读锁…...
Spring的Async注解线程池扩展方案
目录- [Spring的Async注解线程池扩展方案]- [目录]- [1. 扩展目的]- [2. 扩展实现]- [2.1 扩展Async注解的执行拦截器AnnotationAsyncExecutionInterceptor]- [2.2 扩展Async注解的Spring代理顾问AsyncAnnotationAdvisor]- [2.3 扩展Async注解的 Spring Bean 后置处理器AsyncAn…...
wfb-ng 锁定WiFi接口
wfb-ng 锁定WiFi接口1. 源由2. 需求3. 分析4. 步骤4.1 确认网卡MAC地址4.2 修改udev配置文件4.3 配置重载&重启4.4 确认逻辑网卡接口4.6 修改wfb-ng逻辑WiFi通信接口5. 参考资料6. 补充资料为了更加方便的调试和使用wfb-ng软件,解决由于设备枚举发现时命名可能存…...
Python所有方向的入门和进阶路线,20年老师傅告诉你方法
干了20多年程序员,对于Python研究一直没停过,这几天把我自己对Python的认知和经验,再结合很多招聘网站上的技术要求,整理出了Python所有方向的学习路线图,基本上各个方向应该学什么,都在上面了,…...
RLOAM/RO-LOAM
LOAM框架 LOAM框架包含三个步骤: Scan registration:从原始激光扫描点数据中提取点特征。点特征是角点或者面点。 odometry estimation:在特征提取之后,特征点传递到里程计模块,通过特征匹配和优化步骤计算相对坐标变…...
JUC并发编程之Semaphore-应用与深度源码剖析
目录 JUC并发编程之Semaphore-应用与深度源码剖析 1. Semaphore 是什么? 2.怎么使用Semaphore? 2.1构造方法 2.2 重要方法 2.3 基本使用 需求场景 基础版代码实现 tryAcquire()引入代码实现 acquireUninterruptibly(),acquire()对比代码实现 3.…...
JWT详细介绍使用
一、JWT介绍 JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务…...
C/C++开发,无可避免的多线程(篇六).线程池封装类
一、线程池概念 线程池是一种多线程处理方式,它包含一个线程工作队列和一个任务队列。当有任务需要处理时,线程池会从线程工作队列中取出一个空闲线程来处理任务,如果线程工作队列中没有空闲线程,则任务会被放入任务队列中等待处理…...
HIVE中如何实现针对IPv6 CIDR的查询
Hive默认情况下不支持IPv6 CIDR查询,因为IPv6 CIDR查询需要使用一些额外的函数。 但是可以通过使用UDF(用户自定义函数)来实现这一点。 IPv6 CIDR表示为网络地址/前缀长度,其中网络地址是一个IPv6地址,前缀长度是一个介于0和128之间的整数,表示网络地址中前多少位是网络…...
【微信小程序】-- 生命周期(二十八)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
Kafka 概述
Kafka 概述Broker消费者Kafka 属于分布式的消息引擎系统,主要功能 :提供一套完备的消息发布与订阅解决方案 生产者和消费者都是客户端(Clients): 生产者(Producer):向主题发布消息…...
详解Java8中如何通过方法引用获取属性名/::的使用
在我们开发过程中常常有一个需求,就是要知道实体类中Getter方法对应的属性名称(Field Name),例如实体类属性到数据库字段的映射,我们常常是硬编码指定 属性名,这种硬编码有两个缺点。 1、编码效率低&#x…...
0106广度优先搜索和最短路径-无向图-数据结构和算法(Java)
1 单点最短路径 单点最短路径。 给定一幅图和一个起点s,回答“从s到给定目的顶点v是否存在一条路径?如果有,找出其中最短的那条(所含边数最少)。“等类似问题。 深度优先搜索在这个问题上没有什么作为,因为…...
僵尸(Zombie)进程
文章目录1.僵尸进程2.产生僵尸进程的原因3.利用 wait 函数销毁僵尸进程4.使用 waitpid 函数销毁僵尸进程1.僵尸进程 进程完成工作后(执行完 main 函数中的程序后)应被销毁,但有时这些进程将变成僵尸进程,占用系统中的重要资源。这…...
JS实现:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 数列是 1,1,2,3,5,8,13,21....观察可以看出来从第三个数字开始…...
Verilog如何编写一个基础的Testbench
本文将讲述如何使用Verilog 编写一个基础的测试脚本(testbench)。在考虑一些关键概念之前,先来看看testbench的架构是什么样的。架构包括建模时间、initial块(initial block)和任务(task)。此文…...
基于JavaEE社区物业管理系统开发与实现(附源码资料)
文章目录1. 适用人群2. 你将收获3.项目简介4.技术栈5.测试账号6.部分功能模块展示6.1.管理员6.2.业主1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。 2. 你将收获 提供:项目源码、项目文档、数据库脚本、软件工…...
问一下ChatGPT:DIKW金字塔模型
经常看到这张DIKW金字塔模型图,还看到感觉有点过份解读的图,后面又加上了insight,impact等内容。 Data:是数据,零散的、无规则的呈现到人们眼前,如果你只看到这些数字,如果没有强大的知识背景&a…...
javaScript基础面试题 ---闭包
闭包1、闭包是什么?2、闭包可以解决什么问题?3、闭包的缺点1、闭包是什么? 闭包是一个函数加上到创建这个函数的作用域的链接,就是一个作用域可以访问到另一个作用域的变量,闭包‘关闭’了函数的自由变量 function f…...
如何自定义您的网站实时聊天图标
实时聊天图标是您网站上的一个按钮,可在访问者单击时打开实时聊天。它代表了您的企业与客户沟通的门户。这是您的网站访问者与您联系、提出问题和接收个性化推荐的一种方式,聊天图标的设计最好是简单且引人入胜,个性化的图标往往更能提现企业…...
Vue侦听器Watch
31. Vue侦听器Watch 1. 定义 Watch是Vue.js提供的一个观察者模式,用于监听数据的变化并执行相应的回调函数。虽然计算属性Computed在大多数情况下更合适,但有时也需要一个自定义的侦听器Watch。因为在有些情况下,我们需要在状态变化时执行一…...
云快充研发中心平台架构师谈云原生稳定性建设之路
作者:吕周洋 大家好,我是来自云快充研发中心的平台架构师吕周洋,今天我给大家分享云快充云原生稳定性之路。 点击查看:云快充研发中心平台架构师 吕周洋:云快充云原生稳定性治理之路 云快充成立于2016年,…...
ENVI IDL学习笔记之基本操作
前言ENVI IDL(交互式数据语言)是一个通用的科学计算包,它提供了一套数学函数、数据分析工具,以及一些科学可视化和动画工具。IDL 是 ENVI 图像处理和分析软件的基础,可用于编写脚本并自动执行许多使用 ENVI 图形用户界…...
多线程面试题
1. Sychronized的锁升级过程是怎样的? 2. Tomcat 中为什么要使用自定义类加载器? 3. 说说对线程安全的理解 4. 对守护线程的理解 5. 并发、并行、串行之间的区别 6. Java死锁如何避免? 7. 谈谈你对AQS的理解,AQS如何实现可重入锁&…...
YARN运行流程
YARN是Hadoop资源管理器,他是一个通用资源管理平台和调度平台,可为上层应用提供统一的资源管理和调度,MapReduce等运算程序则相当于运行于操作系统上的应用程序,YARN为这些程序提供运算所需的资源内存、cpu。 YARN并不清楚用户提…...
java八股系列——SpringMVC从接受请求到完成响应的过程
Spring的MVC框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。 流程大致如下: 用户发起请求:用…...
做电影采集网站用什么vps/免费ip地址网站
2019独角兽企业重金招聘Python工程师标准>>> 1.打开eclipse,创建一个java project 2.创建lib文件夹,放入mybatis jar包和ojdbc jar包,并添加到buildpath 3.创建generatorConfig.xml文件,位置如上图中所示,内…...
一小时做网站/种子搜索引擎torrentkitty
第二章 文件操作1. 在UNIX系统中,对文件的操作方法有两种:基于标准库函数的文件操作和基于系统调用的文件操作,二者应用不同,各具优势。2. UNIX系统把数据存放在文件中,可以通过系统调用来操作文件,这些系统调用有open、create、r…...
wordpress 无法上传/关键词排名优化官网
第4章 序列的应用 第4章 序列的应用 4.1序列 序列是一块用于存放多个值的连续内存空间,并且按上一定顺序排列,每一个值(称为元素)都分配一个数字,称为索引或位置。通过该索引可以取出相应的值。例如,我们可…...
个体可以做企业网站吗/市场调研怎么写
总结1. 实现的功能2. 遇到的问题1. 文件输入输出操作不熟悉1. 实现的功能 void Inputs(); //输入某个人的信息 void Add_infor(); //增加个人信息 void Payment(); //缴纳费用 void Search_infor(); //查询某个人的信息 void revise_infor(); //修改信息 void Sea…...
小程序介绍范文/企业网站seo方案
解除正在死锁的状态有两种方法:第一种:1.查询是否锁表show OPEN TABLES where In_use > 0;2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)show processlist3.杀死进程id(就是上面命令的id列)…...
中国建设工程监理网站/亚马逊查关键词搜索量的工具
文管王文书档案管理系统 属性资源版本:V8.2软件授权:共享软件软件类型:国产软件软件语言:简体中文应用平台:Winxp/vista/win7/2000/2003软件评分:5星软件大小:7.84MB文管王文书档案管理系统 下载…...