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

在这里插入图片描述

 
 

在这里插入图片描述
😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【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.xdnf.cn/news/142311.html

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

相关文章

自动化测试:为什么需要框架

前两天跟老板出去做pre-sales. 主要是去卖我们的自动化测试服务,工具用的是HP UFT。做过自动化的人应该知道,UFT在自动化测试领域已经算是最好的工具之一了。客户是个有技术背景的人,所以不那么好忽悠。我们准备了一大堆自动化测试优点的幻灯…

推荐一个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI(https://ai.ciyundata.com/)是一种基于星火大模型和文心大模型的知识增强大语言模型,专注于自然语言处理(NLP)领域的技术研发。 它具备强大的语义理解和生成能力,能够处理各种复杂的…

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么? 一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能、可扩展、能洞察等。其中洞察,可以用于分析构建过程中数据,提供分析参…

想学python找不到合适的书籍?它来了!入门python只需要这一本书就够了!

想学python找不到合适的书籍?看了视频还是不知如何下手? 《python王者归来》 它来了!由清华大学出版社出版!入门python只需要这一本书就够了! 【PDF版领取见文末】 这是一本python入门书。无论你是计算机专业的大学生…

C语言之字符函数字符串函数篇(1)

目录 前言 求字符串长度 strlen strlen统计的是字符串\0之前的字符串长度 字符指针 strlen的返回值是无符号整型 strlen的三种模拟实现 计数器 函数递归 指针_指针 长度不受限制的字符串函数 strcpy strcpy会将源字符串中的 \0 拷贝到目标空间 strcpy参数目标空…

echarts添加点击事件

实现效果:点击图表,弹出该数据下对应得详情 官方文档: 封装的图表组件中: 点击获取点击得对象,进而将需要的参数传给父组件,在父组件中再去请求接口获取更多信息 this.chart.on(click, (params)> {th…

Docker 安装Redis(集群)

3主3从redis集群配置 1、新建6个docker容器 redis 实例 docker run -d --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 docker run -d --name redis-node-2 --ne…

聚焦云原生安全|如何为5G边缘云和工业互联网应用筑牢安全防线

9月22日,2023年中国信息通信业发展高层论坛5G工业互联网分论坛在北京顺利举办。 作为国内云原生安全领导厂商,安全狗受邀出席此次活动。 据悉,中国信息通信业发展高层论坛是致力于研究信息通信业发展新问题、新趋势,推动信息通信…

使用vite插件进行低代码平台自定义开发(手机版自定义范例)

前言 Youtube上的前端网红「Theo」在React文档仓库发起了一个Pull request,号召React文档不要再默认推荐CRA(create react app),而是应该将Vite作为构建应用的首选。 vite的影响力已经从vue蔓延到了react,可见在前端工程化开发中&#xff0c…

如何使用ArcGIS Pro将等高线转DEM

通常情况下,我们拿到的等高线数据一般都是CAD格式,如果要制作三维地形模型,使用栅格格式的DEM数据是更好的选择,这里就为大家介绍一下如何使用ArcGIS Pro将等高线转DEM,希望能对你有所帮助。 创建TIN 在工具箱中选择“…

如何构建基于大模型的App

ChatGPT 的出现让大模型再一次成为业界的关注热点,然而,并不是每个组织都要去训练及生成大模型的,而且各个组织的技术积累和计算资源也不太允许这样去做。更多的时候, 我们还是基于大模型开发业务应用。所谓智能原生(A…

SpringMVC-请求与相应

一、环境准备 <dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope> //确定范围避免与tomcat冲突</de…

vivado乘法器IP核进行无符号与有符号数相乘问题的验证

本文验证乘法器IP核Multiplier进行无符号(unsigned)与有符号数(signed)相乘的正确性&#xff0c;其中也遇到了一些问题&#xff0c;做此记录。 配套工程&#xff1a;https://download.csdn.net/download/weixin_48412658/88354179 文章目录 问题的讨论验证过程IP核配置例化乘…

python+nodejs+php+springboot+vue 导师双选系统

为了直观显示系统的功能&#xff0c;运用用例图这样的工具显示分析的结果。分析的导师功能如下。导师管理导师选择信息&#xff0c;管理项目&#xff0c;管理项目提交并对学员提交的项目进行指导。 为了直观显示系统的功能&#xff0c;运用用例图这样的工具显示分析的结果。分析…

win11、win10使用python代码打开和关闭wifi热点的正确方法

问题一 win10、win11&#xff0c;可以在任务栏的WIFI图标启动移动热点&#xff0c;但是无法设置SSID和密码。在网上搜索好久&#xff0c;无解。 万能的网络解决不了&#xff0c;只能自己动手解决了。 问题二 我当前的WiFi驱动程序不支持承载网络&#xff0c;如果我输入netsh…

若依cloud -【 100 ~ 103 】

100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用&#xff0c;每个应用都部署在单独的一台机器里边&#xff0c;应用对应的日志的也单独存…

【MySQL基础 | 中秋特辑】多表查询详细总结

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、多表…

SI3262:国产NFC+MCU+防水触摸按键三合一SoC芯片

目录 SI3262简介特点结构框图芯片特性 SI3262简介 Si3262是高度集成ACD低功耗MCUNFC15通道防水触摸按键的SoC芯片。 其MCU模块具有低功耗、Low Pin Count、宽电压工作范围&#xff0c;集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等丰富的…

基于微信小程序的婚庆婚纱摄影预约平台(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

nodejs+vue 医院病历管理系统

系统使用权限分别包括管理员、病人和医生&#xff0c;其中管理员拥有着最大的权限&#xff0c;同时管理员的功能模块也是最多的&#xff0c;管理员可以对系统上所有信息进行管理。用户可以修改个人信息&#xff0c;对医院病历信息进行查询&#xff0c;对住院信息进行添加、修改…