年后求职高峰期,企业高频面试题和答案都帮你准备好啦..

Posted 测试萌萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了年后求职高峰期,企业高频面试题和答案都帮你准备好啦..相关的知识,希望对你有一定的参考价值。

01 你简单回答下cookie和 session 的区别吧

❶ 思路

1.了解什么是cookie和session

2.掌握cookie和session的区别和联系

❷ 面试命中率

  90%

❸ 参考答案

cookie数据存放在客户端的,session数据放在服务端的

除此之外,他们还有下面几点区别

  • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储于服务端,没有存储数据量的限制,可以保存更为复杂的数据类型。

最后,二者的生命周期也是有明显区别的(我们以20分钟为例)

cookie的生命周期是累计的

从创建时,就开始计时,20分钟后,cookie生命周期结束

session的生命周期是间隔的

从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁,但是,如果在20分钟内(如在第19分钟时)访问过session,那么,将重新计算session的生命周期

02 你了解HTTP协议,那你说一下GET和POST有什么区别?

❶ 考察点

1.是否了解http协议的常见请求方法

❷ 面试命中率

  95%

❸ 参考答案

最常见的http协议的请求方式是GET和POST,他们之间的区别如下:

  • get请求的参数是放在url里,post请求参数是在请求体里

  • get请求可以被浏览器缓存,post请求不能被缓存

  • get请求参数放在url里,url的长度是受限的,最大为2048个字符。而post的长度没有限制

  • get请求参数放在url里,安全性比较差;post请求参数放在body中,安全性相对较好

  • get请求可以直接通过浏览器访问,支持刷新和后退。post请求不能直接使用浏览器访问,刷新后数据要重新发送。

03 持续集成的目的是什么

❶ 参考点

是否了解持续集成

❷ 面试命中率

  85%

❸ 参考答案

持续集成指的是,频繁地(一天多次)将代码集成到主干。

它的好处主要有两个:

  • 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易

  • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能集成。

04 你会如何测试纸杯?

❶ 参考点

考虑问题的全面性

对不同测试点的了解

❷ 面试命中率

  80%

❸ 参考答案

功能度:

  • 纸杯容量(空杯、满杯升数、半杯升数);

  • 水能不能被喝到;

  • 纸杯形状(正圆柱、上宽下窄圆柱、上窄下宽圆柱、其他形状)、

  • 纸杯材质(全纸质、全塑料、半纸半塑料)、

  • 纸杯耐温程度(冷水、热水、冷水、冰)、

  • 支持盛放液体名称(水、咖啡、牛奶、可乐)

安全性:

  • 杯子有没有毒或细菌、

  • 装液体多久有化学反应(例如:异味)

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用、装液体多久漏水、装热水多久变形、装多少度热水变形

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:

  • 将杯子盛上水放24小时检查泄漏时间和情况;

  • 盛上汽油放24小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透;手挤压多久变形(单手、双手)

05 一个身份证号码输入框,怎么设计用例?

❶ 参考点

考察测试用例知识点

❷ 面试命中率

  90%

❸ 参考答案

  • 校验身份证号规则的有效性(包括地址码、生日期码、顺序码和校验码)

  • 校验15位身份证号和18位身份正好都是可用的

  • 校验末位是X的情况

  • 校验不足15位、16-17位和大于18位的情况,如果是必输项,校验不输入的时候会不会有正确的提示,如果不是必输项,则要校验不输入的时候流程能否正常进行

  • 校验输入非数字的情况,是否会有正确提示信息(包括大小写字母、汉字、特殊字符和标点符号)

  • 校验输入全角的数字的时候,系统是否会识别(这个得根据需求确定是否可以使用全角的数字)

06 什么是回归测试,如何做回归测试?

❶ 参考点

是否做过回归测试

❷ 面试命中率

  85%

❸ 参考答案

回归测试,即就是在软件生命周期中,只要软件发生了改变,就可能给该软件产产生问题;所以,每当软件发生变化时我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否破坏原有的正常功能。

回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试

那我们改如何做回归测试呢?总结为以下几点

  • 在测试策略制定阶段,制定回归测试策略

  • 确定需要回归测试的版本

  • 回归测试版本发布,按照回归测试策略执行回归测试

  • 回归测试通过,关闭缺陷跟踪单(问题单)

  • 回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试

07 小明在刷抖音时发了一个评论,但是APP界面没显示出来,如何排查这个问题?

❶ 参考点

APP测试点

❷ 面试命中率

  90%

❸ 参考答案

  • 检查客户端网络是否有问题,可以查看其他APP能否正常使用

  • 检查是否为版本问题,可以换个操作系统(安卓、ios),或者换个其他软件版本试试

  • 检查是否为兼容性问题,可以换个手机试试

  • 抓包分析,如果APP没有向服务器发送请求,或者请求参数对不对,就是APP的问题;如果服务端响应数据不对,就是服务端的问题

08 给你一个网站,如何开展测试?

❶ 参考点

测试流程的思路

❷ 面试命中率

  95%

❸ 参考答案

  1. 查找需求说明、网站设计等相关文档,分析测试需求。

  2. 制定测试计划,确定测试范围和测试策略。

  3. 设计测试用例,包括功能、兼容、性能、安全等方面

  4. 开展测试执行

  5. 回归测试及测试总结

09 你们公司是怎么做app兼容性测试的?公司的测试机少怎么办?

❶ 参考点

对兼容性测试的掌握程度

❷ 面试命中率

 85%

