大厂测试工程师面试题总结-三面(附参考答案)

2023-11-13


三面:
1、指针常量,常量指针。
指针常量:

    1,指针常量的本质是一个常量,并且使用指针来修饰它。

    2,通过对const定义,我们可以简单理解为这个指针是个常量,它不可以被修改。即它只能指向开始时我们给赋值的变量,不可以被修改从而再指向其他的变量。
    
3,指针常量一旦定义,他就不可以再指向其他的变量,但是它指向的是一个变量,所以我们可以修改它指向的变量的值。


常量指针:
1,常量指针本质是指针,常量修饰它,表示这个指针是一个指向常量的指针(变量)。 //这是度娘的官话,个人表示解释的很好。
2,如果我们定义了一个常量指针,那么它指向的对象是常量,这个对象不能通过我们的指针被修改。

2、const修饰函数形参时的作用,const与define的区别。
const常量修饰符
define宏定义/预处理

3、解释多态,虚函数怎样表示。
多态:允许不同类的对象对同一消息做出响应。即同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。这也意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。

多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。

方法重载(Overloading):一个类中有多个方法(函数),它们具有相同的名字,但方法传递的参数或参数的个数不同,返回类型可以相同。
方法重写(Override): 子类对父类的方法做一定的修改,返回值和形参都不能改变。又称方法覆盖。

4、函数指针的代码实现。
回调函数也就是函数指针,函数指针是指向函数的指针变量。

5、如何判断两幅图像是否相同。
图片大小,像素点比较,图像相似度算法

6、访问今日头条的一个链接,用到什么协议。
上网肯定离不开TCP/IP协议,访问网页应该是HTTP超文本传输协议。
涉及到上传下载还要用到FTP文件传输协议

7、tcp协议头常见字段。
就是1字节=8位, 1 Byte =8 bit

首先看一下tcp header 的内容,大概有这么几个字段

source port: 2字节,也就是16位,表明发送端的端口号

destination port:2字节,16位,标示接收端的端口号
tcp作为一个端到端的协议,只需要关注端口号,是不需要关注具体ip的,IP地址封装在ip层,这点也是我觉得tcp/ip协议栈的美妙之处,一层包含着一层,将整个网络抽象的非常好,以致应用层不需要太关心底层协议。

sequence no:表示tcp数据中第一个数据字节的编号

acknowledgment no: 表示对上次收到包的确认,和下次期待收到的包。

offset: 4bit,tcp头的的大小,单位是4字节。这个最小为5 ,就是不包含任何数据和tcp option的大小。


8、http协议常见状态码。
1xx(临时响应)
表示临时响应并需要请求者继续执行操作的状态码。
100(继续)
请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101(切换协议)
请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx(成功)
表示成功处理了请求的状态码。
200(成功)
服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果是对您的 robots.txt 文件显示此状态码,则表示 Googlebot 已成功检索到该文件。
201(已创建)
请求成功并且服务器创建了新的资源。

