Hi,大家好,春风不仅吹绿了枝条,也让打工人心中痒痒的。金三银四
的跳槽季,很多伙伴都蠢蠢欲动,想要拿更高的薪资,想要去更大的平台。今天给大家分享一波面试题,祝准备跳槽的伙伴们,求职顺利,Offer连连,涨薪多多!
一 分布式系统的性能测试,如何做系统性能评估、性能瓶颈与性能指标分析?
① 建立系统环境模型,最大限度地模拟实际情况,无法模拟时应采取相应方式规避。
② 采取分块法抽离子系统,对相同消耗型的模块(子系统)进行分析。定位可能存在
系统瓶颈的地方,采取多种方法观察日志、性能指标。
③ 当无法明确外界反馈时,采取内部原理分析机制。最终解决方案是分块尝试,找出
每个子系统或者模块的瓶颈。
④ 定位单个系统的性能瓶颈。根据压力方式,选择瞬间压力与稳步上升压力。根据
长短连接方式,选择压力方式,关注系统性能指标
。
⑤ 最终瓶颈由最弱的子系统与模块确定(此时会需要面试者给出优化方案)。考虑
几种方式,如多线程方式、缩减内存消耗方式(一般通过优化数据结构与数据处理
方式可以解决)、部署方式(不同消耗型模块统一部署、充分利用资源等)。
二 python的数据类型有哪些?
Python数据类型如下所示:
三 对于多列索引,哪些情况下能用到索引,哪些情况用不到索引?
1)like
以%开头。
2)or
查询,必须左右字段都是索引,否则索引失效。
3)联合索引,遵从最左匹配原则,如果不是使用第一列索引,索引失效。
4)数据出现隐形转换,如varchar
字段没加单引号,自动转为int
类型,会使索引失效。
5)索引字段使用not、<>、!=,索引失效。
6)索引字段使用函数,索引无效。
四 Mysql 什么情况会造成慢查询?
响应时间超过阈值会产生慢查询日志,造成查询慢的原因:
五 你在公司中,是怎么准备测试数据的?
准备测试数据的方式:
六 请简单介绍下PO模式的原理?
PO模式,英文全称PageObject;它主要是为了减少代码重复,让代码可读性更强,更容易维护。 PO设计模式是怎么进行设计的? PO设计模式主要包括三层:对象层、操作层、业务层 ; 对象层:主要封装某些元素定位的方法; 操作层:封装元素的一些特定操作; 业务层:把一个或多个操作组合成具体的业务,实现具体的功能测试。
用最简单的案例描述PO模式: 那么接下来我们就以登录页面为例,来描述PO设计模式的实现过程。 step1: 先实现BasePage基类,这个基类当中主要是实现driver的获取。通过这个driver可以进行 兼容性测试; step2: 根据BasePage基类,实现对象层,封装登录页面的元素定位,封装定位用户名、密码、 确认按钮的定位方法; step3: 根据封装定位方法,封装他们的操作,例如输入用户名和密码,点击确认按钮; step4: 根据封装LoginPage页面和操作类,实现登录的测试。
七 写一个性能监控脚本,要求以特定时间间隔(如3s)采集计算机或特定进程的资源(如CPU、内存)占用情况。
如下所示:
正在看文章的各位伙伴们,准备跳槽吗?