❸ 参考答案

  • 主要还是通过手工去测试已有的机器。

  • 有时可能会有测试机不够的情况,用自己的新手机或者跟公司的同事借一下,以及交叉测试。

  • 个别用户会反馈在哪些机型上出现一些崩溃,有时哪些机型确实要去测试一下。

  • 录制自动化脚本,夜间执行自动化测试用例

  • 部分机型通过云测平台(testIn、weTest)的云真机测试,付费居多。

  • 使用模拟器测试可能会出问题,经常出现模拟器没有问题而真机有问题,所以尽可能拿真机覆盖。

10 APP做过哪些专项测试?

❶ 参考点

app专项测试

❷ 面试命中率

  95%

❸ 参考答案

  • APP冷/热启动测试

  • APP权限测试(设备权限、app权限设置)

  • APP安装/卸载/(弱、强)升级

  • APP消息推送(APP、短信、微信、QQ)

  • APP前端性能(耗电量、顺滑度、耗流量)

  • APP弱网

  • APP稳定性测试

11 在实际工作中,是不是要Bug全部修复完才能达到上线呢?如果上线时间很紧急,还有没修复完的Bug怎么办?

❶ 参考点

应急情况的处理

bug的解决方式

❷ 面试命中率

  95%

❸ 参考答案

  • 一般来说,如果有等级1级、2级的Bug,是不允许上线的

  • 如果有3级Bug、4级Bug的话,可以让产品(或项目经理)进行定夺。

  • 如果影响范围不大时间又比较急的话,带着不严重的Bug上线也是可以接受的,但是一定要在测试报告中注明该遗留BUG,并说明修复排期。

12 介绍下你最近做过的一个项目?

❶ 思路

结合自己的项目回答

❷  面试命中率

  80%

❸ 参考答案

从以下几个方面来回答:

  • 项目名称

  • 项目平台(终端):app/web/pad

  • 主要业务:针对****(用户群体,例如青少年群体、上班族)提供**、**、**等功能的软件

  • 主要模块:

  • 我负责**、**、**模块的测试,包括功能、接口、兼容性、界面(app专项)

  • 项目的主流程:例如冒烟测试用例

  • 系统架构

  • 优势亮点:技术亮点(技术在***项目的应用,例如,使用Fiddler断点、mock),管理亮点(例如,协调把控项目进度,分配测试任务,文档质量评审),其他亮点(例如,沟通能力、工作态度、多角度换位思考)

13 App发布上线测试人员都具体做什么

❶ 参考点

APP测试

❷ 面试命中率

  90%

❸ 参考答案

1,首先对ios、android生产环境(有些公司有UAT环境)打包验证新功能,包括老功能是否受到影响

2,验收测试通过的生产包渠道审核:IOS提交AppStore,Android打包提交各大应用商店,如小米商店,华为商店,应用宝等;安卓会审核得比较快,IOS一般一到三天

3,通过主要渠道下载线上包,协助产品进行验收测试

4,收集用户的反馈信息,跟进线上BUG、埋点数据

14 InnoDB索引和MyISAM索引的区别,索引的优缺点?

❶ 参考点

对索引的了解

❷ 面试命中率

 80%

❸ 参考答案

1)存储结构(主索引/辅助索引)

  • InnoDB的数据文件本身就是主索引文件。而MyISAM的主索引和数据是分开的。

  • InnoDB的辅助索引data域存储相应记录主键的值而不是地址。而MyISAM的辅助索引和主索引没有多大区别

  • innoDB是聚簇索引,数据挂在逐渐索引之下。

2)锁:

  • MyISAM使用的是表锁;

  • InnoDB使用行锁

3)事务:

  • MyISAM没有事务支持和MVCC;

  • InnoDB支持事务和MVCC

4)全文索引:

  • MyISAM支持FULLTEXT类型的全文索引;

  • InnoDB不支持FULLTEXT类型的全文索引,但是InnoDB可以使用sphinx插件支持全文索引,并且效果更好

5)主键:

  • MyISAM允许没有任何索引和主键的表存在,索引都是保存行的地址;

  • InnoDB如果没有设定主键或非空唯一索引,就会自动生成一个6字节的主键,数据是主索引的一部分,附加索引保存的是主索引的值

6)外键:

  • MyISAM不支持

  • InnoDB支持

15 工作中的哪些方面会使用到数据库?如何使用?

❶ 参考点

对数据库知识的了解

❷ 面试命中率

  90%

❸ 参考答案

  • 查询数据(查看数据的准确性)比如卡里有1000元,商品300元。下单购买成功,提示扣费成功。查看数据库库存是否从300(原库存)变为299,查看卡里的钱是否变为700。

  • 造数据(方便测试)比如参加领券活动,一个用户只能领一次。如果准备多个手机号测试会很麻烦。用券有一个属性字段,如果参加过了就设置字段为0,没参加过就设置字段为1。测试1次,字段由1变为0。下次再测试,可以将字段改为1来继续测试。

  • 初始化、备份还原数据

以上是关于年后求职高峰期,企业高频面试题和答案都帮你准备好啦..的主要内容,如果未能解决你的问题,请参考以下文章

求职面试中的高频 Java 问题

又到了求职高峰期 Java程序员面试宝典 快快收藏

二叉树高频面试题和答案

6年测试开发经验面试28K公司后,整理出这套高频面试题和答案

6年测试开发经验面试28K公司后,整理出这套高频面试题和答案

2020年腾讯C++面试题和答案持续更新中-内附视频