【面试】测试/测开(ING)

63. APP端特有的测试

参考:APP专项测试、APP应用测试
crash和anr的区别
1)网络测试
2)中断测试
3)安装、卸载测试
4)兼容测试
5)性能测试(耗电量、流量、内存、服务器端)
6)安全性测试(密码、sql注入、权限)
7)UI测试(横竖屏、手势、键盘等的自适应)
8)升级测试(考虑内存)
9)稳定性测试(使用monkey)
10)接口测试
11)其他测试(如上传文件、图片、视频)

64. 服务异常情况验证

参考:异常测试
浅谈异常测试
服务异常

65. 用什么做性能测试

66. Jmeter如何设计测试场景

67. 压测怎么做

69. UI自动化元素定位方法

参考:UI自动化元素定位
UI元素定位

70. gpu和cpu有什么区别

71. gpu性能受哪些因素的影响

72. 共享内存,线程安全吗?怎么解决?

73. 什么情况下会发生死锁?怎么解决?

74. 进程上下文切换需要做哪些事情?上下文保存在哪里?

75. 单例模式怎么实现的?怎么判断一个实例是不是已经创建了呢?线程安全吗?加锁会有什么问题?怎么优化?

76. 视频静态解码和动态解码?

77. 逆层序遍历

78. 用户上传照片如何测试

79. 线上bug如何解决?完成处理流程?

80. 前端页面无法展示,如何找bug?

81. 服务端接口有问题怎么定位bug

82. 字符串数组最长公共子串

83. 如果UI经常变更,UI自动化怎么解决

参考:UI自动化测试01、UI自动化02

① 对比较稳定的功能和模块设置自动化用例

84. 提一个bug需要写明什么

参考:提BUG的内容

测试环境、测试设备/型号、软件版本、bug错误类型、bug所属模块、重现概率、优先级、严重级别、复现步骤、预期结果、实际结果、日志、bug状态以及标题、bug解决人

85. 怎么保持redis数据的时效性

86. 接口实现与基类继承的差异

87. coding过程中什么才是符合标准的好代码

88. Java基本数据类型有哪些?自动装箱、拆箱?

89. 异常的分类?如何处理异常?

参考:异常的的分类以及处理

异常

90. Mysql的索引如何实现?B+树的结构?是逻辑结构还是线性结构?分别介绍逻辑结构、线性结构的数据结构有哪些?

91. sql:一页数据20条记录,显示第五页的记录?

已知每页显示m条数据,求第n页显示的数据
提示: 关键是求每页的开始行索引

① 查询学生表,获取第n页数据的SQL语句:
select * from students limit (n-1)*m, m

② 一页数据20条记录,显示第五页的记录
select 8 from table limit (5-1)*20, 20;

92. 购物车下单功能需要进行哪些测试

93. 了解哪些排序算法?哪些排序算法效率高一些?时间复杂度如何?

94. 两个无序二叉树合并为有序二叉树

95. 贪心算法和动态规划的区别?

96. 分治思想和动态规划的区别

97. 线程资源以来死锁问题,如何避免?

98. IO多路复用

99. InnoDB的索引类型

100. MySQL的锁机制,悲观锁和乐观锁的区别

参考:MySQL乐观锁和悲观锁、MySQL从乐观到悲观

1)共享锁S和排他锁X
2)乐观锁一般是使用版本号来实现的,一般使用select … for update来实现悲观锁

101. sql:查询第50到100条数据

① 查询前100条数据
select * from A limit 0,100;

② 查询50-100条数据
select * from A limit 49,51;

select * from A limit s, n;
// s 表示起始位置,是不包含状态,也让就是说从s+1开始输出
// n 表示多少条数据

102. 依赖注入的方式

103. IOC和AOP的概念,IOC的实现机制

104. SpringBoot配置文件的加载顺序?yam和properties?

105. 讲一下collection和map

106. List和Set有什么区别?Set里面可以有null值吗?List是不是可以有多个null值

参考 :List和Set的区别、List和Set集合

① 都继承自Collection接口
② null值
③ 重复值
④ 有序性

107. hashMap和hashTable有什么区别?Hash Map的底层原理?如何解决Hash冲突?

参考:HashMap和HashTable的区别
哈希冲突

1)区别:
① 读写的线程安全
② null值的存储:map中key和value均可以是null,但是table中不允许存储null

2)哈希冲突避免:
哈希函数设计、负载因子调节

3)哈希冲突解决:
闭散列(线性探测,保存到下一个位置)、开散列(链表存储)

