华数智屏面经

1、性能测试关注指标

答:关注的为并发数下的响应时间、内存占比、错误率、吞吐量
Tips:还有TPS(每秒事务数)、QPS(每秒查询数)、稳定性下次也可以说说

2、性能测试发现过什么问题,如何优化

答:发现过压测之后系统不稳定,接口变慢,后面发现是终止了压测,但是队列里还有很多排队请求,导致系统一直卡顿;
问:嗯这是测试过程遇到的问题,有解决过什么问题么?
答:其实我们主要做的还是定位一些问题,交给开发,主要发现过一些索引没有用上,describe查看一下开发加索引或者修改索引(这里说错了,其实是Explain),然后还有增加缓存的方案,一般增加了缓存就不压测了额
问:为什么增加了缓存就不优化了
答:因为增加了缓存实际上读取缓存就没有IO请求了,没有访问数据路,服务器就没有压力了,没有必要再压测了

3、TestNg的常用标签

答:用的过的是cucumber框架,是BDD框架,通过feature文件写自动化用例,用例中用到Given When Then And等标签,还有Example参数化的标签。脚本中常用的标签就是before、after、filter一些标签。
Tips:TestNg用的少,忘记了,这里记录一下
Test:标注为测试方法
Before、After:和Cucumber一样,suite、method、group、class这些级别
Parameters({"param1", "param2", ...}):从XML配置文件中接收参数到测试方法。
DataProvider(name = "name"):为测试方法提供数据的方法,允许进行数据驱动测试。
Test(dependsOnMethods = {...}):指定当前测试方法依赖的其他测试方法。
Test(enabled = false):禁用某个测试方法。
Test(expectedExceptions = Exception.class):期望测试方法抛出的异常。

4、SpringBoot框架用过么?都有什么层?

答:实际开发用的很少了,有控制层、视图层、模型层
Tips:这里就没有继续问下去了,这里记录一下SpringBoot常用注解
@SpringBootApplication:是一个便利注解,相当于同时使用@Configuration、@EnableAutoConfiguration和@ComponentScan。通常用于主类上。
@EnableAutoConfiguration:告诉Spring Boot根据添加的jar依赖自动配置你的Spring应用。
@Controller 标注控制器
@RequestMapping(及其派生注解,如@GetMapping, @PostMapping等):用于映射web请求到Spring Controller的方法上。
@RequestBody:注解参数表示一个方法参数应绑定到web请求的body。
@Autowired:自动装配bean。
@Service:标记一个服务层的组件。

5、如果模拟大量的登陆失败请求,缓存又无法命中怎么办?

答:其实这是一个Redis缓存击穿的现象,要避免可以通过在缓存没有命中的时候,也创建一个空缓存
问:嗯这是在控制层控制,有其他方案么?
答:暂时想不到了
Tips:其实实际用的最多的方案是增加验证码,其次还有布隆控制器、限制IP大量请求、数据库数据和缓存数据同步更新这些方案

6、mysql常见的锁有哪些

答:有读写锁、独占锁,其他记不太住了
问:什么是乐观锁、悲观锁
答:乐观锁就是每一次写操作不做简单,悲观锁就是每一次写操作做检查

6、一个好的测试工程师是怎么样的

7、职业规划是什么?觉得自己有哪些不足

posted @ 2024-05-28 20:12  吴承勇  阅读(14)  评论(0编辑  收藏  举报