“软件测试面试官都在问什么?这里有一份全面答案!

发表于:2024-1-17 09:42

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软件测试子墨    来源:知乎

  1.如何定位一个bug是前端的还是后端的?
  答案:当面临定位一个bug时,我们可以按照以下几个方面进行判断:
  报错信息:查看控制台的报错信息,如果明确标示出问题所在部分,则直接定位问题。
  网络请求:如果涉及到了网络请求,那么可以通过浏览器开发者工具或者后端日志来查看请求和响应信息,从而推断问题所在的部分。
  UI表现:如果问题和UI表现相关,比如页面样式不正常、动画效果异常等,那么就很有可能是前端的问题。
  数据处理:如果问题和数据处理相关,比如数据显示错误、数据未正确保存等,那么就很有可能是后端的问题。
  综上所述,我们可以通过报错信息、网络请求、UI表现和数据处理这些方面,推断出问题所在的部分。
  2.你在性能测试中都关注哪些指标?
  答案:在性能测试中,我们通常需要关注一下几个指标:
  响应时间(Response Time):即服务器返回请求所需的时间,包括数据传输时间和服务器处理时间。
  吞吐量(Throughput):单位时间内服务器处理请求的数量。
  并发用户数(Concurrent Users):同时访问网站的用户数量。
  CPU利用率(CPU Utilization):服务器的CPU利用率,即系统处理请求时使用的CPU资源占总CPU资源的比例。
  内存使用率(Memory Utilization):服务器的内存使用率,即系统处理请求时使用的内存资源占总内存资源的比例。
  磁盘I/O(Disk I/O):服务器硬盘的读写速度,通常需要关注磁盘读写时间和磁盘队列长度等指标。
  以上指标可以帮助我们更全面、客观地评估系统的性能,并且可以针对不同的业务场景设置不同的测试目标,从而优化系统性能。
  3.怎么使用Linux查看日志?
  答案:在Linux系统中,我们可以通过命令行工具来查看日志文件。常见的命令有以下几个:
  tail命令:该命令用于显示文件末尾的内容,默认情况下显示10行。可以使用-n选项指定需要显示的行数。
  例如:tail -n 20 /var/log/messages会显示/var/log/messages文件最后20行的内容。
  less命令:该命令用于分页显示文本内容,可以滚动查看整个文件内容。按q键退出less命令。
  例如:less /var/log/messages会打开/var/log/messages文件,并允许你翻页查看文件中的内容。
  grep命令:该命令用于过滤出符合条件的文本内容。
  例如:grep "error" /var/log/messages会在/var/log/messages文件中查找包含error关键字的行。
  cat命令:该命令用于一次性显示整个文件的内容。
  例如:cat /var/log/messages会一次性将/var/log/messages文件的全部内容输出到终端上。
  journalctl命令:该命令用于查看Systemd的日志。
  例如:journalctl -u nginx.service会显示nginx.service服务的日志信息。
  以上是常见的Linux日志查看命令,根据实际需要选择合适的命令来查看日志。
  4、app测试和web端测试有什么区别?
  答案:App测试和Web端测试有以下几个方面的主要区别:
  测试对象:App测试是针对移动应用程序进行测试,而Web端测试则是针对Web应用程序进行测试。
  测试环境:在进行App测试时,需要考虑不同操作系统和设备的兼容性,还需要进行真实设备测试或模拟器测试。而在Web端测试中,则主要关注浏览器的兼容性问题。
  测试方法:在App测试中,通常需要进行手动测试、自动化测试和性能测试等多种测试方式来提高测试效率和测试质量。而在Web端测试中,也可以使用这些测试方式,但更注重使用自动化测试方法来提高测试效率。
  测试重点:在App测试中,需要特别关注应用程序的稳定性、流畅度、响应速度、设备兼容性等问题。而在Web端测试中,需要关注网站的页面加载速度、交互性能、用户体验等问题。
  综上所述,App测试和Web端测试在测试对象、测试环境、测试方法和测试重点等方面存在一些区别,需要根据具体情况选择合适的测试方法和策略来提高测试质量和效率。
  5.在浏览器的地址栏输入一串URL点击回车,中间都经历了什么操作?
  答案:在浏览器的地址栏输入一串URL并点击回车,经历了以下几个主要操作:
  DNS解析:浏览器会将用户输入的URL解析为IP地址,通过DNS服务器查询得到目标服务器的IP地址。
  建立TCP连接:浏览器向服务器发送请求之前,需要先与服务器建立TCP连接,进行三次握手协议,确保双方能够正常通信。
  发送HTTP请求:浏览器向服务器发送HTTP请求,包括请求行、请求头、请求体等信息。
  接收响应数据:服务器接收到请求后,会返回响应数据,包括状态码、响应头、响应体等信息。
  渲染页面:当浏览器接收到响应数据后,会根据页面内容、CSS样式和JavaScript代码等,渲染出可视化页面。
  断开TCP连接:当浏览器完成渲染页面后,会断开与服务器的TCP连接,释放资源。
  综上所述,浏览器在地址栏输入URL并点击回车后,会进行一系列复杂的操作,包括DNS解析、TCP连接、HTTP请求、响应数据接收、页面渲染、TCP连接断开等过程。
  6.get和post的区别是什么?
  在Web开发中,GET和POST是HTTP协议中最常用的两种请求方法之一,它们的主要区别如下:
  参数传递方式不同:GET请求通过URL参数传递数据,而POST请求则是在请求体中传递数据。
  可以处理的数据大小不同:由于GET请求参数是附加在URL后面的,所以数据大小通常受限于浏览器和服务器对URL长度的限制。而POST请求没有这个限制,可以处理更大量的数据。
  安全性不同:GET请求会将请求参数暴露在URL中,用户可以直接看到,存在安全隐患;而POST请求则不存在此问题,因为请求参数被包含在请求体中,不会在地址栏中显示。
  缓存机制不同:GET请求可以被缓存,当浏览器再次请求相同的URL时,可以从本地缓存中获取响应结果,如果响应结果没有变化,就不需要再次向服务器发送请求;而POST请求则不会被缓存,每次都会向服务器发送完整的请求。
  语义不同:GET请求通常用于请求资源,比如获取某个网页、图片等;而POST请求通常用于提交表单数据或者更新资源,比如提交注册信息、发表评论等。
  综上所述,GET和POST请求在参数传递方式、数据大小、安全性、缓存机制和语义等方面存在一些区别,需要根据实际需求选择合适的请求方法。、
  7、cookies和session的区别是什么?
  Cookies和Session都是常见的Web应用程序中用于保持状态和记录用户信息的机制,它们的主要区别如下:
  存储位置不同:Cookies存储在客户端(即浏览器)中,而Session存储在服务器端。Cookies通过设置HTTP响应头将数据保存在客户端,客户端每次请求时会携带该信息;而Session则是在服务器端创建一个唯一标识符,将数据保存在服务器端,并将该标识符发送给客户端,在后续的请求中,客户端需要携带该标识符来获取相关信息。
  存储内容不同:Cookies可以存储任意类型的数据,包括字符串、数字、日期等;而Session则通常只存储一些敏感信息,比如用户名、角色等。
  安全性不同:Cookies信息以明文形式存在于客户端,可能被恶意攻击者窃取或篡改;而Session信息存储在服务器端,相对安全性更高。
  大小限制不同:浏览器对Cookies大小有限制,通常最大为4KB左右;而Session的大小限制较低,但需要注意服务器的内存问题。
  生命周期不同:Cookies可以设置过期时间,可以在浏览器关闭后仍然存在;而Session的生命周期通常与浏览器会话关联,一旦用户关闭浏览器,Session就会失效。
  综上所述,Cookies和Session都是Web应用程序中常用的状态保持机制,它们在存储位置、存储内容、安全性、大小限制和生命周期等方面存在一些区别,需要根据实际需求选择合适的机制。
  8.tcp和udp的区别是什么?
  TCP和UDP是两种常见的网络协议,用于在网络中传输数据。它们有以下区别:
  TCP是一种面向连接的协议,而UDP是无连接的。这意味着在TCP中,通信双方必须先建立一个连接,然后才能进行数据传输。而在UDP中,发送数据之前不需要建立连接。
  TCP提供可靠的数据传输,即保证数据不会丢失或损坏,并确保传输的数据正确性。而UDP则不保证数据传输的可靠性,数据可能会丢失或损坏,不保证数据的正确性。
  TCP提供流量控制功能,可以避免过多的数据发送导致网络拥塞。但在UDP中,没有流量控制机制,可能会导致网络拥塞。
  TCP还提供拥塞控制功能,以避免网络拥塞。但在UDP中,没有拥塞控制机制,可能会导致网络拥塞。
  适用场景不同:TCP适用于需要可靠传输和数据完整性的应用程序,如文件传输和电子邮件;而UDP适用于实时通信应用程序,如音频/视频流媒体和在线游戏。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号