当前位置: 首页 > news >正文

米哈游测开岗 【一面总结】

目录

1.黑盒测试与白盒测试的区别

2.测试一个下单功能 

3.get与post的区别 

4.一次get请求产生几个数据包 

5.常用的linux命令

 6.进程与线程的区别

7.数据库查询如何去重

 8.MySql怎么连接两张表,有什么区别

9.说说索引 

10.cookie 和 session 的区别 (会话管理)

11.工作中给你一个接口有问题,怎么排查 

12.Java的基本数据类型有哪些 

13.如何实现多线程

14.selenium显示等待与隐式等待 

 15.手撕代码


1.黑盒测试与白盒测试的区别

黑盒测试:

黑盒测试就是不关心软件内部代码的实现,不关心代码的逻辑结构,只关心输入输出是否符合预期。

优点:

  1. 从用户的角度去设计测试用例
  2. 测试用例是基于软件需求文档,不容易遗漏软件需求文档中需要测试的功能。

缺点:

  1. 不可能覆盖所有的代码

用到的测试方法:等价类、边界值、场景法、错误猜测法等

白盒测试:

白盒测试是针对代码进行的测试,分析测试代码的逻辑结构,实现的功能看是否符合用户的需求,针对程序的逻辑结构来设计测试用例。

用到的测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖

2.测试一个下单功能 

功能测试

测试下单流程是否正常,包括收货地址、支付方式等;
测试订单状态是否正确更新,包括未支付、已支付、已发货、已收货等。

接口测试

测试下单接口是否可以正确处理下单请求;
测试下单接口是否可以正确验证用户输入的信息;
测试下单接口返回的状态码和响应信息是否正确;
测试支付接口是否可以正确处理支付请求;
测试支付接口返回的状态码和响应信息是否正确。

3.get与post的区别 

  • get是从服务器获取资源,post是向服务器提交资源
  • get请求的参数是放在url里面的,post请求的参数是在请求体里面
  • get传输的数据受到URL长度的限制(1024个字节),post可以传输大量数据
  • 使用get时参数会显示在地址栏上,如果这些数据不敏感可以用get,如果是敏感数据,还是用post

4.一次get请求产生几个数据包 

get请求产生一个TCP数据包;post请求产生两个TCP数据包(get请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据;post请求,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 返回数据)

5.常用的linux命令

  •  ls  列出目录
  • pwd  显示当前所在目录
  • cd  打开一个目录
  • cat  查看文件内容
  • mkdir  创建文件夹
  • rm  删除文件或目录
  • cp  复制文件或目录
  • mv  将文件重命名或将其移至一个新目录中
  • head  显示指定文件开头内容
  • tail  显示指定文件末尾内容
  • vim  文本编辑
  • grep  查找文件中是否包含指定字符串
  • ps  查看当前进程

 6.进程与线程的区别

  1. 进程是系统分配资源的最小单位,线程是系统调度的最小单位
  2. 一个进程包含一个或多个线程
  3. 多个进程间的内存是独立的,一个进程中的多个线程拥有共享内存
  4. 进程挂了,不会影响其他进程,线程挂了会影响整个进程

7.数据库查询如何去重

  1.  使用distinct关键字(SELECT DISTINCT name FROM users)

  2. 使用group by分组(SELECT name FROM users GROUP BY name)

 8.MySql怎么连接两张表,有什么区别

  1. A inner join B  取交集
  2. A left join B  取A全部,B没有为null
  3. A right join B 取B全部,A没有为null
  4. A outer join B 取并集,彼此没有为null

9.说说索引 

索引的分类:主键索引、单值索引、唯一索引、复合索引

MySql索引底层数据结构:B+Tree

在放入数据的时候他会基于数据进行排序,排序后以指针的形式将数据连接起来,同时MySql为了进一步优化,以B+Tree的形式进行存储,就是以页的形式存储,一页的大小默认是16KB,对于一个3层的B+Tree大概能存9亿数据。

聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。

非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置

