2023年最全面的自动化测试和测试开发面试题,不建议薪资低于10k的应聘者阅读。

本文主要是介绍2023年最全面的自动化测试和测试开发面试题,不建议薪资低于10k的应聘者阅读。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

鉴于现在严峻的就业形势,千万大学生即将出新手村,今天给大家打包好了2023最能避免薪资倒挂的《面试圣经》。不经一番寒彻骨,怎得梅花扑鼻香。这份面试题,与君共勉!

一、开场白

Q:简单自我介绍一下吧

Q:项目和实习经历?(注意使用STAR法则表述)

二、软件测试基础

2.1 工作内容

  • Q:按测试内容划分,测试有哪些种类?
  • Q:软件开发(测试)的流程是怎么样的?
  • Q:你印象最深刻的 bug 是?
  • Q:谈谈你对 CI/CD 的理解
  • Q:谈谈你对 DevOps 的理解
  • Q:什么是 BDD ? 什么是 TDD ?
  • Q:APP的一个页面,你怎么区分是原生Native页面,还是H5?

2.2 测试方法

  • Q:黑盒测试的方法有哪些?
  • Q:白盒测试的方法有哪些?
  • Q:什么是单元测试?
  • Q:什么是集成测试?
  • Q:测试用例怎么编写与设计?
  • Q:什么是灰盒测试?

2.3 测试文档

  • Q:测试用例都包含哪些要素?
  • Q:测试报告需要展示哪些要素?
  • Q:测试排期应该怎么估算?
  • Q:谈谈你构造数据的经历?

2.4 自动化测试

  • Q:举例说明,都有哪些功能可以用自动化来进行?
  • Q:如何判断一个功能能否进行自动化测试?
  • Q:定位xpath路径都有哪些方法?
  • Q:如何定位一个动态的元素?
  • Q:如何定位类似于悬浮在web页面上的元素(类似于web上飞来飞去的广告)
  • Q:列举你知道的自动化测试工具
  • 2.5 测试工具
  • Q:聊聊 fiddler 的抓包原理
  • Q:fiddler 怎么抓取 https 请求?
  • Q:wireshark 抓包的头部有什么?

2.6 性能测试

  • Q:性能测试如何做的?
  • Q:性能测试需要关注哪些方面?

2.7 游戏测试

  • Q:印象最深的游戏是哪个?哪些方面最吸引你?
  • Q:印象最深的游戏里有过哪些bug,分析下原因
  • Q:如何对一个大地图游戏进行测试?该有哪些测试点?
  • Q:测试程序设计的不合理 与 测试程序完善但是测试人员出现失误,哪一项更严重?
  • Q:游戏测试的定位和职责你觉得是什么?
  • Q:游戏采用客户端和服务器架构的必要性是什么?
  • Q:LOL脚本的原理是什么?
  • Q:为什么RPG游戏脚本没有LOL这种竞技类脚本开发的多?
  • Q:有一个触发概率极低但是非常致命的BUG,明天项目一定要上线,你怎么处理,不用非得解决,就是问我怎么处理这种事。
  • Q:为什么想做游戏测试?
  • Q:让你做一个游戏,你更想做哪个类型的(MMORPG?MOBA?FPS?RTS?)
  • Q:说说游戏史,除了游戏还有什么爱好?
  • Q:列举你知道的游戏测试的测试工具

三、软件测试实战

3.1 排查问题的思路

  • Q:网页崩溃的原因是什么?
  • Q:有个用户反馈上传头像失败,分析原因?
  • Q:app闪退的原因?
  • Q:偶然闪退的排查?
  • Q:网页卡顿的原因是什么?
  • Q:10%的用户反馈用不了功能,你讲如何排查?
  • Q:登录的按钮不能点击,如何排查问题?
  • Q:压测的时候,QPS一直上不去,你会怎么排查?
  • Q:APP提示无法连接网络,你会如何排查?
  • Q:怎么判断一个BUG到底是前端的BUG还是后端的BUG?

3.2 实战案例

  • Q:微博发动态,设计一下测试点
  • Q:对一台自动售货机进行测试用例设计
  • Q:设计微信发红包测试用例
  • Q:设计抖音直播功能测试用例
  • Q:设计微信扫码支付的测试用例
  • Q:设计百度首页的测试用例
  • Q:微信的点赞功能怎么测试?
  • Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。
  • Q:微信朋友圈评论功能怎么测试?
  • Q:微信上线一个新的好友推荐功能功能如何测试?
  • Q:测试微信换头像功能,设计测试用例
  • Q:抖音视频的安全性测试,测试点有哪些?
  • Q:如果手机浏览器输入baidu.com打不开页面,你会怎么排查?
  • Q:设计输入框测试用例?
  • Q:编写一个登录界面的测试用例?
  • Q:对一个接口编写测试用例
  • Q:搜索功能怎么测试?