108. 一张表用a,b,c三个字段作为联合索引,一条sql语句命中了a和b是否会走索引?

参考:组合索引

组合索引 有“最左前缀”原则,遇到范围查询(>、<、between、like)就会停止匹配。

109. 基于TCP的协议

110. TLS握手过程

111. session和cookie

112. 页面置换算法LRU?还有其他的页面置换算法吗?

113. 介绍线程池以及对线程池的认识?

114. 哈希表与红黑树的认识?

115. 抽象类的使用场景

116. MySql的事务

117. 分布式锁

118. StringBuffer、StringBuilder为什么是可变的?

StringBuilder、StringBuffer可变长

1)String:底层是char数组,数组是不可变长的;再者,数组是使用final修饰的,该引用不可以再指向其他对象
2)StringBuffer和StringBuilder:内部实际上是一个char[ ]数组,这个char[ ]数组没有被final修饰,StringBuffer和StringBulider的初始化容量应该为16,当存满之后会进行扩容,底层调用了数组拷贝的方法:System.arraycopy()…扩容的,所以StringBuffer/StringBuilder适用于字符串的频繁拼接操作,并且StringBuffer是线程安全的,StringBuilder是非线程安全的。(扩容机制:原数组大小*2+2)

119. 为什么TCP比UDP长一点?

① TCP 有可变长的「选项」字段,而 UDP 头部长度则是不会变化的。
② TCP是可靠传输的,其有三次握手和四次挥手,所需要使用的序列号以及确认号需要进行存储;另外,还有滑动窗口来进行流量控制等以保证数据的安全性
TCP

③ UDP的头部长度是不会改变的
UDP

120. Java怎么实现单例继承?手写线程安全的单例继承

六种单例模式
高并发下线程安全的单例模式

1)定义:确保一个类只有一个实例,并提供该实例的全局访问点
2)设计要素:一个私有构造函数 (确保只能单例类自己创建实例)、一个私有静态变量 (确保只有一个实例)、一个公有静态函数 (给使用者提供调用方法)
3)类型:
① 懒汉:先不创建实例,当第一次被调用时,再创建实例,所以被称为懒汉式。

// 线程安全的懒汉模式
public class Singleton {private static Singleton uniqueInstance;private static singleton() {}public static synchronized Singleton getUinqueInstance() {if (uniqueInstance == null) {uniqueInstance = new Singleton();}return uniqueInstance;}}

② 饿汉: 先不管需不需要使用这个实例,直接先实例化好实例 (饿死鬼一样,所以称为饿汉式),然后当需要使用的时候,直接调方法就可以使用了。

public class Singleton {private static Singleton uniqueInstance = new Singleton();private Singleton() {}public static Singleton getUniqueInstance() {return uniqueInstance;}}

③ 静态内部类

public class Singleton {private Singleton() {}private static class SingletonHolder {private static final Singleton INSTANCE = new Singleton();}public static Singleton getUniqueInstance() {return SingletonHolder.INSTANCE;}}

④双检查机制

public class MySingleton {//使用volatile关键字保其可见性volatile private static MySingleton instance = null;private MySingleton(){}public static MySingleton getInstance() {try {  if(instance != null){//懒汉式 }else{//创建实例之前可能会有一些准备性的耗时工作 Thread.sleep(300);synchronized (MySingleton.class) {if(instance == null){//二次检查instance = new MySingleton();}}} } catch (InterruptedException e) { e.printStackTrace();}return instance;}
}

4)使用场景
① 频繁实例化然后又销毁的对象,使用单例模式可以提高性能。
② 经常使用的对象,但实例化时耗费时间或者资源多,如数据库连接池,使用单例模式,可以提高性能,降低资源损坏。
③ 使用线程池之类的控制资源时,使用单例模式,可以方便资源之间的通信。

121. SpringBoot的关键注解? @SpringBootApplication是一个组合注解,是由哪些构成的?

参考:SpringBootAppication注解、SpringBootApplication注解02
SpringBoot注解
1)注解类型:
① 核心注解:@SpringBootApplication:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
② 常用注解:@Component、@Bean、@Import、@Autowired、@Configuration、@VAlue(注入 application.properties 或 application.yml 配置的属性的值)

2)@SpringBootApplication注解:

