今日头条面试真题及答案,软件测试工程师面试秘籍

news2024/9/25 7:19:47

试题1.在浏览器地址栏里输入一个网址,接下来会发生什么?

答案:发生的操作如下。

  (1)浏览器查找该网址的IP地址。

  (2)浏览器根据解析得到的IP地址向Web服务器发送一个HTTP请求。

  (3)服务器收到请求并进行处理。

  (4)服务器返回一个响应。

  (5)浏览器对该响应进行解码,并渲染显示页面。

  (6)页面显示完成后,浏览器发送异步请求。

试题2.说明Java里内存泄漏和溢出的区别。

答案:内存溢出(out of memory)是指程序在申请内存时,没有足够的内存空间可供使用。

内存泄漏(memory leak)是指程序在申请内存后,无法释放已申请的内存空间。一次内存泄漏的危害可以忽略,但内存泄漏堆积的后果很严重,无论计算机有多少内存,迟早会被用完。

内存泄漏最终会导致内存溢出。

试题3.写一个Java的单例模式。

试题4.假设有两个容积分别为5L和6L的桶,最后如何只装3L水?

答案:具体方法如下。

(1)取6L水,倒进5L桶里,即得到6L桶里余下的1L水。

(2)把5L桶清空,把取到的1L水放进5L桶里并保留不动,取6L水,倒进5L桶里,6L桶得到的是2L水,把5L桶清空,存放这2L水。

(3)5L桶中有2L水,再取6L水,倒进5L桶里,倒进的水为6L?3L=3L,5L桶就装满了,6L桶里余下的刚好是3L水。

试题5.指出Web测试和App测试的不同点。

答案:在兼容性方面,Web考虑浏览器,App除了考虑不同的手机机型外,还要考虑App的版本。

在网络方面,App要考虑使用的是3G、4G还是Wi-Fi网络等。

美团面试真题及答案

试题1.说明抽象类和接口的区别。

答案:抽象类用于捕捉子类的通用特性。它不能实例化,只能用作子类的超类。抽象类用于创建继承层级里子类的模板。

接口是抽象方法的集合。如果一个类实现了某个接口,它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。

试题2.假如测试人员说程序有bug,而开发人员偏偏说没有,该怎么处理?

答案:用数据说话,找需求分析师验收。

试题3.Android系统的四大组件是什么?

答案:四大组件为Activity、Service、BroadCastReceiver、ContentProvider,它们是Android系统的基础。

试题4.Java的异常处理是怎样实现的?

答案:Java的异常处理通过try、catch、finally、throw、throws关键字来实现。

试题5.多态是怎么体现的?

答案:多态,就是指重载和重写。重载发生在一个类中;重写发生在子类中,即子类重写父类相同名称的方法。

试题6.设计一个测试计划,包括测试进度和所需要人员。

答案:测试计划如下。

  (1)测试人员前期参与需求评审。

  (2)测试、开发人员参与系统分析评审。

  (3)测试人员设计用例,并与开发、产品人员一起评审。

  (4)开发提测后,执行测试、反馈、验证。

  (5)测试和产品人员一起做预发验收。

  (6)发布。

年美团面试真题及答案

试题1.有10个瓶子,每个瓶子中有1000片药,每瓶中的每片药可能重1g,也可能重0.9g,但不确定几瓶中的每片药是0.9g的。有一台电子秤,精度为0.1g,问称一次怎么确定哪些瓶子中的每片药是0.9g的?

分析:对该题目分解,由于不确定是几瓶,情况比较复杂,我们先从简单的地方开始考虑问题,将问题分解为热身题和进阶题。

(1)热身题:有10个瓶子,每个瓶子有1000片药,每瓶中的每片药可能重1g,也可能重0.9g,一瓶中的每片药重0.9g的。有一杆秤,精度为0.1g,称一次怎么确定哪个瓶子中的每片药是0.9g的?

