接口自动化面试题

1.http请求都包含哪些内容,请求头和请求体有哪些内容

请求行/请求头/请求体/空行

请求行:请求方法字段、URL字段、http协议版本   例如:GET    /index.html      HTTP/1.1

        请求方法:GET、POST、PUT、DELETE、OPTIONS、TRACE、CONNECT、HEAD

请求头:headers (key value形式)

        user-agent:产生请求的浏览器类型

        accept:客户端可识别内容类型

        host:主机地址 

        cookie:

        空行:最后一个请求头字段的后面是一个空行,通知服务器请求头部至此结束。请求消息中的空行,用来分隔请求头部与请求体

        请求体:请求中传输的数据

请求体中存放的,是要通过 POST 方式提交到服务器的数据。只有 POST 请求才有请求体,GET 请求没有请求体!

        响应体:响应体中存放的,是服务器响应给客户端的资源内容


2.post和put的区别

        post:(新增)向服务器提交资源(例如提交表单,json或上传文件)数据被包含在请求体中传递给服务器

        put:(修改)向服务器提交资源,并使用提交的新资源,替换调服务器旧的资源

        get:(查询)发送请求来获得服务器上的资源,请求体中不包含请求数据,请求数据放在协议头中

        delete:(删除)请求服务器删除指定的资源

        head:head方法请求一个与GET请求的响应的响应,但没有响应体

        patch:是对put方法的补充,用来对已知资源进行局部更新

        options:获取http服务器支持的http请求方法,允许客户端查看服务器的性能,比如ajax跨域时的预检等

        trace:沿着到目标资源的路径执行一个消息环回测试,主要用于测试或诊断

        connect:建立一个到由目标资源标识的服务器的隧道


3.Linux命令如何删除一个月前的某个路径下的内容


        find /user/oce -mtime +30 -name “*.*”  -exec rm -Rf  {}\;


4.testng注解有哪些

TestNG-常用注解介绍_testng注解-CSDN博客        

        1>before 类别和after类别注解

@BeforeSuit   @AfterSuit

@BeforeTest  @AfterTest

@BeforeClass @AfterClass

@BeforeMethod @AfterMethod

上述的注解分为Before类别和After类,我们可以在Before类别的注解方法里面做一些初始化动作,如实例化数据库连接、新建数据库连接池、创建线程池、打开文件流等等。然后,我们可以在After类别的注解方法里面做一些销毁动作,如释放数据库连接、销毁数据库连接池、销毁线程池或者关闭文件流等等。同一类别的不同注解会在不同的位置被调用.

        2>@Test 注解

        3>@Parameters注解

        4>@DataProvider注解

        5>@Factory注解

        6>@Listeners注解


5.JAVA和python实现序列化和反序列化

了解Python序列化 - 知乎

java序列化和反序列化的实现原理

【精选】java序列化和反序列化的实现原理
6.jdk,jre,jvm之间的联系

一、JDK,JRE,JVM是什么?

JDK(java development kit):编译环境。Java 开发工具包。JDK 是整个 Java 开发的核心,它集成了 JRE 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。JDK包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

通常在安装好JDK之后,JRE也会自动安装好

JRE (java runtime environment):运行环境。负责装载用户自定义的类(分为从本地装载和从网络装载两种)和java API类。

JVM :平台软件,负责将字节码解释成机器码并提交操作系统执行。换句话说,JVM就是Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。jvm调用解释所需的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行(跨平台性:不同的浏览器安装不同的java虚拟机,jvm将字节码与对应操作系统相映射,达到java程序的跨平台性)。

简单来说三者的关系是:JDK>JRE>JVM。

如果想要 运行 一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。

二、JDK、JRE、JVM关系

JDK = JRE + 开发工具集(例如 Javac 编译工具等)

JRE = JVM + Java SE 标准类库

联系与区别:

        1.我们利用JDK写了自己的JAVA代码程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

        2.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。jdk是给开发人员使用的,jre和jvm是给普通用户使用。

        3.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持(rt.jar)

7.授权和认证的区别    

认证和授权的区别:

  • 认证是验证确认身份以授予对系统的访问权限。授权确定你是否有权访问资源。

  • 认证是验证用户凭据以获得用户访问权限的过程。授权是验证是否允许访问的过程。

  • 认证决定用户是否是他声称的用户。授权确定用户可以访问和不访问的内容。

  • 认证所需的身份验证通常需要用户名和密码。授权所需的身份验证因素可能有所不同,具体取决于安全级别。

  • 身份验证是授权的第一步,因此始终是第一步。授权在成功验证后完成。

什么是认证

认证是关于验证你的凭据,如用户名/邮箱和密码,以验证访问者的身份。系统确定你是否就是你所说的使用凭据。在公共和专用网络中,系统通过登录密码验证用户身份。身份认证通常通过用户名和密码完成,有时与认证可以不仅仅通过密码的形式,也可以通过手机验证码或者生物特征等其他因素。

