软件测试面试题 —— 整理与解析(4)

news2024/11/28 12:49:03

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

在这里插入图片描述

 
 

阅读目录

  • 1. 接上回
  • 2. 题目解析
    • 2.1 请说说进程与线程之间的区别?
    • 2.2 请说说什么是进程安全,你在开发中会用哪些方法确保进程安全?
    • 2.3 请解释一下Redis集群选举master的大致过程?
    • 2.4 请介绍一下MySQL中的事务隔离级别?
    • 2.5 请介绍一下抽象类是什么,工作中是如何实现的?
  • 3. 后话

1. 接上回

在这里插入图片描述
  我们接着上次的内容继续来整理与解析一些比较高频的测试行业面试题,大家可以通过面试题内的一些解析再结合自己的真实工作经验来进行答题思路的提取、整理。友情提示:硬背答案虽可,但容易翻车哦。

 
 

2. 题目解析

在这里插入图片描述
 

2.1 请说说进程与线程之间的区别?

  出场率非常高的一题,作为测开面试中经常能碰到的经典问题,我们也可以从多个角度来进行回答。进程是OS中一个独立执行的单位,每个进程都有自己的独立内存空间、程序计数器、寄存器集合等,它们不共享这些资源;而线程则是在进程内部的更小的执行单元,共享同一进程的内存空间和资源。因为这题的出现频率太高了,建议在回答中加一些自己的理解,将自己当作一个授业者来对面试官进行讲解,这样既可以表现自己的专业度,也可以让其看到你在工作对于专业知识也是有着自己独特的理解。这里使用举例的方式就比较加分,比如进程就像在不同的电脑上同时运行不同程序的不同用户。每个进程都有自己的空间,可以独立运行,就像每个人有自己的房间。这些进程之间相互独立,一个崩溃不会影响其他进程。但是,不同进程之间的通信需要一些特殊的机制,就像不同房间的人需要通过门或电话来交流;而线程就像在同一台电脑上的不同任务,但是它们共享同一块内存。就像一个人同时在做多个任务,线程可以共享数据和资源,因此它们之间的通信更容易。但是,如果一个线程崩溃,可能会影响其他线程,就像一个人的一个任务出了问题,可能会影响其他任务。

 

2.2 请说说什么是进程安全,你在开发中会用哪些方法确保进程安全?

  在日常的测开工作中,很难不碰到多进程开发的问题,所以在这个问题中我们需要着重的阐述进程安全在开发中的重要意义与确保手段的。我们要知道在开发过程中,存在多线程或多进程的场景,如果不加以控制,多个线程或进程可能会同时访问和修改共享的数据或资源,导致不可预测的行为和错误。而进程安全的目标是确保在这种并发情况下,系统的行为仍然是可预测的、正确的和稳定的。那么常见的进程安全问题包括数据竞争和资源竞争。数据竞争发生在多个线程或进程同时尝试访问和修改相同的内存位置时,可能导致数据损坏或不一致。资源竞争涉及到多个线程或进程争夺有限资源,如文件、网络连接或锁,如果不加以正确的同步和管理,可能导致死锁或资源泄漏而针对这样的情况。正因如此,我们在开发的过程中就需要加入一些方法来确保代码的进程安全,同步机制就是一种非常好的选择,比如如互斥锁、信号量和条件变量等方法来控制对共享资源的访问。这些都可以确保只有一个线程或进程可以访问共享资源,从而避免竞争条件和数据损坏。

 

2.3 请解释一下Redis集群选举master的大致过程?

  Redis相信大家都不陌生,那么能用到redis集群的业务在目前来看也是相当的多,主要还是看所在行业的具体业务,但是既然用到了集群那么也就不能不了解一下其中的一些自动机制。当redis开启集群模式之后就可以通过它来提升可用性与性能,而在集群会都会有一个主节点与多个从节点,主节点一般负责写入操作,从节点用户读取与备份。大致的选举流程如下:当一个Redis集群启动或一个新节点加入集群时,节点会通过广播消息来通知其他节点它的存在。其他节点接收到这个消息后,会对新节点进行验证;当一个Redis集群启动或一个新节点加入集群时,节点会通过广播消息来通知其他节点它的存在。其他节点接收到这个消息后,会对新节点进行验证;如果新节点通过验证,它将发送一个请求,要求成为主节点。其他节点会投票决定是否接受它为主节点。一般来说,需要得到超过一半的投票;如果新节点获得足够的选票,它将被选举为主节点。在此之后,从节点将开始复制主节点的数据,以确保数据的一致性。

 

