某科技公司提前批测试岗

在这里插入图片描述

文章目录

  • 题目

今天给大家带来一家提前批测试岗的真题,目前已经发offer

题目

1.自我介绍
2.登录页面测试用例设计
在这里插入图片描述
3.如何模拟多用户登录
可以使用Jmeter,loadRunner性能测试工具来模拟大量用户登录操作去观察一些参数变化

4.有使用过Jmeter,loadRunner做过性能压测吗?
简单对项目进行过测试

5.谈谈你对SQL注入的理解,在什么情况下会发生
SQL注入是一种常见的安全漏洞攻击,指的是通过在应用程序的输入参数中插入恶意的SQL代码,从而欺骗数据库系统执行非授权的操作。简单介绍在Mybatis使用${}编写SQL语句时发生SQL注入

select * from user username = '${username}' and password = '${password}'

我们只需要在密码输入框输入

1'or'1=1'

就可以修改查询条件从而达到登录功能,建议在Mybatis中使用#{}传递参数

还了解过其他安全问题吗?
HTTP明文传输,使用Fiddler抓包可以直接看到密码

6.介绍项目(博客网站)
介绍背景:自己经常喜欢学习后进行总结,一般都是记录在CSDN,但也想要有一个自己的记录平台,于是就开发了一个博客网站,方便自己后期学习记录
主要工作:后端开发 + 项目测试
技术栈:SpringBoot + Mybatis + Redis + MySQL
主要实现功能:登录功能(动态验证码),注册(邮箱验证),博客列表页(所有用户文章,支持分页功能),个人文章页(个人用户文章),文章编辑页(支持Markdown格式),文章增删改功能,个人信息页(修改头像,昵称,密码)

7.介绍项目部署过程(详细过程+Linux命令+出错排查)
部署之前首先需要将数据库相关配置信息更改为服务器数据库的信息,将yml文件profile从dev改成prod的

  1. 首先介绍了下Servlet项目的部署过程(将war包放在webapps目录下,启动Tomcat)
  2. 在介绍下Spring项目的部署过程(nohup java -jar myblog.jar &)

默认端口是8080,如果被别的应用占用了,可以使用kill -9 8080 或者 修改下项目server-port

8.项目Redis用在哪里
主要用户文章缓存(30分钟的TTL),存储邮箱验证码(2分钟TTL),使用的是Spring提供的Redis,Spring-Data-Redis相关API

9.如何解决Cokkie和Token存储的
Cookie和Token是在Web应用程序中常见的两种身份验证和会话管理机制。
我的项目中是使用的Cokkie,Token和JWT技术也是常见的会话技术,引入这个主要是因为HTTP是无状态的,每次请求都是无状态的,使用Cokkie和Session结合使用使HTTP变成有状态的,当第一次请求到服务器,服务器会创建一个Session并返回给浏览器一个JSessionId,后续请求都会在请求头携带JSessionId

10.将一个表数据清空有哪几种方式
一共有三种方式,分别是:drop,truncate,delete

drop:直接删除表结构包括数据

drop table 表名

truncate:删除表数据保留表结构,一次快速清空整个表,重置自增主键,无法回滚

truncate table 表名

delete:删除表数据保留表结构,但是保留表结构和索引,可以在事务中进行回滚,支持条件删除

delete from 表名 where 条件;

11.介绍常用Linux命令
ls:列出当前目录下的文件
-a 全部
-l 列表
-h 显示大小
pwd:显示当前工作目录
rm:删除文件
mv:移动文件
cp:复制文件
touch:创建文件
cat:查看文件
echo:输出文件
tail:查看文件尾部(默认10行)
head:查看文件首行(默认10行)
more:支持翻页
mkdir:创建目录
vi,vim:文件编译
yum,rpm:包管理命令
top:查看CPU信息
free:查看内存资源
ps:查看进程信息
ifconfig:查看ip信息
nestat:查看网络信息
grep:过滤信息
|:管道符
which:查看命令
chmod:修改文件,文件夹权限
ping:检查网络是否连通
find:查看文件
su/sudo:切换用户
clear或者ctrl + l :清空终端命令
wc:统计文件行数,单词信息
>: 追加符

12.ps常见跟什么参数,aux分别代表什么
-aux 或者 -ef
a: 显示所有用户的进程,而不仅仅是当前用户的进程。
u: 以详细的格式显示进程信息,包括用户、进程ID(PID)、CPU使用率、内存占用等。
x: 显示没有控制终端的进程。