在使用非聚簇索引时会进行2次查找,先找到数据的id,然后再通过聚簇索引找到对应的行数据。

10.cookie 和 session 的区别 (会话管理)

  1. cookie数据存放在客户的浏览器上,session数据存放在服务器上
  2. cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
  3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
  4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

会话管理:

11.工作中给你一个接口有问题,怎么排查 

1.先检查接口ip是否正确,可以通过在本机ping 接口的ip,检查网络是否通畅

2. 再检查接口的端口号是否正确,可以通过在本机telnet接口的ip和端口号,检查端口是否能连通

3.检查项目是否启动或者部署成功,可以找研发确认,或者自己登录到服务器上,通过ps命令检查项目的进程是否存在,然后用tail命令查看部署日志

4.检查服务器防火墙是否关闭,如果因为安全或者权限问题不能关闭,需要找运维进行策略配置,开放对应的ip和端口号

5.检查你的客户端(浏览器/测试工具),是否设置了网络代理,网络代理可能会造成请求失败

6.检查操作系统的host文件,是否绑定了一个错误的ip映射

原文链接:https://blog.csdn.net/Yanan990830/article/details/123237930

12.Java的基本数据类型有哪些 

byte、short、int、long、float、double、boolean、char

13.如何实现多线程

  1. 继承Thread类,重写run方法
  2. 实现Runnable接口,重写run方法
  3. 实现Callable接口,重写call方法

14.selenium显示等待与隐式等待 

隐式等待:driver.implicitly_wait(timeout)

定位元素时,如果能定位到元素则直接返回该元素,不触发等待; 如果不能定位到该元 素,则间隔一段时间后再去定位元素; 如果在达到最大时长时还没有找到指定元素,则抛出元素 不存在的异常 NoSuchElementException 。

区别:

1、显示等待:针对单个元素生效

 2、隐式等待:针对全局元素生效

 15.手撕代码 

代码问的是:给定一个字符串删除字符串里的空格,进阶是只删除前后的空格,不删除中间的空格。

思路:删掉前面的空格,然后把字符串颠倒过来,再删除后面空格,然后再次颠倒字符串。

相关文章:

米哈游测开岗 【一面总结】