(2)进阶题:有10个瓶子,每个瓶子有1000片药,每瓶中的每片药可能重1g,也可能重0.9g,两瓶中的每片药重0.9g的。有一杆秤,精度为0.1g,称一次怎么确定哪两个瓶子中的每片药重0.9g?

答案:对于问题(1),若只有一个瓶子中每片药为0.9g,应该如何解决这个问题?因为只能称一次,所以思路是如何在一次称重中通过得到的结果显示出标记的瓶子的序号。若只能称一次,如何做?

其实我们知道两种药片重量差0.1g,从第1个瓶子中取1片,从第2个瓶子中取2片,第1个瓶子中的一片药比1g少0.1g,那么第1个瓶子中的每片药重0.9g。如果第2个瓶子中的两片药比2g少0.2g,那么第2个瓶子中的每片药重0.9g,所以问题(1)很容易解决,分别取1片、2片,……,10片即可。

对于问题(2),重点在于需要对前面的问题两两组合,使得接下来的药片数目区别于前面两种瓶子可能组合的结果。

问题(2),分别取1片、2片、4片、7片、10片、13片、16片……

  对于最终的问题,读者应该有思路了,即需要区别于前面所有的组合。

  因此,分别取1片、2片、4片、8片、16片、32片……

  这些片数正好是2的n次方,对于第10瓶,取29片,即512片,这也是为什么这个题中是1000片,10瓶。

试题2.给你两个玻璃球,有一栋100层高的大楼,玻璃球摔碎的条件是什么?

答案:每次肯定由低的楼层往高的楼层尝试,直到在楼层f(k),第一个球已经碎掉了,记录上一个尝试的楼层为f(k?1),在此楼层,玻璃球不会碎,所以接下来要尝试f(k?1)+1, f(k?1)+2, f(k?3)+3,……直到有一个楼层碎了,最坏的是到达了f(k) ?1层。

接下来的解决方案就很容易想出了。既然在第一步(确定临界段)投掷玻璃球的次数不断增加,我们就让第二步(确定临界层)的楼层数随着第一步的次数增加而减少。第一步的投掷数是一次一次增加的,那就让第二步的投掷数一次一次减少。

假设第一次投掷的层数是f,转换成数学模型,f+(f?1)+…+2+1就表示从f开始猜,每次的增量都比前一次的增量减?1?的情况下,最后猜的那个数(即f+(f?1)+…+2+1),按照题义要求f+(f?1)+…+ 2+1≥99,即f?(f+1)/2≥99(第一次测试点选择100层是无意义的,必然会碎,并且无任何测试价值,所以第一次测试点k是1~99的一个数),求出f?>13.5。丢下第一个玻璃球的楼层数就分别是14、27、39、50、60、69、77、84、90、95、99。

前面为什么是f+(f?1)+…+2+1≥99?首先,为了分段确定临界段,我们就要保证不管玻璃球在哪一个临界段碎掉,进行判断的次数是一样的,所以就需要从下到上每一个段比上一个段的长度少1,同时所有段的长度总和是99(不需要是100,因为如果前面都没碎,那么100也不需要再判断了)。

不等式右侧为什么是99呢?其实,不管使用99还是100,最后结果是一样的,只不过99更容易理解,因为如果你都已经到了99层了,可玻璃球还是没有碎,那么答案就肯定是100了,所以100就不用猜了。如果面试的时候说一下99和100的关系,就说明你够聪明,至于到底用100还是99,不同的人理解不一样。

首次,如果选择14楼,那么最高可以判断到呢?按照数列{14,27,39,50,60,69,77,84,90,95,99,102,104,105},一共猜14次,最后是105层。按照上面99和100的关系,虽然猜了14次,但是最后一次猜到了105层,可知如果在105层玻璃球还不碎,那么肯定在第106层玻璃球摔碎。14次最大可以判断到第106层,于是15次就要从15开始猜,并且如果有107层,那么需要15次。

如果在第27层玻璃球碎了,则要从15层开始一层一层地尝试,而如果在第26层玻璃球碎了,那么猜的序列就是{14,27,15,16,17,18,19,20,21,22,23,24,25,26},一共猜了14次。

