从年后开始投简历面试的,在boss和拉钩上投了有几十份简历,其中70%未读状态,30%已读,已读的一半回复要求发送附件简历,然后这周接到面试的有七、八家公司,所以,当前这个大环境真的难

这半个月来,每天安排三到四场面试,平均每个公司至少都是两轮面试打底,经此一役,截止今天下午,算是拿到四个offer,两个已经发了,两个口头约定好了。个人比较心仪其中的一家外企,毕竟不太卷,真的国内的互联网公司真的卷怕了,还不稳定,说不定哪天就被优化了,那么今天我就先分享一些此次面试第一面技术面试的经验,金三银四的面试季希望对大家有所帮助,加油!冲!

技术面试题整理了个十来页的文档,有需要的留言,我发你,当前的就业局势能帮一个算一个

技术面试题

一、项目及业务相关

1.请描述一下你现在项目中的测试流程是怎么样的?

需求宣讲–>需求评审–>技术评审–>测试用例评审–>研发冒烟–>研发提测–>测试提测预检.->测试泳道测试.>发布班车..>测试集成测试(产品验收)->预发环境发布–>生产环境发布(产品测试验收)–>线上数据监控(1-2天)–>业务文档沉淀(我公司是这样,大家根据实际情况说明即可)

2.测试流程有没有什么可以改进的地方?这些问题,你有反馈并且拿到结果吗?

1)规范发版流程,周二周四窗口期,APP类双周迭代,回收研发线上发布权限2)规范提测流程,增加提测准入条件,提测打回流程,冒烟不通过惩罚机制3)规范产品评审,新增需求宣讲,产品完成度90%以上进入评审,需求完成度较低打回

4)引入线上CS机制,PO,P1故院复盘,P3,P4 CS沉淀,记录踩坑经验,反推流程优化或者基础功能建设

3. 需求不明确,通过哪些方式解决?

1)根本还是流程机制的问题。团队合作不能依赖个人的靠谱,而是需要一种流程机制来建立,责任人和协作方式是机制运作两个不可或缺的要素。流程机制方面的建立也可以参考敏捷和精益思想。

2)从沟通上去突破,项目的高质量和及时交付是产研的共同目标,从共同目标出发去沟通解决合作中的问题。

4.测试任务多,时间不够,怎么办?

1)个别项目问题

是否测试范围为评估不全,导致估时过于乐观,估时研发测试工时比3:1(加时间)

是否有阻塞测试进度的问题(bug,测试环境等),占用测试时间倒排期项目,功能较多,测试时间不足(砍需求,分批上线)2)多数项目问题

测试效率是否有问题,是否有过多冗余测试用例

是否经常有并行测试,导致测试节奉达不到预期(资源分配)

长时间人员负荷大于80%,任务安排是否合理,测试人力是否达到瓶颈(加人)

5.介绍一下cookie, session 和token的区别

1)session存储于服务器,可以理解为一个状态列表,拥有一个唯一识别符号 sessionId,通常存放于cookie中,

服务器收到cookie后解析出sessionld,再去session列表中查找,才能找到相应 session。依赖cookie

2)cookie类似一个令牌,装有sessionId,存储在客户端,浏览器通常会自动添加。

3)cookie安全性比session差

4)token也类似一个令牌,无状态,用户信息都被加密到token中,服务器收到 token后解密就可知道是哪个用户

6. Get 和 Post请求的区别

1)get 是从服务器上获取的数据,post 则是向服务器传送数据2)get 的参数在 URL 中可以看到,post 的参数用户看不到

3)get 传送的数据量较小,不能大于 2KB。post 传送的数据量较大,一般被默认为不受限制

4)get 安全性比较低,post 安全性较高

7.常见的状态码有哪些” />

9.怎么排查是前端问题还是后端问题或者数据问题?

1)通过抓包确认前端是否调用接口,如果接口未调用,那就前端问题。

2)如果接口正常返回结果,但是结果不是预期结果,要确认前端传参是否正确,若是传参不对,则是前端问题,若传参正确,但结果返回错误,那就是后端问题。