2.4 请介绍一下MySQL中的事务隔离级别?

  高频,这个就不用太多的铺垫了,平时如果有好好准备或者日常实践的话应该不是问题。READ UNCOMMITTED:最低的隔离级别。一个事务可以读取到另一个事务尚未提交的数据,可能会看到脏读和不可重复读问题。一般不建议使用,隔离性较差;READ COMMITTED:默认的隔离级别。一个事务只能读取到已经提交的数据,避免了脏读,但仍可能会出现不可重复读的问题。大多数情况下,这个级别已经提供了足够的隔离性;REPEATABLE READ:事务开始后,它可以多次读取相同的数据,不会受到其他事务的干扰。这解决了不可重复读的问题,但仍可能出现幻读问题,即一个事务在读取一系列记录时,另一个事务插入了新的记录;SERIALIZABLE:最高隔离级别,确保了事务之间的完全隔离。所有事务串行执行,不会出现脏读、不可重复读和幻读的问题。然而,它的性能开销最大,通常只在需要强制隔离的情况下使用。

 

2.5 请介绍一下抽象类是什么,工作中是如何实现的?

  很基础的一题,做过面向对象开发的应该都知道。它其实就是一种特殊的类,无法被实例化。抽象类可以包含抽象方法,这些方法没有具体的实现,只有方法的声明。子类必须实现这些抽象方法;抽象类也可以包含非抽象方法,这些方法有具体的实现。子类可以选择性地重写这些方法;抽象类可以与多态性结合使用,允许不同的子类实现相同的方法名,但具有不同的实际行为。在日常工作中这个就需要考验大家有没有细心的沉淀与打下良好的基础,基于上面的这些解释,那答案也就异常的明显了。我们一般会用以下这些方法来实现,定义一个抽象类,通过关键字"abstract"标记,包含抽象方法或非抽象方法;创建具体的子类,通过关键字"extends"继承抽象类;在子类中实现抽象方法,提供具体的实现;创建子类的对象,调用父类和子类中的方法,实现多态性和代码复用。

 
 

3. 后话

在这里插入图片描述
  总体来说对于测试开发的面试内容,各个用人单位其实关注的除了相关的技术栈与项目经验之外,其实更需要的是测开人员自身对于项目业务与行业相关的整体解决的认知与思维,这点与软件开发人员的要求会有略微的不同,毕竟作为测试人员来说,整体把握软件质量保障情况是其中的重中之重。

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

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

相关文章

搭建SpringBoot项目三种方式(超详细版)

目录 一、官网下载压缩包解压 二、通过Idea脚手架搭建 三、Spring Boot项目结构 3.1 pom.xml文件 3.2 启动类 3.3 配置文件 四、通过创建Maven项目添加依赖 一、官网下载压缩包解压 接下来我们搭建一个SpringBoot项目,并引入SpringMVC的功能,首先…

【JAVA EE】详解单点登录

作者简介 目录 1.概述 2.实现方案 2.1.分散鉴权 2.2.集中鉴权 1.概述 SSO,即进行一次认证,然后就可以访问所有子系统。很明显SSO只是一种具象化的目标而已,目前业内为了实现单点登录、统一鉴权,提出了一系列的打法。比如直接…

C# 读取Execl文件3种方法

方法 1,使用OLEDB可以对excel文件进行读取 1.1C#提供的数据连接有哪些 对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。 Connection类有四…

ElementUI之首页导航及左侧菜单(模拟实现)

目录 ​编辑 前言 一、mockjs简介 1. 什么是mockjs 2. mockjs的用途 3. 运用mockjs的优势 二、安装与配置mockjs 1. 安装mockjs 2. 引入mockjs 2.1 dev.env.js 2.2 prod.env.js 2.3 main.js 三、mockjs的使用 1. 将资源中的mock文件夹复制到src目录下 2. 点击登…

Java SimpleDateFormat格式化日期时间

java.text.SimpleDateFormat 格式化日期时间, 参考 api 说明 Overview (Java Platform SE 8 ) Examples The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local t…

Normalization总结(BN/LN/WN/IN/GN)

