对于一个程序员而言,能去到一线互联网公司,会给我们以后的发展带来很大的影响。很多人想说,这个我也知道,但是进大厂实在是太难了,简历投出去基本石沉大海,更不要说面试邀约了。简历是一方面,最重要的还是要自己面试能过关。
公司前段时间缺人,面了不少测试工程师,但结果没有一个合适的。一开始瞄准的就是中级水平,也没指望来大牛,薪资提供在10-20K,来面试的人很多,但平均水平很让人失望。
直到一位令我印象很深刻的面试了个有3年经验的程序员,年级不大,问他薪资标准,他一张口就是要20k,确实,测试基础部分是能答的很顺溜,对于自动化测试,测试开发方面的知识也是不在话下,让在场的面试官都惊讶无比,果然有技术的人,在哪里都发光!
三轮技术面+一轮hr面试问题:
一面:
- 什么是软件测试?
- 软件测试过程中会面向哪些群体?
- 开发一个软件都要经过哪些阶段?
- 什么是黑盒测试?什么是白盒测试?
- 一个测试工程师应具备哪些素质?
- 什么是C/S ,什么是B/S ?
- 什么是后台?
- 与工程师出现冲突,如何解决?例如:工程师因项目时间冲突导致有多- 个bug要解决,此时如工程师正确的沟通?
- 输入三个整数,判断三个整数能否构成一 个三角形,请设计出相应的测试用例。
二面:
- 你所了解的黑盒测试方法有哪些?并简单介绍下其应用场景?
- 简述常用的bug管理或者用例管理工具,并且描述其中的一一个工作流程?
- 什么是正交实验法,使用场景是什么?
- 请简单描述测试工具loadrunner、selenium、 QTP的产品用途,并介-绍你在项目中实际用到的功能模块?
- 简述selenium grid的作用?
- 高质量的自动化脚本应该具备哪些特性?
- 编写测试计划文档的目的是什么?测试计划文档的内容主要包括哪些?并简单介绍其作用?8.项目某-轮系统测试完成后,达到系统测试结束的参考指标或规则通常有哪些?
- Unix/Linux查看所有属于java进程的命令是?并将其批处理杀掉?
三面:
- Linux/unix查看内存的命令是什么?查看某文件末尾五行的命令是什么?
- java中sleep(和wait0的区别?抽象类和接口的主要区别是?
- QTP中的RO和TO的区别?谈谈你生成某业务功能模块的QTP脚本具体操作步骤?
- 关于selenium中,查找某个页面元素的常见方法有哪几种?对于窗体和页面框架: frame切换用什么方法?
- RobotFramework框架中设置变量有几种方式?
- RobotFramework框架中调用各种cmd命令,用什么关键字?写出你常用的测试工具有哪些?
- 介绍下你所经历的开发-测试代码上线的整个相关流程?并简单描述下此流程
HR面
- 你自认为做测试的优势在哪里?
- 找工作时,最重要的考虑因素为何?
- 软件测试工程师应具备哪些素质和技能?
- 如果我雇用你,你能给部门带来什么贡献?
- 五年内的个人目标和职业目标分别是什么?
- 在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?还有什么想问的吗?
面试小细节
1、行程耽误
如果存在因为一些事情耽搁,导致时间有延期,应该及时的跟安排你过去面试的人沟通。毕竟,在实际面试过程中,会遇到很多客观的原因,例如堵车等等 个人的小建议,提前跟HR打招呼说,可能会晚一点到达。实际上,有些公司,可能需要到客户那边提供一些技术支持,实际上,面试的时间点,HR跟面试官都是有协商的,所以,可能会导致失去一次面试机会。
2、简历的重要性
简历实际上就是我们第一个敲门砖,大家要知道HR是不懂技术的,一般都是项目组这边会提出要求,招聘的人选应该具备什么技能。HR再在海量的简历中,找出符合要求的简历,这就要求,我们在简历上得下点功夫,有点耐心,把他当成你女朋友对待。 好的简历,能让面试官很快能get你的点。了解你掌握哪些技能,以及在之前的项目中内,担任什么样的角色。注意,划重点,不要过度的包装简历,面试过程中,会遇到一些,为了表现自己的面试者,实际上,在这个项目中,可能担任的是组员的角色,美名其曰的,就把这个项目写成个人独立完成。
面试中注意事项
1、自我介绍
简历中有的信息就别重复闲扯啦,简单的由近到远介绍公司经历,然后介绍项目,突出项目中用到的技术点,你的职责,你的业绩,引导面试官去提问你熟练掌握的技能。
2、不要给自己挖坑
不要在面试中扯出一些你不熟悉的技能,面试官听到后都会跟着追问你。
3、减少沉默的尴尬
了解问题后,快速想思路,想不到就换种方式回答,或者回答一个类似技能点的答案。 不然一直没想出来,沉默了半天,不仅会造成气氛尴尬,还会增加你的紧张,后边脑子就更不好使啦。
4、分析面试官话语中想表达的想法
经常 “嗯嗯, 可以。” – 鉴定安全 短暂沉默,对你的回答不做评价。– 没戏了
大厂软件测试岗经验分享
通过面试总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:
- 测试基础
- Linux必备知识
- Shell脚本
- 互联网程序原理
- MySQL数据库
- 抓包工具
- 接口测试工具
- Web自动化测试Java&Python
- 接口与移动端自动化
- 敏捷测试&TestOps构建
- 性能测试&安全测试
测试理论:
软件测试的目标
发现尽可能多的错误,测试是一个为了寻找错误而运行程序的过程。
一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件都有多少种分类?
根据功能的不同,电脑软件可以粗略地分成四个层次:
- 最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
- 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
- 支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
- 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。
Linux 基础
在 Linux 系统中,一个文件的访问权限是 755
755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。
如何查看一个文件的末尾 50 行?
查看/etc/profile 的前 10 行内容,应该是: # head -n 10 /etc/profile
查看/etc/profile 的最后 50 行内容,应该是: # tail -n 50 /etc/profile
MySQL 基础
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
什么是关系型数据库,主键,外键,索引分别是什么?
关系型数据库是由多张能互相联接的二维行列表格组成的数据库
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单
Web 测试
nginx,tomcat,apache 都是什么?
Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。
Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。
接口测试
什么是接口
接口是指外部系统与系统之间以及内部各子系统之间的交互点。
包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
如果模块请求 http 改为了 https ,测试方案应该如何制定,修改?
分别用 http 还有 https 登录试试。如果用 https 可以正常登录,地址栏显示一把锁头,那么这个网站是有部署 SSL 的。如果 http 和 https 都能够正常登录,进一步说明该网站没有设置强制 https 登录,或者说没有设置 http 链接自动跳转 https 链接;相反如果用 http 登录,结果跳转到 https 页面,说明网站部署了 SSL, 而且设置了 http 自动跳转 https。
App 测试
什么是 Android 四大组件?
Android 的四大组件包括:Activity、Service、BroadcasReceiver、ContentProvider
文章有限,只展现了部分内容,完整版面试题可以在公众号:豆子熊,免费获取。
还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
事必有法,然后有成, 最后祝大家早日拿到满意的offer ~
|