该题为什么不能用二分法?用二分法是否最多7次就可以搞定了?该题要求你最多只能用两个玻璃球来判断玻璃球碎掉时临界的楼层。如果用二分法,第一步在第50层一扔就碎掉了,那么你只能从第1层开始扔了,要进行50次判断(如果你接着在第25层扔,最后一个玻璃球碎掉,你就没有球可以用了),所以在这里并不适合用二分法。因此,我们只能像上面一样想用第一个玻璃球去确定一个区间,然后在区间内从区间底部往上进行判断。

试题3.HTTP的请求有哪几种?各有什么用?

答案:共有如下8种。

OPTIONS:返回服务器针对特定资源所支持的HTML请求方法,或Web服务器发送的测试服务器功能(允许客户端查看服务器性能)。

GET:向特定资源发出请求(请求指定页面信息,并返回实体主体)。

POST:向指定资源提交数据以处理请求(提交表单、上传文件),可能导致新的资源的建立或原有资源的修改。

PUT:向指定资源位置上传最新内容(用从客户端向服务器传送的数据取代指定文件的内容)。

HEAD:与GET请求类似,返回的响应中没有具体内容,用于获取报头。

DELETE:请求服务器删除request-URL所标识的资源(请求服务器删除页面)。

TRACE:回显服务器收到的请求,用于测试和诊断。

CONNECT:HTTP/1.1协议中能够将连接改为pipe方式的代理服务器。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

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

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

相关文章

CFI技术新探索,struct_san今日登场