3)如果后端接口返回数据正确,但是页面显示和渲染错误,这也是前端问题

10. Web测试和APP测试不同点

1)手机作为通信工具,来电、去电、接收短信等操作都会对app应用程序产生影响,所以app测试第一个要考虑的属性特征是:中断测试,来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断短信中断:接收短信、查看短信

其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)

2)手机用户对app产品的安装卸载操作:从上一个版本/上两个版本直接升级到最新版本

全新安装新版本

新版本覆盖旧版本安装卸载旧版本,安装新版本卸载新版本,安装新版本

web和app测试,单从功能界面测试来说,没有什么差异。有差异的主要是以下几点:

1.系统结构

web端,是B/S架构的,服务端有修改的话,客户端会同步更新

app,是C/S架构的,如果服务端有修改的话,客户端必须更新,核心版本的客户端都要重新回归测试

2.性能指标

web端:响应时间、CPU、内存、吞吐量

app:响应时间、CPU、内存、吞吐量、手机流量、手机电量

3.兼容测试方面

web端:浏览器兼容;PC端的操作系统(windows、mac、linux)

app:手机操作系统(安卓、ios、windows);手机型号;分辨率(手机屏幕大小)

4.相对于web,app有一些专项测试干扰测试(来电、信息、其他应用)弱网络测试、网络切换测试安装、更新、卸载

5.测试工具 app:appium web:selenium

6.界面操作

web端:屏幕左上角、右下角

app:手势、手机横屏竖屏、触控、前后台切换,边角测试

10. 性能测试关注哪些指标” />

1. 简述一下UI自动化框架及怎么实现的

需要这个答案的找我,我整理了另外一个博客

2. selenium 的元素定位方式有哪些?

这个也是博客里分享过了,具体不写了

定位方式有8种:id、name、tag name、class name、link text、 partial link text、xpath 以及css selector

id 唯一,有 id 尽量使用 id 定位,但要注意动态 id 的情况,

css selector 和 xpath 几乎可以定位到所有的元素,css的定位速度更快。

3. 切换窗口、切换iframe、弹窗怎么处理、下拉框怎么定位

切换窗口:driver.switch to window(handle)切换iframe: driver.switch to frame弹窗:使用alert

下拉框定位:select by index(0) #通过索引选择 select by visible text(“测试”) #通过下拉文本值选择 select_by_value(“python”) #通过option value值选择

4. 三种等待

time.sleep

固定等待,本质:让当前的线程睡眠,实质是线程的阻塞(blocking),用wait方式实现。

缺点:网络条件好浪费时间,严重影响项目的性能。

好处:调试脚本可以用。

implicitly wait

隐式等待。本质:在脚本的开始设置一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则可能抛出异常。隐式等待对整个driver周期都起作用,在最开始设置一次就可以了,不要当作固定等待使用。

缺点:JavaScript一般都是放在我们的bodv的最后进行加载,实际这时页面的元素都已经加载完毕,我们却还在等待全部页面加载结束。

WebDriverWait

显式等待。本质:动态的等待,判断某一个元素是不是已经出现了,比如tte是

显式等待,本质:动态的等待,判断某一个元素是不是已经出现了,比如title是不是叫百度或百度搜索。根据动态的一些条件来轮询,它会不停的轮询去给我们检测,条件是成功还是失败,比如0.5s就检测一次这个元素在这个条件下是成功还是失败。同时设置轮询的超时时间。

6. Linux

1. 详细讲几个常用的Linux命令

ps:查看当前正在运行的进程

netstat:检查 Linux网络状态,比如查看开启的端口,为哪些用户提供服务,以及服务的状态 sed:文本编辑 cd:切换目录 mkdir:创建目录 mv:移动文件 rm:删除文件 rmdir:删除目录

pwd:获取当前所在地址

2.怎么查看实时更新的日志文件” />

技术面试题整理了个十来页的文档,有需要的留言,我发你,当前的就业局势能帮一个算一个