目录 1.黑盒测试与白盒测试的区别 2.测试一个下单功能 3.get与post的区别 4.一次get请求产生几个数据包 5.常用的linux命令 6.进程与线程的区别 7.数据库查询如何去重 8.MySql怎么连接两张表,有什么区别 9.说说索引 10.cookie 和 session 的区别 (会话管…...

微服务 Spring Boot 整合Redis 实现优惠卷秒杀 一人一单

文章目录 一、什么是全局唯一ID ⛅全局唯一ID ⚡Redis实现全局唯一ID 二、环境准备 三、实现秒杀下单 四、库存超卖问题 ⏳问题分析 ⌚ 乐观锁解决库存超卖 ✅Jmeter 测试 五、优惠卷秒杀 实现一人一单 ⛵小结 一、什么是全局唯一ID ⛅全局唯一ID 在分布式系统中,经常需要使用…...

构建OVS网络

构建OVS网络 1. 配置虚拟机环境 (1)配置虚拟机交换机 1 创建一个名为br-xd的虚拟交换机。 # ovs-vsctl add-br br-xd 2 查询虚拟交换机。 # ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port br-xd …...

【Python】万能之王 Lambda 函数详解

Python 提供了非常多的库和内置函数。有不同的方法可以执行相同的任务,而在 Python 中,有个万能之王函数:lambda 函数,它可以以不同的方式在任何地方使用。今天云朵君将和大家一起研究下这个万能之王! Lambda 函数简介…...

手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货

在搭建AI数字人直播间之前,您需要了解数字人技术。 一、什么是AI数字人、数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌、行为、语言等特征与真实人物相似,可以与人进行互动。数字人可以通过语音合成、人脸识…...

MySQL性能监控全掌握,快来get关键指标及采集方法!

数据库中间件监控实战,MySQL中哪些指标比较关键以及如何采集这些指标了。帮助提早发现问题,提升数据库可用性。 1 整体思路 监控哪类指标? 如何采集数据? 第10讲监控方法论如何落地? 这些就可以在MySQL中应用起来。…...

sed进阶之保留空间和排除命令

shell脚本编程系列 保留空间 模式空间(pattern space)是一块活跃的缓冲区,在sed编辑器执行命令时保存着待检查的文本,但它并不是sed编辑器保存文本的唯一空间。sed编辑器还有另一块称作保留空间(hold space&#xff0…...

21安徽练习

题目分为4部分 APK 集群 流量 exe 我尽量都做一下,逆向不是很会,就当提升自己。 [填空题]请获取app安装包的SHA256校验值(格式:不区分大小写)(10分) e15095d49efdccb0ca9b2ee125e4d8136cac5…...

【VAR | 时间序列】应用VAR模型时的15个注意点

一、前言 向量自回归(VAR,Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。 VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的…...

校招在线测评题目汇总

图形找规律题 https://blog.csdn.net/mxj1428295019/article/details/129627461https://blog.csdn.net/Yujian2563/article/details/124266574?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-124266574-blo…...

『python爬虫』05. requests模块入门(保姆级图文)

目录 安装requests1. 抓取搜狗搜索内容 requests.get2. 抓取百度翻译数据 requests.post3. 豆瓣电影喜剧榜首爬取4. 关于请求头和关闭request连接总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 安装requests …...

WPF超好用的框架Prism入门使用,上位机赶紧学起来!

Prism简介 WPF框架Prism是一种用于开发模块化、可重用和可测试的WPF应用程序的框架。它提供了一种简单而强大的方式来管理复杂应用程序的代码和构建高度可扩展的应用程序。 如何学习Prism框架 如果您想使用Prism框架来开发WPF应用程序,需要学习以下几个方面&…...

十个机器学习应用实例

一、在Kaggle上举办的一个竞赛,名为“Tabular Playground Series - Aug 2021”。该竞赛旨在预测房屋销售价格,数据集包含了79个特征和一个目标变量。参赛者需要训练一个模型,能够预测测试集中房屋的销售价格。 该竞赛的获胜者使用了多个AI模型…...

【Redis17】Redis进阶:管道

Redis进阶:管道 管道是啥?我们做开发的同学们经常会在 Linux 环境中用到管道命令,比如 ps -ef | grep php 。在之前学习 Laravel框架时的 【Laravel6.4】管道过滤器https://mp.weixin.qq.com/s/CK-mcinYpWCIv9CsvUNR7w 这篇文章中&#xff0c…...

Django项目页面样式如何“传给”客户端浏览器

前言 django项目在视图函数中借助render函数可以返回HTML页面,但是HTML页面中如果引入了外部CSS文件或者JavaScript文件在浏览器页面无法加载,因此就必须有一种方式能够将HTML文档中引入的外部文件能够在客户端浏览器上加载,这种方式就是配置…...

python 进程间通信 Queue()、Pipe()、manager.list()、manager.dict()、manager.Queue()

👨‍💻个人简介: 深度学习图像领域工作者 🎉总结链接: 链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括: &am…...

你想要的【微前端】都在这里了! | 京东云技术团队

作者:京东零售 郑炳懿 开篇: 如果你不知道微前端是什么,或者不知道微前端能解决什么问题,那么你可能不需要微前端。 在我看来,对于每一个没有使用过的新技术,都应该有以下几个过程: 1、调研…...

人生若只如初见,你不来看看Django吗

前言 本文介绍python三大主流web框架之一的Django框架的基本使用,如何创建django项目,如何运行django项目以及django项目的目录结构,另外django又是如何返回不同的数据和页面? python三大主流web框架 Python有三大主流的web框架…...

项目人力资源管理

项目人力资源管理的 4 个过程:规划人力资源管理、组建项目团队、建设项目团队、管理项目团队等内容 单项选择题、案例分析题 人力资源管理领域输入、输出、工具和技术表: 过程名输入工具和技术输出编写项目人力资源计划 项目管理计划活动资源需求事业…...

提供接口给第三方调用,应该注意什么

1.如果我们要提供一个接口给第三方调用,首先我们需要考虑的就是接口安全,一定要做鉴权,至于鉴权的方式:大家可以在网上自行查找,今天我主要记录如何编写一个既能能支持并发的,且不会影响到我们自身业务的的…...

AI巨头集体“铸Token”:从ChatGPT到“数字员工工厂”,程序员的狂欢还是危机?

想象一下:你早上醒来,打开电脑,不是自己敲代码,而是对着一只“龙虾”说:“帮我把昨天的Bug修了,顺便给老板发份周报。” 这不是科幻——2026年3月,这事儿正在发生。 全球头部科技公司突然集体“…...

AI虚拟员工平台完整搭建教程:从源码获取到正式上线,全流程记录

温馨提示:文末有资源获取方式最近AI赛道又火了一个新方向,很多人都在讨论,但真正能用起来的没几个。技术门槛摆在那,普通用户想上手确实不容易。今天这篇教程,我把从源码部署到正式上线的完整过程整理出来,…...

告别手动操作!用Word宏/VBA实现doc批量转docx的隐藏技巧

职场效率革命:Word宏/VBA零代码实现文档格式批量升级 每天面对堆积如山的.doc文件,行政文员小张总要手动打开每个文件另存为.docx格式——这个机械操作不仅耗时费力,还容易遗漏文件。其实微软Office内置的自动化工具能完美解决这个问题&#…...

建议收藏|盘点2026年顶尖配置的AI论文平台

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文平台,覆盖选题构思、文献分析、内容生成、格式排版四大核心场景,帮你高效搞定论文。 一、全流程王者:一站式搞定论文全链路(一天定稿首选&…...

3步打造开源工具效率引擎:QtScrcpy自定义配置全指南

3步打造开源工具效率引擎:QtScrcpy自定义配置全指南 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy …...

LFM2.5-1.2B-Thinking-GGUF基础教程:单页Web界面交互逻辑与后处理机制

LFM2.5-1.2B-Thinking-GGUF基础教程:单页Web界面交互逻辑与后处理机制 1. 模型与平台介绍 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,专为低资源环境优化设计。这个镜像采用内置GGUF模型文件和llama.cpp运行时,提供了…...

3大场景解析:开源工具如何重构MobaXterm的专业版体验

3大场景解析:开源工具如何重构MobaXterm的专业版体验 【免费下载链接】MobaXterm-Keygen MobaXterm Keygen Originally by DoubleLabyrinth 项目地址: https://gitcode.com/gh_mirrors/mob/MobaXterm-Keygen 在开发者的日常工作中,终端工具的选择…...

六边形地理索引的终极指南:H3算法如何革新空间数据分析

六边形地理索引的终极指南:H3算法如何革新空间数据分析 【免费下载链接】h3 Hexagonal hierarchical geospatial indexing system 项目地址: https://gitcode.com/gh_mirrors/h3/h3 你是否曾为处理大规模地理空间数据而头疼?传统的地理索引系统在…...

FPGA实战:3级CIC滤波器Verilog实现与仿真(附完整代码)

FPGA实战:3级CIC滤波器Verilog实现与仿真全解析 在数字信号处理领域,CIC(Cascaded Integrator-Comb)滤波器因其结构简单、运算高效的特点,成为多速率系统中的关键组件。本文将深入探讨3级CIC滤波器的Verilog实现细节&a…...

ARM嵌入式开发:寄存器操作与函数指针实战

## 1. 嵌入式开发中的寄存器操作技巧### 1.1 寄存器地址访问方法 在ARM架构嵌入式开发中,直接操作硬件寄存器是底层开发的核心技能。通过C语言访问特定内存地址的标准做法是使用指针类型转换:c #define GSTATUS1 (*(volatile unsigned int *)0x560000B0)…...