在某些应用系统中,为了追求更高的安全性,往往会要求多种认证因素叠加使用,这就是我们经常说的多因素认证。常见的认证方式:

  • 用户名密码认证
  • 手机和短信验证码认证
  • 邮箱和邮件验证码认证
  • 人脸识别/指纹识别的生物因素认证
  • OTP 认证
  • Radius 网络认证

什么是授权

授权发生在系统完成身份认证之后,最终会授予你访问资源(如信息,文件,数据库,资金,位置,几乎任何内容)的完全权限。简单来说,授权决定了你访问系统的能力以及达到的程度。

授权是确定经过身份验证的用户是否可以访问特定资源的过程。它验证你是否有权授予你访问信息,数据库,文件等资源的权限。授权通常在验证后确认你的权限。简单来说,就像给予某人官方许可做某事或任何事情。

例如,验证和确认组织中的邮箱和密码的过程称为认证,但确定哪个员工可以访问哪个楼层称为授权。假设你正在旅行而且即将登机。当你在登记前出示机票和一些身份证明时,你会收到一张登机牌,证明机场管理局已对你的身份进行了身份验证。但那不是它。乘务员必须授权你登上你应该乘坐的航班,让你可以进入飞机内部及其资源。


8.
9—10.数据库语句查询多表查询

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读…

Java基础-015-System.java常用类

Java基础-015-System.java常用类 1、标准输入输出2、获取属性3、System.java初始化4、设置标准输出System.out java/lang/System.java 1、标准输入输出 System.in、System.out public class Test {public static void main(String[] args) {String charsetName String.valueOf…

wpf添加Halcon的窗口控件报错:下列控件已成功添加到工具箱中,但未在活动设计器中启用

报错截图如下: 注意一下新建工程的时候选择wpf应用而不是wpf应用程序。 添加成功的控件:

C++常用格式化输出转换

在C语言中可以用printf以一定的格式打印字符,C当然也可以。 输入输出及命名空间还不太了解的小伙伴可以看一看C入门讲解第一篇。  在C中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2…

大语言模型(LLM)综述(七):大语言模型设计应用与未来方向

A Survey of Large Language Models 前言8 A PRACTICAL GUIDEBOOK OF PROMPT DESIGN8.1 提示创建8.2 结果与分析 9 APPLICATIONS10 CONCLUSION AND FUTURE DIRECTIONS 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-…

Workbench环境中常见问题

问题描述:1 解决方案:2 问题描述:在WB中启动Fluent,报错,提示 “The requested operatjon requires elevation” 解决方案:这个问题是因为WB主程序没有管理员权限导致。使用管理员权限启动WB后&#xff0c…

【达梦数据库】mysql与达梦整数类型对比关系

最近遇了mysql 和达梦整数类型的数据范围对比,做了个表格供大家分享 对比表格 要说明的是我整理的时候,达梦貌似没有无符号整数类型(防杠保护),也就是只能将mysql/dm 的有符号整数类型的的范围值进行对比 MYSQL - t…

HK WEB3 MONTH Polkadot Hong Kong 火热报名中!

HK Web3 Month 11月除了香港金融科技周外,HK Web3 Month又是一大盛事,从10月29日开始开幕直到11月18日结束。此次将齐聚世界各地的Web3产业从业者、开发者、社群成员和学生来参与本次盛会。除外,超过75位产业知名的讲者与超过50场工作坊将为…

Docker Stack部署应用详解+Tomcat项目部署详细实战

Docker Stack 部署应用 概述 单机模式下,可以使用 Docker Compose 来编排多个服务。Docker Swarm 只能实现对单个服务的简单部署。而Docker Stack 只需对已有的 docker-compose.yml 配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。 stack是一组共享…

sql学习笔记(三)

目录 1.四舍五入 2.向上取整 3.向下取整 4.Hive 分区 5.case when条件语句 6.日期函数 7.字符串函数 8.窗口函数 1️⃣排序函数 1.四舍五入 round select round(3.14) —>3 2.向上取整 ceiling select ceiling(12.15) —>13 3.向下取整 floor select floor(12…

【JavaSE】基础笔记 - 类和对象(下)

目录 1、this引用 1.1、为什么要有this引用 1.2、什么是this引用 1.3、 this引用的特性 2、 对象的构造及初始化 2.1、 如何初始化对象 2.2、构造方法 2.2.1、概念 2.2.2、特性 2.3、默认初始化 2.4、就地初始化 上篇:【JavaSE】基础笔记 - 类和对象&#…

Tkinter创建菜单窗口

一、说明 本文专门记录如何添加Tkinter的菜单,包括,菜单如何生成,菜单如何布局,菜单如何绑定回调函数,并安排代码示例,凡期望做菜单界面的读者,可以全面参考。 二、创建菜单实现步骤 2.1 总体…