一、背景 C/C开发的应用程序,长久以来存在内存破坏类的安全问题。当攻击者掌握了目标程序的漏洞后,就可以开发漏洞利用程序劫持目标程序的控制流。早期的漏洞利用是采用代码注入的方式,通过在缓冲区置入一段代码(shellcode&#…

在 Tinkercad 中加快设计的 22 个技巧

在 Tinkercad 中加快设计的 22 个技巧 原文 Everyone knows that Tinkercad is the easiest way to get started in 3D design. Once you get the hang of it, you realize that it’s one of the fastest design tools available. With no software to launch or complex me…

Pytest学习教程_测试报告生成pytest-html(三)

前言 pytest-html 是一个用于生成漂亮的 HTML 测试报告的 pytest 插件。它可以方便地将 pytest 运行的测试结果转换为易于阅读和理解的 HTML 报告,提供了丰富的测试结果展示功能和交互性。 一、安装 # 版本查看命令 pytest版本: pytest --version pyte…

PHP代码审计--理论

提供资料: php 基础 : https://www.runoob.com/php/php-tutorial.html php是什么? PHP 是服务器端脚本语言。 首先在学习PHP前需要对HTML 和CSS有一定的认识 PHP 能做什么? PHP 可以生成动态页面内容PHP 可以创建、打开、读取、写入、关…

InnoDB引擎底层逻辑讲解——架构之磁盘架构

1. System Tablespaces区域 系统表空间是change buffer(更改缓冲区)的存放区域,这是在8.0之后重新规划的,在5.x版本的时候,系统表空间还会存放innodb的数据字典undolog日志等信息,在8.0之后主要主要存放更…

【程序猿周末如何才能获得充分的休息】

工作以后常常容易感到疲于奔命,即使在周末也没有得到高质量的休息。打工人/学生党如何过周末?你有哪些延长周末和下班时间的好方法吗?你可以选择从以下几个方向谈谈你的想法和观点。 一:周末的时间规划 周末双休 二:提…

springboot 自定义starter项目Unable to read meta-data for class

springboot 自定义starter包,在项目中引用,启动报错。 org.springframework.boot.SpringApplication [SpringApplication.java:843] Application run failed java.lang.IllegalStateException: Unable to read meta-data for class com.hxg.mail.spring…

找好听的配乐、BGM就上这6个网站,免费商用。

推荐几个音乐素材网站给你,各种类似、风格的都有,而且免费下载,还可以商用,建议收藏起来~ 菜鸟图库 https://www.sucai999.com/audio.html?vNTYxMjky 站内有上千首音效素材,网络流行的音效素材这里都能找到&#xf…

一起学算法(双指针篇)

概念: 通过两个指针,不断的调整区间,从而求出问题最优解的算法就叫“尺取法”,由于利用的是两个双指针,所以也叫作“双指针”算法,这里的“尺”的含义,主要是因为这类问题,最终要求解…

刷题笔记 day2

力扣 1089 复写零 思路:双指针 第一步:利用指针 cur 去记录最后一位要复写的数 , 利用指针 dest 指向最后一位数所要复写的位置; 实现过程:最开始 cur 指向0,dest 指向 -1 , 当arr[cur] ! …

高并发与性能优化的神奇之旅

作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得感谢这段苦,让笔者从头到尾去探索,找寻解决之法。 目录 第一站&…

深入理解设计模式之模板方法模式

深入理解设计模式之模板方法模式 什么是模板方法模式? 模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的具体实现延迟到子类中。模板方法模式通过将算法的通用部分抽象出来,以模板方法的形式提供给子类&am…

express学习笔记7 - docker跟mysql篇

安装Docker和Navicat Docker 进官⽹https://docs.docker.com/get-docker/ 选择机型安装即可。 Navicat(也可以在网上找个破解版本) 进官⽹https://www.navicat.com/en/products/navicat-premium 安装完之后连接新建⼀个数据库连接 然后再⾥⾯新建⼀个数…

【编程语言 · C语言 · 通讯录管理系统】

【编程语言 C语言 通讯录管理系统】https://mp.weixin.qq.com/s?__bizMzg4NTE5MDAzOA&mid2247491539&idx1&sn02173f15bbff6d5f01a3426a1ecf7120&chksmcfade32af8da6a3cb187ecde99fe0519c4d67ef05488754ab2196fab0915262c260ccc68b304&payreadticketHEsQ…

MacOS使用brew如何下载Nginx

首先,第一步切换源: 切换 brew.git 仓库地址: cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git 替换 homebrew-core.git 仓库地址: cd "$(brew --repo)/Library/Taps/home…

无线蓝牙耳机有什么值得耳机买的?几款值得买的口碑品牌盘点

蓝牙耳机是一种无线耳机,其通过蓝牙技术与其他设备进行连接,例如手机、电脑、平板电脑等。蓝牙耳机使得用户可以在不受线缆限制的情况下享受音频体验,而且还可以方便地进行通话,目前市场上有许多不同种类和品牌的蓝牙耳机&#xf…

大厂原来都这么使用IDEA远程调试的!

远程调试是一项重要的技术,特别是对于使用IDEA开发的开发者来说。在本篇技术博客中,我们将探讨如何使用IDEA进行远程调试。 1 IDEA 配置 首先,我们需要确保我们的开发环境已经准备就绪。我们需要在远程服务器上安装并配置好调试器&#xff…

【福建事业单位-语言理解】02 细节判断-标题填入-词句理解

【福建事业单位-语言理解】02 细节判断-标题填入-词句理解 一、细节判断题细节判断优先验证原则总结 二、标题填入题总结 三、词句理解题3.1 代词指代实词理解句子理解总结 一、细节判断题 如果文段长难怪绕,就先看选项,反之一样。 面对温和的可能性表述…

java集成短信服务 测试版 qq邮箱简单思路

java集成短信服务 注册一个帐号 使用的是容联云,百度搜一下官网 用手机注册一个帐号就行,免费体验不需要认证 注册后会有八块钱送,可以使用免费的给自己设置三个固定手机号发送短信,不需要认证。 此页面的 三个信息需要在代码中…

免驱触摸屏为啥在我的Linux上驱动不起来

背景: 某宝上买了个HDMI接口的触摸屏,用树莓派驱动没啥问题,但是用在我自己定制的Linux系统上,咋都不好使,咨询商家,商家说触摸屏的芯片是GT911,芯片是I2c协议,触摸屏上是usb接口的…