后端接口测试面试题

1.     系统架构, 产品设计,整个设计的模块,主要的测试内容,进行怎么样的方案设计。
问: 主要做了哪些类型测试,有哪些产出? 
2.     接口测试中校验点有哪些内容? 

3.     详细聊聊某个需求,怎么测试的? 
4.     需求中提到的App一个三方的软件,是不是对应一个三方相关的服务
5.     需求主要测试哪个微服务的接口,还是整个流程?
6.     接口是哪个提供的? 入口是哪个? 被测对象是哪个? 
入口是CM,
7.     典型的bug
8.     接口自动化中的对象和预期怎么设计的呢?
功能可以测试到,并且也是便于维护的。
9.     断言检验的原则是什么样的?
10.   自动化频率是怎么样的?在什么阶段能发现怎么样的问题?
11.   有没有做过幂等测试?
同一个接口,我同样调两次,
后发的是失败还是成功?怎么处理的?
答:创建数据的接口,要么报错,要么再次创建一个数据。
12.   外部系统的报错怎么处理?
答:不一定报错,保持一个友好的状态。外部系统关联性测试

### Java后端开发工程师面试题库 Java后端开发工程师的面试题通常涵盖了多个技术领域,包括但不限于Java基础、JVM原理、多线程与并发、数据库、Spring框架、分布式系统等。以下是根据提供的引用内容和专业知识整理的一份Java后端开发工程师面试题库: #### 一、Java基础 1. **Java程序的执行过程是什么?** Java源代码文件(`.java`后缀)会被编译为字节码文件(`.class`后缀),然后由JVM中的类加载器加载这些字节码文件,最终交由JVM执行引擎执行[^2]。 2. **什么是运行时数据区(Runtime Data Area)?** 运行时数据区是JVM在执行Java程序时所使用的内存区域,它用于存储程序执行期间所需的数据和相关信息。常见的运行时数据区包括堆(Heap)、方法区(Method Area)、栈(Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register)[^2]。 3. **Java中有哪些基本数据类型?** Java中有8种基本数据类型:`byte`、`short`、`int`、`long`、`float`、`double`、`char` 和 `boolean`。 #### 二、JVM原理 1. **JVM的垃圾回收机制是如何工作的?** JVM的垃圾回收(Garbage Collection, GC)主要通过标记-清除、复制、标记-整理等算法来管理堆内存。GC会自动识别不再被引用的对象,并释放其占用的内存[^2]。 2. **类加载的过程分为哪几个阶段?** 类加载的过程分为加载、验证、准备、解析和初始化五个阶段。每个阶段都有特定的任务,例如加载阶段负责将类的字节码读入内存并生成对应的`Class`对象[^2]。 #### 三、多线程与并发 1. **什么是线程安全?如何实现线程安全?** 线程安全指的是在多线程环境下,程序的行为符合预期且不会出现数据竞争或不一致的状态。可以通过使用`synchronized`关键字、`volatile`变量、`Lock`接口以及原子类(如`AtomicInteger`)来实现线程安全[^1]。 2. **解释一下CAS操作及其应用场景。** CAS(Compare-And-Swap)是一种无锁算法,用于实现多线程环境下的原子操作。它的典型应用场景包括`ConcurrentHashMap`和`Atomic`类的实现[^1]。 #### 四、数据库 1. **MySQL中常用的驱动类有哪些?推荐使用哪一个?** 在JDBC 8中,推荐使用`com.mysql.cj.jdbc.Driver`作为MySQL的驱动类,因为之前的`com.mysql.jdbc.Driver`已经被废弃。如果使用旧版本的驱动类,可能会在运行测试用例时产生WARN信息[^4]。 2. **什么是事务?事务的ACID特性分别指什么?** 事务是一组逻辑操作单元,确保所有操作要么全部成功,要么全部失败。ACID特性分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)[^1]。 #### 五、Spring框架 1. **Spring IOC的核心思想是什么?** Spring IOC(Inversion of Control,控制反转)的核心思想是通过容器管理对象的生命周期和依赖关系,从而降低模块间的耦合度。IOC的主要实现方式是依赖注入(Dependency Injection, DI)[^1]。 2. **Spring AOP的实现原理是什么?** Spring AOP(Aspect-Oriented Programming,面向切面编程)通过动态代理(Dynamic Proxy)或CGLIB实现。它可以将横切关注点(如日志记录、事务管理)从业务逻辑中分离出来[^1]。 #### 六、分布式系统 1. **什么是CAP理论?在实际应用中如何权衡CAP?** CAP理论指出,在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三者无法同时满足。通常需要根据业务需求进行权衡,例如在电商系统中可能更倾向于AP模式[^1]。 2. **ZooKeeper的作用是什么?** ZooKeeper是一个分布式协调服务,常用于解决分布式系统中的配置管理、命名服务、分布式锁和集群管理等问题[^1]。 ```python # 示例代码:使用synchronized实现线程安全 class Counter { private int count = 0; public synchronized void increment() { count++; } public synchronized int getCount() { return count; } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值