/*** @SpringBootApplication组合注解包含以下注解:* * @Target(ElementType.TYPE) :用于描述注解的使用范围* @Retention(RetentionPolicy.RUNTIME) :保留,指定保留时间,三个枚举,分别为source,class,runtime* @Documented:可被javadoc等工具记录,注解类型信息会保存到生成的文档中* @Inherited:个人认为是一个成员变量,父类被子类覆盖之后无法继承,子类中可以继承父类中未被覆盖的父类注解的值* @SpringBootConfiguration:包含@Target(ElementType.TYPE)*                                                     @Retention(RetentionPolicy.RUNTIME) :同上述*                                                     @Documented:同上述*                                                     @Configuration:用于配置,包含以下注解*                                                                                     @Target(ElementType.TYPE) :同上述*                                                                                     @Retention(RetentionPolicy.RUNTIME) :同上述*                                                                                     @Documented :同上述*                                                                                     @Component:spring内置组件注解,用途是让spring容器扫描* @EnableAutoConfiguration:开启自动配置,包含以下注解*                                                     @Target(ElementType.TYPE):同上述*                                                     @Retention(RetentionPolicy.RUNTIME):同上述*                                                     @Documented:同上述*                                                     @Inherited:同上述*                                                     @AutoConfigurationPackage:自动配置包含注解的类*                                                     @Import(AutoConfigurationImportSelector.class)* @ComponentScan:开启包扫描,默认扫描同级及当前包下内容,包含以下注解*                                         @Retention(RetentionPolicy.RUNTIME)*                                         @Target(ElementType.TYPE):同上述*                                         @Documented:同上述*                                         @Repeatable(ComponentScans.class):允许在同一申明类型(类,属性,或方法)的多次使用同一个注解*/
@SpringBootApplication

122. 编程:给你两个线程,交替修改同一个变量10次?

参考:多线程交替打印
思路:其实这类问题本质上都是线程通信问题,思路基本上都是一个线程执行完毕,阻塞该线程,唤醒其他线程,按顺序执行下一个线程。

1)synchronized + wait/notifyAll
2)join()
3)Lock

123. ThreadLocal和synchronized的区别?

124. JVM内存模型?JVM方法区主要存储哪些类型数据?

124. Spring Bean 和new 类的区别

125. 线程池由哪几种类型

126. JVM哪部分会出现OOM问题

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

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

相关文章

画对比折线图【Python】

出这一期想必是我做某个课程作业遇到了。 由于去各个官网下载对比图要钱&#xff0c;我还是不想花钱的&#xff01;真讨厌&#xff01;浅浅水一期。 以下是要做的对比图的数据&#xff1a; 代码&#xff1a; from matplotlib import pyplot as plt#设置中文显示plt.rcParams[…

CSS新手入门笔记整理:CSS浮动布局

文档流概述 正常文档流 “文档流”指元素在页面中出现的先后顺序。正常文档流&#xff0c;又称为“普通文档流”或“普通流”&#xff0c;也就是W3C标准所说的“normal flow”。正常文档流&#xff0c;将一个页面从上到下分为一行一行&#xff0c;其中块元素独占一行&#xf…

ChatGPT OpenAI API请求限制 尝试解决

1. OpenAI API请求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

让内存无处可逃:智能指针[C++11]

智能指针 文章目录 智能指针前言RAII什么是智能指针智能指针的应用示例 C98的auto_ptr共享型智能指针&#xff1a;shared_ptrshared_ptr的使用初始化获取原生指针指定删除器默认删除器default_delete指定删除器指定删除器管理动态数组 shared_ptr的伪实现shared_ptr的注意事项避…

【Docker】进阶之路:(五)Docker引擎

【Docker】进阶之路&#xff1a;&#xff08;五&#xff09;Docker引擎 Docker引擎简介Docker引擎的组件构成runccontainerd Docker引擎简介 Docker引擎是用来运行和管理容器的核心部分。Docker首次发布时&#xff0c;Docker 引擎由LXC 和 Docker daemon 两个核心组件构成。 …

linux驱动开发——内核调试技术

目录 一、前言 二、内核调试方法 2.1 内核调试概述 2.2 学会分析内核源程序 2.3调试方法介绍 三、内核打印函数 3.1内核镜像解压前的串口输出函数 3.2 内核镜像解压后的串口输出函数 3.3 内核打印函数 四、获取内核信息 4.1系统请求键 4.2 通过/proc 接口 4.3 通过…

算法:有效的括号(入栈出栈)

时间复杂度 O(n) 空间复杂度 O(n∣Σ∣)&#xff0c;其中 Σ 表示字符集&#xff0c;本题中字符串只包含 6 种括号 /*** param {string} s* return {boolean}*/ var isValid function(s) {const map {"(":")","{":"}","["…

List截取指定长度(java截取拼接URL)