四、语言基础

4.1 Java

  • Q:什么是多态?
  • Q:什么是GC?
  • Q:set 与 hashset 的区别
  • Q:map 与 hashmap 的区别
  • Q:hashmap 的查找,删除,添加的时间复杂度
  • Q:查找所有java进程
  • Q:杀死java进程
  • Q:介绍一下 java 的拷贝、四种引用
  • Q:java容器有哪些?简要介绍一下 java 的数组和链表
  • Q:谈谈你对 java 集合了解多少?
  • Q:Java 三大特性是什么?
  • Q:List 和 Map 有什么区别?
  • Q:谈谈 List、Set、Map的区别?
  • Q:重写与重载的区别是什么?
  • Q:HashMap 和 HashTable 的区别是什么?
  • Q:ArrayList 和 LinkedList 的区别是什么?
  • Q:Map 的 put 方法
  • Q:java的封装,java 的访问权限关键字的作用域?
  • Q:为什么 java 要面向接口编程?
  • Q:什么是反射?
  • Q:interface 和 abstract 的区别是什么?
  • Q:熟悉 maven 么?谈谈你对 maven 的了解

4.2 Python

  • Q:全局变量和局部变量变量名能否一样?
  • Q:Python 里 is 和 == 的区别?
  • Q:Python 变量的创建与消亡过程
  • Q:Python的垃圾回收的机制
  • Q:dict的底层结构,tuple和list的底层结构的区别
  • Q:深拷贝浅拷贝的区别是什么?
  • Q:什么是协程?
  • Q:什么是装饰器?举一个你用过装饰器的例子
  • Q:@classmethod 和 @staticmethod 的区别,以及分别运用在哪些使用场景?
  • Q:什么是鸭子类型?
  • Q:python 的可变类型有哪些?
  • Q:python 常见的数据类型有哪些?
  • Q:列举 python2 和 python3 的区别
  • Q:什么是lambda函数?怎么用?
  • Q:别的编程语言都有三目运算符,三目运算符在python中怎么表达?
  • Q:try...except...else 和 try...except...finally 的区别是什么?
  • Q:什么是可迭代对象?可迭代对象的原理是什么?
  • Q:with...as 的原理是什么?
  • Q:解释一下python的GIL锁
  • Q:python 是单继承还是多继承?
  • Q:python 继承的顺序是什么?
  • Q:什么是元类?
  • Q:为什么都说 python 慢?

4.3 Shell

  • Q:什么场景下,适合编写 Shell 脚本来处理?

4.4 C++

  • Q:指针和引用的区别是什么?

五、数据结构与算法

5.1 链表

  • Q:一个有序链表,怎么求第K大个节点?
  • Q:怎么找出这两个链表是否有相交的点
  • Q:数组与链表的区别
  • Q:链表逆序

5.2 数组

  • Q:怎么对俩有序数组合并?
  • Q:求数组中和为 n 的两个数,时间复杂度是多少?
  • Q:int 型数组,怎么排序?
  • Q:int 型数组,怎么去重?

5.3 复杂度

  • Q:时间复杂度是什么?
  • Q:怎么计算时间复杂度?

5.4 排序

  • Q:八大排序都有哪些?
  • Q:快排的原理
  • Q:归并排序的原理
  • Q:冒泡排序的原理
  • Q:插入排序的原理
  • Q:选择排序的原理

5.5 树

  • Q:数的定义,代码实现
  • Q:什么是树的高度?怎么求?
  • Q:计算二叉树节点的个数
  • Q:什么是根结点?什么是叶子节点?
  • Q:打印二叉树

5.6 递归

  • Q:什么是递归?
  • Q:递归的时间复杂度是什么?

5.7 字符串

  • Q:字符串长度可以改变么?

5.8 堆与栈

  • Q:堆和栈都有什么区别
  • Q:代码实现栈

5.9 动态规划

  • Q:什么是动态规划?

5.10 高级算法

  • Q:什么是深度遍历?什么是广度遍历?

5.11 查找

  • Q:能够实现二分查找的必要条件是什么?

六、框架

6.1 开发框架

6.1.1 Django

  • Q:简单介绍一下Django的目录结构
  • Q:了解什么是MVC么?为什么说 Django 是MTV模型?
  • Q:一个网络请求在Django中的实现过程
  • Q:uwsgi是什么?用uwsgi和用Django的原生启动方式,有什么区别?
  • Q:了解 ORM 么?简单介绍一下Django的ORM映射
  • Q:Django的 CBV 和 FBV 的区别?实际项目中你会使用哪种方式?为什么?
  • Q:怎么把 Django 的 module 同步到数据库中?同步过程中会遇到什么坑么?