3xx(重定向)要完成请求,需要进一步操作。通常,这些状态码用来重定向。Google 建议您在每次请求中使用重定向不要超过 5 次。您可以使用网站管理员工具查看一下 Googlebot 在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致 Googlebot 无法抓取的网址。 
300(多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301(永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。

4xx(请求错误)
这些状态码表示请求可能出错,妨碍了服务器的处理。
400(错误请求)
服务器不理解请求的语法。
401(未授权)
请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。

5xx(服务器错误)
这些状态码表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
500(服务器内部错误)
服务器遇到错误,无法完成请求。
501(尚未实施)
服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

9、http 和https区别?
超文本传输协议HTTP协议
安全套接字层超文本传输协议HTTPS:为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

10、如何测试微信的点赞功能?
考虑一个测试对象的时候至少从以下六方面来考虑:
功能性
易用性
可靠性
性能
安全
兼容性

1、微信点赞功能测试用例? 
  
①点赞和取消点赞功能 
  
②点赞是否按时间顺序显示 
  
③点赞是否正确显示昵称或备注 
  
④点赞之后是否还能评论 
  
⑤弱网络的情况下点赞能否实时更新 
  
⑥点赞时有短信或电话进来,能否显示点赞情况 
  
⑦点赞的人是否在可见分组里 
  
⑧点赞之后共同好友的点赞和评论是否会提醒你


2、APP测试需要考虑的点都有哪些?


性能测试:CPU,内存,耗电量,耗流量,流畅度,APP的安装和卸载和启动的耗时 

适配兼容性:在不同的操作系统上的安装,拉起,点击,和卸载是否正常 

耗电量测试:当手机冲满格电的时候能玩多久,挂机10分钟耗多少电,APP每小时耗电多少 

中断测试: 
app在前台和后台运行状态时与来电,文件下载,音乐等关键运行的交互情况测试,测试电话,短信,微博或其他通知进来是APP的反应 
弱网络测试

11、接口测试的注意点


java
面向对象编程三大特性:封装、继承、多态。
1、封装:把对象的属性和操作(或服务)结合为一个独立的整体,使得对数据的访问只能通过接口。
2、继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
3、多态:允许不同类的对象对同一消息做出响应。即同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。这也意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。

多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。

方法重载(Overloading):一个类中有多个方法(函数),它们具有相同的名字,但方法传递的参数或参数的个数不同,返回类型可以相同。
方法重写(Override): 子类对父类的方法做一定的修改,返回值和形参都不能改变。又称方法覆盖。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大厂测试工程师面试题总结-三面(附参考答案) 的相关文章

随机推荐

  • 实证论文复刻|描述性统计分析 stata

    文章及代码来源 中国工业经济 税收征管数字化与企业内部薪酬差距 目录 outreg2 结果分析 outreg2 using 描述性统计 doc replace sum log keep gap gtp size lev roa labor
  • 秒懂5G!通俗易懂外行也能看明白

    这一切 要从一个 神奇的公式 说起 就是这个公式 还记得这个公式的童鞋 请骄傲地为自己鼓个掌 如果不记得 或是看不懂 也没关系 小枣君解释一下 就是这个超简单的公式 蕴含了我们无线通信技术的博大精深 无论是往事随风的1G 2G 3G 还是意
  • 大信号与小信号

    简述大信号与小信号之间的关系 从MOSFET曲线出发 去阐述两者的异同点 最后给出一个简单的例子用以分析
  • Solving environment: 的斜杠为啥一直转

    Solving environment 的斜杠一直转 这个信息通常出现在使用conda安装软件包时 表示conda正在尝试解决软件包的依赖关系 以确保软件包能够正常安装 当出现斜杠一直转的情况时 可能是由于conda正在下载或安装大量软件包
  • C++预处理器

    预处理器是一些指令 指示编译器在实际编译之前所需完成的处理 define define用于定义宏 宏是一个代码级的文本替换 因为替换发生在编译之前 神奇的例子 来猜猜输出结果 define STR s s 会给 s 加上双引号 s defi
  • 【Matlab学习】

    Matlab笔记 希望和大家一起学习matlab 第一次用这个软件没有太多的经验 在浏览器中查询三角函数help 输入matlab sin gt enter Sine of argument in radians MATLAB sin Ma
  • 基于hyperledger联盟链的汽车轨迹追溯系统(一)

    基于hyperledger联盟链的汽车轨迹追溯系统 一 koa架构整理 二 链码整理 一 koa架构整理 在完成之前的六个流程之后 已经完成一个简易的可交互的前后端系统 在此基础上进行系统开发 之前的后端架构可移植性不好 这里进行后端架构的
  • 2015年5月5日备忘录(主要是操作svg和设备仿真的physx参数)

    1 osg嵌套QT 使QT解析svg时 用osg绘制 2 cmake rsvg 3 dll a如何转换成 lib 再链接到 4 寻找 osgdb rsvg工程 5 windows下编译gtk 看看是否能生成rsvg lib 6 makefi
  • Python特征工程

    文章目录 一 自动化EDA 二 准备工作 一 合并数据 二 groupby聚合观察数据特征 三 去重 四 按列排序 五 随机抽数 六 保存 创建 与拼接 七 转换数据格式 八 删除列 三 特征中的异常值处理 一 箱线图公式处理异常值 1 删
  • centos 7 安装 Confluence 过程记录

    这段时间想建立一个资料库 对比了一下最终选择了Confluence 趁着放假时间整理了一下笔记 方便以后查询 顺便分享一下 目录 一 小插曲 二安装用到的软件 三 安装数据库 3 1卸载MariaDB 3 2安装MySQL 四 安装Conf
  • mysql开启和关闭远程访问权限

    文章目录 说明 用的是 navicat 连接工具 1 mysql开启远程访问权限 1 1 改表法 1 2 语句更改 2 mysql关闭远程访问权限 2 1 改表法 2 2 语句更改 说明 用的是 navicat 连接工具 先来看下mysql
  • Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件...

    创建一个Unity项目 在 Project 窗口中 在 Asserts 中 添加 MyScene 文件夹 点击 File 中的 Save Scene 给Scene命名 并保存到 MyScene 文件夹 创建一个类型为 Plane 的Game
  • jsp的基本认识与理解

    简介 JSP全称是JavaServer Pages 它和servlet技术一样 都是SUN公司定义的一种用于开发动态web资源的技术 JSP这门技术的最大的特点在于 写jsp就像在写html 但 它相比html而言 html只能为用户提供静
  • 阿里云Windows Server 利用Subversion和TortoiseSVN部署SVN服务器

    SVN 全称为 SubVersion 是一个开源的版本控制系统 管理着随时间而改变更新的数据 这些数据都放置在一个中央资料档案库 repository 中 它类似于一个普通的文件服务器 可以记录每一次文件的更 新变动 这样就可以把档案恢复到
  • rabbitmq取消自动重连_RabbitMQ Java客户端自动重新连接

    When my application looses connection to RabbitMQ I have its connection factory set to automatically try and reconnect C
  • 小白也能弄懂的目标检测之YOLO系列 - 第一期

    大家好 上期分享了电脑端几个免费无广告且实用的录屏软件 这期想给大家来讲解YOLO这个算法 从零基础学起 并最终学会YOLOV3的Pytorch实现 并学会自己制作数据集进行模型训练 然后用自己训练好的模型进行预测 话不多说 先上我用Vis
  • windows命令行文件中获取bat文件所在目录相关路径

    批处理命令获取当前盘符和当前目录 d0 是当前盘符 cd 是当前目录 可以用echo cd 进行打印测试 以下例子是命令行编译Visual Studio编写的程序 echo off set b cd 将当前目录保存到参数b中 等号前后不要有
  • qrcode 生成二维码的代码

  • CentOs7.5安装JDK1.8详细步骤

    1 先检查系统中有没有自带的JDK 有就卸载 查询命令 rpm qa grep jdk color 卸载命令 rpm e nodeps 软件名称 再次查询检查是否成功 rpm qa grep jdk color 没有提示也没有报错就是操作成
  • 大厂测试工程师面试题总结-三面(附参考答案)

    三面 1 指针常量 常量指针 指针常量 1 指针常量的本质是一个常量 并且使用指针来修饰它 2 通过对const定义 我们可以简单理解为这个指针是个常量 它不可以被修改 即它只能指向开始时我们给赋值的变量 不可以被修改从而再指向其他的变量