13.对堆和栈的理解
堆是线程共有的可能会发生线程安全问题,栈是线程私有的
栈是一个FIFO的数据结构,主要存储函数调用信息、局部变量、函数参数、返回值,可能会出现栈溢出
堆主要是用来存储对象和数组,用户不需要关注内存管理和垃圾回收,这一块是由JVM帮我们来管理的,堆也是我们JVM内存中最大的一部分,我们可以通过 -xms -xmx调节。
需要我介绍一下垃圾回收相关内容吗?
面试官:这块你掌握的还可以,先不介绍了

14.HTTP与HTTPS的区别,签名是对称加密还是非对称加密
HTTP是明文传输不安全,HTTPS是在HTTP在TCP之间加了SSL/TLS安全协议,通过对称加密,非对称加密,数字证书来确保安全性,HTTP默认端口是8080,HTTPS是443
签名是非对称加密,服务器生成一对公钥密钥,将公钥和数字证书传输给浏览器,浏览器用来验证服务器信息,然后使用公钥加对称密钥传输给服务器,主要是为了确保安全性,防止运营商劫持,后续使用对称加密是为了考虑效率问题

15.输入一个网址到页面显示出来的过程
输入一个网站就是URL,首先URL有几部分组成,协议+IP+端口(可省略,HTTP默认是8080)+路径+参数(通过&间隔),URL对应服务器一个资源,但是IP一般比较难记,我们可能使用的是服务器的域名,浏览器会构建一个HTTP请求,但是TCP不识别域名,于是我们需要对域名进行解析,首先会查询浏览器缓存,然后去查看Host文件,如都没有的话,再去请求本地DNS服务器,如果本地DNS服务器没有再去请求根DNS服务器获取该域名的权威DNS服务器,然后请求权威DNS服务器获取IP地址。
通过DNS获取到IP之后,浏览器通过调用Socket库来委托操作系统的协议栈,HTTP是基于TCP的,首先会建立三次握手,生成TCP头信息,包括源端口和目的端口,端口是为了定位服务器中唯一的进程,再去调用网络层提供的服务IP头封装一个源地址IP和目标IP,再去调用网络接口层封装一个MAC地址和目标MAC地址,但是我们并不知道对方的MAC地址,那么就需要借助ARP协议帮我们找到路由器的MAC地址,ARP协议会帮我们在以太网中广播去获取IP,并将本次查询存放在ARP缓存中,目前我们的网络包只是存放在内存中的一串二进制信息,无法发送,于是需要借助我们的网卡,将内容复制到网卡的缓冲区中,加上起始帧分隔符和末尾加上校验序列,并将数字信息转化为电信号,然后交换机根据MAC地址查找MAC地址,将信号发送到相应端口,如果没有查到那么就会给每个端口都会发送,经过交换机到达路由器进行转发达到服务器之后层层解析直到获取到相应资源,生成HTTP响应返回给浏览器,如果是 HTML 文档,则进入下一步; 否则,如果是图片、CSS 文件、JavaScript 文件等资源,则浏览器会进行相应的渲染或执行。

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

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

相关文章

数据库运维是什么意思?主要工作包含哪些?

还有不少小伙伴不知道数据库运维是什么意思?主要工作内容包含哪些?今天我们就一起来简单了解一下吧,仅供参考哦! 数据库运维是什么意思? 数据库运维是指对数据库系统进行管理、监控和维护的过程,以确保数据…

ABPVNEXT-微服务框架基础入门

准备工作: 1.登录ABPvNext官网 网址 http://abp.io 2.跳转到商业版的说明文档,目前商业版没有中文,只能使用谷歌浏览器的内置翻译功能了 3.框架的相关环境要求,请自自行查看 适用于 Windows 的Visual Studio 2022 (v17.3) /…

适配器模式

泰国旅游使用插座问题 泰国插座用的是两孔的(欧标),可以买个 多功能转换插头(适配器),这样就可以使用了 适配器模式基本介绍 适配器模式(Adapter Pattern)将某个类的接口转换成客户端…

【M波段2D双树(希尔伯特)小波多分量图像去噪】基于定向M波段双树(希尔伯特)小波对多分量/彩色图像进行降噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

修改el-select样式;修改element-plus的下拉框el-select样式