一、简介 在深度学习领域,Normalization用得很多,BN(Batch Normalization)于2015年由 Google 提出,开创了Normalization 先河;2016年出了LN(layer normalization)和IN(I…

基于UDP协议的网络服务器的模拟实现

目录 服务端类UdpServer的模拟实现 服务端类UdpServer的成员变量 服务端类UdpServer的构造函数、初始化函数initServer、析构函数 服务端类UdpServer的start函数 服务端类UdpServer的整体代码(即udp_server.h文件的整体代码) 基于服务端类UdpServe…

不同的jdk版本编译得到的class文件中的信息是不是会不一样

不同的jdk版本编译得到的class文件中的信息是不是会不一样 不同的 JDK 版本编译得到的 .class 文件中的信息可能会有所不同。主要的差异可能出现在以下几个方面: 类文件版本号:随着 JDK 版本的升级,类文件的版本号也会发生变化。例如&#x…

左神高级进阶班6(利用快排的partition过程、BFPRT、动态规划的斜率优化技巧、二叉树的递归套路、完美洗牌问题)

目录 【案例1 利用快排的partition过程,BFPRT】 【题目描述】 【思路解析】 【代码实现】 【案例2 动态规划的斜率优化技巧】 【题目描述】 【思路解析】 【代码实现】 【案例3 二叉树的递归套路】 【题目描述】 【搜索二叉树定义】 【思路解析】 【代…

BERT 快速理解——思路简单描述

定义: BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的语言模型,它基于Transformer架构,通过在大规模的未标记文本上进行训练来学习通用的语言表示。 输入 在BERT中,输入…

一篇博客学会系列(1) —— C语言中所有字符串函数以及内存函数的使用和注意事项

目录 1、求字符串长度函数 1.1、strlen 2、字符串拷贝(cpy)、拼接(cat)、比较(cmp)函数 2.1、长度不受限制的字符串函数 2.1.1、strcpy 2.1.2、strcat 2.1.3、strcmp 2.2、长度受限制的字符串函数 2.2.1、strncpy 2.2.2、strncat 2.2.3、strncmp 3、字符串查找函数…

Java 大厂八股文面试专题-JVM相关面试题 垃圾回收算法 GC JVM调优

Java 大厂八股文面试专题-JVM相关面试题 类加载器_软工菜鸡的博客-CSDN博客 3 垃圾收回 3.1 简述Java垃圾回收机制?(GC是什么?为什么要GC) 难易程度:☆☆☆ 出现频率:☆☆☆ 为了让程序员更专注于代码的实现…

如何使用iPhone15在办公室观看家里电脑上的4k电影,实现公网访问本地群晖!

如何使用iPhone15在办公室观看家里电脑上的4k电影? 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影?1.使用环境要求:2.下载群晖videostation:3.公网访问本地群晖videostation中的电影:4.公网条件下使用电脑…

【Java基础-JDK21新特性】它发任它发,我用java8

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

黑马JVM总结(二十四)

(1)练习-分析a a:先执行iload1:把数据读入到操作数栈中 iinc:把局部变量表中的1号曹位做一个自增,他在局部变量表中发生的并没有影响到操作数栈 a:限制性自增在做iload 自增变成12 iload把12读取到操作数…

Mac电脑信息大纲记录软件 OmniOutliner 5 Pro for Mac中文

OmniOutliner 5 Pro是一款专业级的Mac大纲制作工具,它可以帮助用户更好地组织和管理信息,以及制作精美的大纲。以下是OmniOutliner 5 Pro的主要功能和特点: 强大的大纲组织和管理功能。OmniOutliner 5 Pro为用户提供了多层次的大纲结构&…

Python语法之条件语句(很详细)

目录 Python条件语句的介绍 定义 if的语法和实例(最基本的) 语法 gif动态图展示 具体实例 实现思路: if-elif-else的语法和实例(最基本的) 语法 具体实例 实现思路: 判断需要多个条件需同时判断语法和实例(最基…

利用Axure RP和cpolar内网穿透实现公网访问本地web网页

AxureRP制作静态站点发布互联网,内网穿透实现公网访问 文章目录 AxureRP制作静态站点发布互联网,内网穿透实现公网访问前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4…

最详细的next国际化方案

实现效果 : 根据浏览器语言判断和手动切换(两种切换模式) 实现方法 1.下载安装包 (next-i18next react-i18next i18next) yarn add next-i18next react-i18next i18next 2.在根目录下创建文件(next-i18next.config.js) const path require("path");module.expo…

MATLAB 安装额外工具包

接下里即可搜索并安装 “额外工具包”