6.1.2 Spring

  • Q:Spring 框架介绍
  • Q:什么是 IOC?
  • Q:什么是 DI?
  • Q:什么是 AOP?

6.2 测试框架

6.2.1 selenium

  • Q:selenium框架的运行原理
  • Q:selenium定位元素的方法都有哪些

6.2.2 Appium

  • Q:Appium用过吗?原理是什么?

6.2.3 Unittest

6.2.4 Pytest

6.2.5 TestNG

6.2.6 Junit

七、计算机基础

7.1 计算机网络

7.1.1 TCP/UDP

  • Q:简单介绍 TCP 三次握手(为什么不是两次、四次)
  • Q:四次分手是什么?
  • Q:TCP 拥塞是什么?
  • Q:TCP怎么保证安全的,UDP能否也像TCP那样安全,怎么做?
  • Q:你知道 tcp 的控制可靠性的策略和重传机制么?
  • Q:TCP协议属于哪一层?

7.1.2 HTTP/HTTPS

  • Q:cookie 和 session 机制、区别
  • Q:输入url到网页显示出来中间的过程
  • Q:列举你知道的网页状态码
  • Q:3 开头的网络状态码的含义是什么?302和304的区别是什么?
  • Q:4 开头的网络状态码含义是什么?
  • Q:5 开头的网络状态码含义是什么?
  • Q:什么是 HTTPS?原理是什么?
  • Q:GET 和 POST 的区别是什么?
  • Q:网络请求 method 有哪几种?
  • Q:简单介绍一下什么是 RESTful API
  • Q:PUT 和 POST 的区别
  • Q:列举常见的请求 Header 头
  • Q:一个HTTP请求报文是什么样的?(GET举例)
  • Q:GET 的长度限制了解么?

7.1.3 其他

  • Q:最大连接数和QPS区别
  • Q:网络一共分为几层?
  • Q:客户端向服务器请求图片和动态资源的区别
  • Q:图片渲染的过程 前端
  • Q:网络七层有哪些?tcp,udp,arp都在哪一层?
  • Q:QPS 和 TPS 的区别是什么?
  • Q:解释一下DNS
  • Q:什么是反向代理?
  • Q:什么是 socket?
  • Q:【手撕】用 socket 实现一个聊天室功能?

7.2 操作系统

7.2.1 进程/线程

  • Q:进程与线程的区别?
  • Q:何时cpu处理进程最慢?
  • Q:为什么会出现死锁?
  • Q:进程间通信的方式?
  • Q:线程间通信的方式?
  • Q:如何做到线程同步?

7.2.2 Linux

  • Q:linux切换目录
  • Q:linux命令,统计一个文本中关键字出现的次数
  • Q:linux 查找当前目录下所有后缀为 .py文件
  • Q:知道的linux常用命令:查看指定端口进程
  • Q:cd - 和 cd ~
  • Q:linux 查看某个进程命令怎么写
  • Q:如何查看日志?怎么查看后500条日志?
  • Q:awk有什么用?如何用(举个例子)?
  • Q:如何查看系统性能?
  • Q:如何查看剩余磁盘空间大小?
  • Q:如何查看目录占空间大小?
  • Q:你知道 xarg 的用法吗?
  • Q:怎么从本地计算机与服务器中进行文件传输?
  • Q:测试服务器之间怎么进行文件拷贝?
  • Q:sed 有什么用?如何用(举个例子)?
  • Q:怎么杀死一个进程?
  • Q:怎么递归删除一个目录下的所有文件?
  • Q:怎么查看内存大小?
  • Q:怎么查看 CPU 使用情况?
  • Q:怎么重启 Linux 服务器?
  • Q:怎么打印出一个文件的第500-1000行?

7.2.3 文件存储

  • Q:静态存储和动态存储的区别
  • Q:视频在服务器的存储几种方式
  • Q:CDN有什么用?
  • Q:为什么前端静态资源要上传到CDN上?

7.2.4 其他

  • Q:系统资源包括哪些?
  • Q:什么是 IO 操作?
  • Q:什么是内存?
  • Q:什么是硬盘?
  • Q:什么是CPU?
  • Q:什么操作比较消耗CPU?
  • Q:什么是UTF-8?什么是Unicode?
  • Q:什么是 IO 多路复用?以及怎么实现?
  • Q:谈谈什么是分布式?为什么要用分布式?

7.3 数据库