场景&#xff1a; N多个参数&#xff0c;截取指定个数&#xff0c;拼接URL public static void main(final String[] args) {int count 0;//每页数量final int pageSize 5;final List<Integer> memberNos ListUtil.toList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…

python格式化内容

1.字符串格式化: 定义列表 [{"姓名": "张三", "年龄": 18, "性别": "男"}, {"姓名": "里斯李四李斯", "年龄": 18, "性别": "男"}, {"姓名": "斯托夫斯基…

C++知识 抽象基类

抽象基类通常包含至少一个纯虚函数&#xff0c;即一个没有具体实现的虚函数&#xff0c;通过在基类中声明纯虚函数&#xff0c;它强制派生类提供这个函数的具体实现。 通过在类的声明中使用 virtual 关键字和 0 初始化来创建纯虚函数&#xff0c;这样的类就成为抽象基类。以下…

上位机与PLC:ModbusTCP通讯之数据类型转换

前请提要: 从PLC读取的数值,不管是读正负整数还是正负浮点数,读取过来后都会变成UInt16,也就是Ushort类型 一、ushort(UInt16)转成 Int32 源代码方法: //ushort类型转Int32类型的方法private int ushortToInt32(ushort[] date, int start){//先进行判断,长度是否正确…

MySQL_6.MySQL常用创建语句

1.数据库创建,查询,删除 (1)创建一个test数据库 CREATE DATABASE test ; CREATE DATABASE IF NOT EXISTS test; # default character set :默认字符集 CREATE DATABASE IF NOT EXISTS test default character set UTF8; # default collate&#xff1a;默认排序规格 # utf8_g…

前端知识(七)———HTTPS:保护网络通信安全的关键

当谈到网络通信和数据传输时&#xff0c;安全性是一个至关重要的问题。在互联网上&#xff0c;有许多敏感信息需要通过网络进行传输&#xff0c;例如个人身份信息、银行账户信息和商业机密等。为了保护这些信息不被未经授权的人访问和篡改&#xff0c;HTTPS&#xff08;超文本传…

AI:大语言模型LLM

LLM 大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一种利用大量文本数据进行训练的自然语言处理模型&#xff0c;其评价可以从多个方面进行。 以下是一些主要的评价方面&#xff1a; 语言理解和生成能力&#xff1a;评价大语言模型在自然语言理…

模型评价指标

用训练好的模型结果进行预测&#xff0c;需要采用一些评价指标来进行评价&#xff0c;才可以得到最优的模型 常用的指标&#xff1a; 1.分类任务 ConfusionMatrix 混淆矩阵Accuracy 准确率Precision 精确率Recall 召回率F1 score H-mean值ROC Curve ROC曲线PR …

PostgreSQL pgvector:如何利用向量数据库提升搜索效率和精度

LLMs模型实战教程 文章来源&#xff1a;https://zhuanlan.zhihu.com/p/641516393 Kevin 一、介绍 随着基础模型的兴起&#xff0c;向量数据库的受欢迎程度也飙升。事实上&#xff0c;在大型语言模型环境中&#xff0c;向量数据库也很有用。 在机器学习领域&#xff0c;我们经…

天池SQL训练营(三)-复杂查询方法-视图、子查询、函数等

-天池龙珠计划SQL训练营 SQL训练营页面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 视图 我们先来看一个查询语句&#xff08;仅做示例&#xff0c;未提供相关数据&#xff09; SELECT stu_name FROM view_students_info;单从表面上看起来…

C#反射加载程序集并使用

具体实现参考&#xff1a; C# 动态加载DLL通过反射调用参数、方法、窗体_c#反射加载dll并传入参数-CSDN博客 C#进阶学习--反射(Reflection) - 知乎 走进C#反射机制 - 知乎 1.使用过程 //创建数据集 Assembly outerAsm Assembly.LoadFile("D:/your.dll");//获取…

rancher harvester deploy demo 【部署 harvester v1.2.1】

简介 Harvester 是一个现代的、开放的、可互操作的、基于Kubernetes的超融合基础设施(HCI)解决方案。它是一种开源替代方案&#xff0c;专为寻求云原生HCI解决方案的运营商而设计。Harvester运行在裸机服务器上&#xff0c;提供集成的虚拟化和分布式存储功能。除了传统的虚拟机…

pgsql存储过程

由于部分企业数据库从aws迁移到腾讯云&#xff0c;导致有一个定时任务&#xff08;从详情表汇总数据到统计表中&#xff09;错过了触发&#xff0c;所以这部分企业的数据需要触发重新刷一下&#xff0c;但是又有规定白天不允许上线&#xff0c;只能把定时任务的逻辑用存储过程&…