修改el-select样式 .select_box{// 默认placeholder:deep .el-input__inner::placeholder {font-size: 14px;font-weight: 500;color: #3E534F;}// 默认框状态样式更改:deep .el-input__wrapper {height: 42px;background-color: rgba(0,0,0,0)!important;box-shadow: 0 0 0 …

PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换

1.接口文档 2.laravel实现代码 /*** 进制转换计算器* return \Illuminate\Http\JsonResponse*/public function binaryConvertCal(){$ten $this->request(ten);$two $this->request(two);$four $this->request(four);$eight $this->request(eight);$sixteen …

状态模式(C++)

定义 允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。 应用场景 在软件构建过程中,某些对象的状态如果改变,其行为也会随之,而发生变化,比如文档处于只读状态,其支持的行为和读写…

希尔排序——C语言andPython

前言 步骤 代码 C语言 Python 总结 前言 希尔排序(Shell Sort)是一种改进的插入排序算法,它通过将数组分成多个子序列进行排序,逐步减小子序列的长度,最终完成整个数组的排序。希尔排序的核心思想是通过排序较远距…

海外应用商店优化实用指南之元数据的迭代更新

随着每天都有新应用程序加入App Store和Google Play商店,许多应用程序都会针对与我们相同的关键词,虽然我们的元数据保持不变,但竞争对手的应用会重新编入索引,最终导致我们的关键词排名随着时间的推移稳步下降。 1、迭代的重要性…

Java课题笔记~ Spring 的事务管理

一、Spring 的事务管理 事务原本是数据库中的概念,在 Dao 层。但一般情况下,需要将事务提升到业务层,即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。 在 Spring 中通常可以通过以下两种方式来实现对事务的管理&#xff…

AI量化模型预测挑战赛 第二次学习笔记

有关竞赛信息以及基础baseline代码解读请看我的上一篇文章 AI量化模型预测——baseline学习笔记_寂ღ᭄秋࿐的博客-CSDN博客 在经过baseline进行详细的分析之后,接下来的方向肯定是奔着提分去的,下面我就从五个方面进行一一列出提分思路 提取更多的特征…

Python-OpenCV中的图像处理-物体跟踪

Python-OpenCV中的图像处理-物体跟踪 物体跟踪 物体跟踪 现在我们知道怎样将一幅图像从 BGR 转换到 HSV 了,我们可以利用这一点来提取带有某个特定颜色的物体。在 HSV 颜色空间中要比在 BGR 空间中更容易表示一个特定颜色。在我们的程序中,我们要提取的…

Chrome DevTools 与 WebSocket 数据查看失焦的问题

Chrome DevTools 在与 WebSocket 连接交互时可能会出现失焦的问题,这似乎是一个已知的 bug。当 DevTools 选中 WebSocket 消息时,如果有新的消息到达,DevTools 将会自动失焦,导致无法查看完整的消息内容。 虽然这个问题很令人困扰…

【Go语言】Golang保姆级入门教程 Go初学者chapter3

Go语言 第三章 运算符 下划线“_”本身在Go中一个特殊的标识符,成为空标识符。可以代表任何其他的标识符,但是他对应的值就会被忽略 仅仅被作为站维度使用, 不能作为标识符使用 因为Go语言中没有private public 所以标记变量首字母大写代表其…

利用 3D 地理空间数据实现Cesium的沉浸式环境

推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 为了将大量异构 3D 地理空间数据处理和分散到各行各业的地理空间应用程序和运行时引擎,Cesium 创建了 3D Tiles,这是一种用于高效流式传输和渲染大量异构数据集的开放标准。3D Tile…

树莓派第一次开机

文章目录 基于树莓派的OpenEuler基础实验一一、树莓派介绍树莓派较普通电脑的优势1、廉价便携可折腾2、树莓派运行开源的Linux操作系统3、编程好平台4、开源大社区5、引脚可编程6、便携随身带7、灵活可扩展 二、openEuler embedded介绍三、树莓派开机指南1. 硬件准备2. 软件准备…

Vue3 —— ref 全家桶及源码学习

该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>&#xff0c;且包含 typescript 的基础用法 前言 本章 ref 全家桶 主要包括以下几个api 和 对应源码的学习&#xff1a; refisRefshallowReftriggerRefcustomRef 一、api 各自的使用 1、ref 使用 v…

【Python篇】Python基础语法

【Python篇】Python基础语法 拖拖拖&#xff0c;能使工作便捷高效的为何要拒绝&#xff0c;作个记录—【蘇小沐】 文章目录 【Python篇】Python基础语法1.实验环境 1、标识符2、Python保留字&#xff08;关键字&#xff1a;不能用作任何标识符名称&#xff09;3、注释1&#x…

【链表OJ 3】链表的中间结点

前言: 本文收录于http://t.csdn.cn/n6UEP数据结构刷题的博客中,首先欢迎大家的来访&#xff0c;其次如有错误&#xff0c;非常欢迎大家的指正&#xff01;我会及时更正错误&#xff01; 目录 一.链表的中间结点 1.1原理:快慢指针的使用 链表元素个数为奇数时 链表元素个数…

抽象工厂模式-java实现

介绍 抽象工厂模式基于工厂方法模式引入了“产品族”的概念&#xff0c;即我们认为具体产品是固定的&#xff0c;具体产品存在等级之分&#xff0c;比如我们常说的手机&#xff0c;有“青春版”&#xff0c;“至尊版”&#xff0c;“至臻版”。一个产品有多个版本族。这时候&a…