通知:【公众号更名为:程序员臻叔】

关注领福利:

回复「测试」:获取最常用的测试用例模版+常用的测试工具。
回复「面试」:臻叔原创《测试岗笔面试真题宝典》
回复「简历」:送你臻叔私人珍藏的测试简历模板。
回复「书单」:获取2021年软件测试工程师必看的书单。
回复「python」:免费获取「python入门」高分好书,业余时间偷偷变牛逼。
回复「java」:即可获得java经典学习资料,带你轻松入门java编程。
回复「java面试」:获得BAT校招社招185页JAVA面试题合集。

大家好,我是臻叔。这里是我的【测试开发Guide】专栏。

根据我工作这几年来的面试经验,加上之前收集的资料,整理出来350+道软件测试工程师常考的面试题。字节跳动、阿里、腾讯、百度、快手、美团等大厂常考的面试题,在文章里面都有提到。

虽然这篇文章很长,但是绝对值得你点击一下收藏。

想要找工作的同学,假如你每次面试之前,把此文拿出来过一过,好好复习一下,相信你一定能找到一个满意的工作。

Tip:我整理的面试题都按照这个脑图写,不定期更新,往下翻有目录,后期会不断把参考答案补充上去,点击标题阅读即可,此文章长期有效,找测试相关工作的同学一定要好好收藏。

一、开场白

Q:简单自我介绍一下吧
Q:项目和实习经历?(注意使用STAR法则表述)

二、软件测试基础

工作内容

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

测试方法

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

测试文档

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

自动化测试

Q:举例说明,都有哪些功能可以用自动化来进行?
Q:如何判断一个功能能否进行自动化测试?
Q:定位xpath路径都有哪些方法?
Q:如何定位一个动态的元素?
Q:如何定位类似于悬浮在web页面上的元素(类似于web上飞来飞去的广告)
Q:列举你知道的自动化测试工具

测试工具

Q:聊聊 fiddler 的抓包原理
Q:fiddler 怎么抓取 https 请求?
Q:wireshark 抓包的头部有什么?

性能测试

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

游戏测试

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

三、软件测试实战

排查问题的思路

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

实战案例

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

四、语言基础

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 的了解

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 慢?

Shell

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

C++

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

五、数据结构与算法

链表

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

数组

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

复杂度

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

排序

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

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

递归

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

字符串

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

堆与栈

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

动态规划

Q:什么是动态规划?

高级算法

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

查找

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

哈希

六、框架

开发框架

Django

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

Spring

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

测试框架

selenium

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

Appium

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

Unittest

Pytest

TestNG

Junit

七、计算机基础

计算机网络

TCP/UDP

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

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 的长度限制了解么?

其他

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

操作系统

进程/线程

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

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行?

文件存储

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

其他

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

数据库

非关系型数据库

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

关系型数据库

数据库基本理论

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:你的期望薪资是多少?

面试题部分答案见作者公众号【程序员臻叔】

也欢迎扫码关注作者公众号,加入业内测试交流群,我们一起成长!