7.3.1 非关系型数据库

  • Q:非关系型数据库有哪些?
  • Q:Redis的数据结构有哪些?
  • Q:Redis 和 Memcached 的区别?
  • Q:Redis 的用途?
  • Q:Redis一秒能写入多少数据?
  • Q:Redis为什么快?
  • Q:Redis的过期时间怎么设置?哪些场景适合缓存更长时间?
  • Q:什么是缓存雪崩?
  • Q:什么是缓存击穿?缓存击穿和缓存穿透的区别是什么?
  • Q:什么时候适合用MongoDB?
  • Q:Redis 适合做消息队列吗?为什么?
  • Q:Redis 的数据是存储在内存当中的,假如断电之后就会造成数据丢失,那怎么对 Redis 进行数据固化?

7.3.2 关系型数据库

数据库基本理论

  • Q:有哪些数据库优化的方式?
  • Q:关系型数据库和非关系型数据库的区别?
  • Q:数据库的事务有什么用?什么时候应该使用事务,什么时候不该使用事务?
  • Q:数据库索引有什么用?什么是联合索引?
  • Q:主键适合用自定义ID还是自动ID?
  • Q:外键是什么?为什么大公司有时候不建议使用外键?
  • Q:索引设置得越多越好吗?索引得优缺点是什么?
  • Q:InnoDB是基于什么实现的?
  • Q:为什么会造成数据库死锁?怎么解决?
  • Q:事务都有哪些特点?
  • Q:数据库设计的三大范式是什么?
  • Q:一张数据表最多不建议超过多少行?
  • Q:为什么要进行分表分库?
  • Q:分表分库有哪几种方式?举例说明
  • SQL
  • Q:【手撕】数据库,查找一个学生两门功课都大于80分的姓名
  • Q:【手撕】联表查询2个表中工号为“123”的人的所有信息
  • Q:【手撕】一个人员表,一个部门表,人员表中存了部门id,查人员表各部门表所有数据
  • Q:【手撕】查询一个城市列表里面重复的城市名,并且统计重复次数
  • Q:【手撕】查找一个学生成绩表中平均分数大于90分的学生名单
  • Q:【手撕】查找学生成绩表中平均成绩最高的同学
  • Q:数据库怎么拷贝数据?
  • Q:删除数据的方式有哪些?说说 drop table和truncate table的区别?

八、智力题

  • Q:跳台阶问题
  • Q:4分钟沙漏和7分钟沙漏怎么漏出9分钟
  • Q:两个粗细不同的香,燃尽时间都是1个小时,怎么用这个2根香计算15分钟的时间
  • Q:赛马
  • Q:10堆苹果,每堆10个,9堆每个50g,1堆每个40g,有一个称,求只称一次,找出这个轻的一堆
  • Q:飞机加油问题
  • Q:逻辑:四个开关四个灯泡
  • Q:地球弧形

九、编程题

  • Q:求最大回文个数
  • Q:一个数组中有正数有负数(没有0),请将它排成正负相间的数组(多余的全部放后面),时间复杂度不超过O(n);
  • Q:一道编程题,输入一串由ABCD四个字随机组成的字符串和一个整数k,返回字符串种前k个字的顺序重复了几次。
  • Q:编程:判断一个字符串是否符合ipv4格式
  • Q:代码题,给一个句子,只把单词翻转然后输入
  • Q:【手撕代码】字符串中只出现一次的字符、找出数组中最小的四个数字
  • Q:代码:一串字符串中最小的整数
  • Q:写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名
  • Q:编程题,鸡兔同笼,一半的兔子伸起一半的脚,输入地上有几只脚,列出所有的可能性(兔子是基数则整除2)
  • Q:判断一个字符串是否是点分十进制的ipv4格式
  • Q:100万个学生 按照成绩 及对应排名录入 分数查找排名(hashmap)
  • Q:python的编程题,输入一个字符串然后空格切割在统计每个字母出现的次数

十、HR常问

  • Q:为什么想做测试
  • Q:对测开的理解
  • Q:测试过程中有没有出现问题,是如何解决的
  • Q:最近看了什么书?学了什么?为什么学?有看什么技术书籍吗?
  • Q:个人优缺点,举例
  • Q:测试看重什么能力
  • Q:项目问题细挖
  • Q:为什么选择xx公司?
  • Q:你对我们公司有什么了解吗?
  • Q:之前实习收获了什么
  • Q:介绍下自己的优缺点
  • Q:抗压能力如何,描述一件自己如何抗压的经历
  • Q:反问环节:你有什么问题想问我么?
  • Q:项目中收获了什么?
  • Q:平时怎么学习的
  • Q:为什么要离职?
  • Q:你的期望薪资是多少?

结语

最后再说一遍,这是针对自动化测试甚至测开岗位的面试题,很多面试初级测试功能测试不会问的,比如算法,SQL那些,即使问了也不会问很深!

鉴于篇幅所限,这里无法放上答案,有需要完整面试题的可以进我交流群免费获取!

这篇关于2023年最全面的自动化测试和测试开发面试题,不建议薪资低于10k的应聘者阅读。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/181106

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测