吐血整理,2020年最新【阿里、头条、美团】【软件测试】面试题(持续更新!)相关推荐

  1. 吐血整理 这200道阿里P6必备Java面试题,我简直太爱了

    前言 梳理了好久,总算是把面试题全部导出来了,毕竟还要上班,这次就给大家总结了一些Java开发岗位的经典面试题. 篇幅较大,阅读过程中可能会有点繁琐! 但请细细观看,文章末尾有留给大家的小惊喜!!! ...

  2. 【最新阿里-京东-美团-滴滴-面试题及答案】

    最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴.京东.美团.滴滴),面试回来之后会发给我一些面试题.有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的.我特意整理了一下,有很多问题不 ...

  3. android面试题2020!年末阿里百度等大厂技术面试题汇总,社招面试心得

    前言 1.主动学习,努力提升,与社会发展同行 在职场上工作的年限越长,就越容易形成定势思维,这也许就是思维僵势的影响.这种习惯性思维正是缩小中年人生存空间的一大原因. 随着新行业.新技术的出现,要想不 ...

  4. 2019最新Android常用开源库总结(持续更新,建议收藏)

    热文导读|   点击标题阅读 如何才能成为优秀的架构师? 23种设计模式及案例整理分享(建议收藏) 程序员的35个坏习惯,你有几条? 作者:欢子-3824 来源:https://blog.csdn.n ...

  5. android标题栏添加按钮_2019最新Android常用开源库总结(持续更新,建议收藏)

    热文导读|   点击标题阅读 如何才能成为优秀的架构师? 23种设计模式及案例整理分享(建议收藏) 程序员的35个坏习惯,你有几条? 作者:欢子-3824 来源:https://blog.csdn.n ...

  6. 2019年最新Android常用开源库汇总上篇(持续更新)

    因为本文资料太多,所以本文分上下篇,并且持续更新,觉得不错的小伙伴们可以关注点赞收藏一下 1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView HtmlI ...

  7. 开发必备!2019年最新android常用开源库汇总上篇(持续更新)

    因为本文资料太多,所以本文分上下篇,并且持续更新,觉得不错的小伙伴们可以关注点赞收藏一下哦~ 1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView Htm ...

  8. 西电2020 python OJ作业(50道题目,持续更新)

    西电2020 python OJ作业(50道题,持续更新) 0.A+B problem 题目描述 用来适应环境的题目,自然比较简单些. 计算2个整数的和.这两个整数都在1到1000之间. 输入 输入只 ...

  9. 【干货分享】2023美团软件测试面试题汇总

    前言 本篇分享的软件测试面试题内容主要包括:测试总体.需求分析.测试计划.测试策略.测试用例.缺陷报告.测试总结报告.白盒测试.单元测试.集成测试.系统测试.验收测试等等26个模块. https:// ...

  10. 2019软件大会精选阿里|头条|美团|闲鱼|B站等行业大佬架构图

    作者简介:目前就职于一线互联网公司,主要是从事大数据开发工作.关注⬆️上方公众号,及时获取一线互联网技术资讯,想要联系作者,公众号有我的微信二维码. 为什么互联网公司看重PPT 1月24日,新东方年会 ...

最新文章

  1. linux DNS配置详解
  2. 三角形最小路径和(动态规划)
  3. python日志内容存储到文件里_Python中如何实现将logging日志保存到文件中
  4. cap理论具体含义_分布式事务的CAP理论
  5. python学习—python中的引用本质
  6. 演练 获取所有电视频道 FullChannels.xml c# 1614256914
  7. 老司机如何找素材,如何找灵感?
  8. MySQL基于复制的架构方案
  9. MySQL索引性能测试
  10. 140个电脑小知识、小技巧(1)
  11. 机器学习之层次聚类及代码示例
  12. Android 旋转动画简单实现
  13. ubuntu 图形化桌面
  14. 读书笔记 摘自:《创业就是要细分垄断》
  15. 盘点一下分布式模式下的服务治理和监控优化方案
  16. libuv编译Linux,OS X下 Android NDK 编译 libuv
  17. Unity学习记录:制作双屏垃圾分类小游戏
  18. Oculus Quest使用Scrcpy实现无线投屏分享到电脑屏幕
  19. 全新网站后台管理系统下载 微信公众号 CMS 工作流 ERP
  20. 看Youtube怎么利用深度学习做推荐

热门文章

  1. python语言的类型是_python到底是什么类型的语言
  2. easyX设置文字背景透明
  3. Win7遇到:应用程序已停止工作,故障模块 ntdll.dll
  4. SQL Server 数据类型(整数、浮点数据、日期与时间数据、文本和图形数据类型、货币数据类型、位数据类型、二进制数据类型)
  5. FileStream文件流的使用
  6. QT定时器QTimer
  7. Element UI 数字输入框的实现
  8. win10的注册表配置-IE兼容性视图
  9. Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系
  10. 前端学习从入门到高级全程记录之25(webapi)