别人的面试经历 软件测试工程师
http://www.cnblogs.com/lesleysbw/p/6495073.html
深信服(过):
1. 你有用过性能测试吗?——如何用linux产看情况,kill -9 -11的区别
kill -9 强制删除,偶尔也有删除不了的时候
kill -11 和内存相关的删除
2. 设计测试用例时,考虑异常测试或关联性测试吗?
自身关联性,接口和接口之间的关联性
发短信后进行短信验证
3. 你所说的测试覆盖率指什么?有总结测试覆盖率报告吗? Jcoco
4. Update语句
5. TCP协议
当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方"握手"之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。
a-b:
a send messge, b didnt get, communicate fail
a send messge, b misunderstand, communicate fail
a send messge, b get but didnt reponse, communicate fail
a send messge, b get and reponse, communicate estabile
三次握手,四次分手
6. selenium的元素定位方式?有用过xpath吗?
7. 如何写测试计划——作为组长
美团(过):
一面/二面
1. 为什么要用Python写selenium?
2. 如果测试有两个页面,B页面的页面类开发可以在A页面之前吗?
3. Python 装饰器
4. 易联众项目:数据库的设计;有考虑扩展性设计吗?——二面
5. 你有做过安全测试吗?
三面:
1. 讲解你所了解的测试知识
2. Selenium的原理
3. Python语言的特点
4. 讲解一下框架里面的data层
5. java中引用和值传递
6. java中set和list
7. 自动化测试的优缺点
8. 遇到的最大困难
滴滴(过)
一面:
一、测试相关
1. 自己负责哪部分功能?
2. 在使用Selenium中遇到的最大的问题?如何解决?
3. 有无发现selenium的BUG
4. 与人工测试相比,Selenium测试的产出,相对的优势?
5. UI层自动化测试的作用?发现什么BUG?
6. JUnit如何实现,它的功能是什么?什么时候使用?
二、Jmeter
1. Jmeter如何发压?
2. 如果我要增加并发量为1000怎么操作?
3. 如果每一个请求都不同,如何设置?
4. 如果sessionID不同,如何设置?
三、Python
1. Python的数据结构
2. list和tuple的区别
3. list中有哪些操作?append和extend的区别?
4. list和dict的却别?dict是有序的吗?
5. 如果a = dict, b =a 其中dict发生了改变,b会改变吗?这是一个浅拷贝还是深拷贝?这是引用吗?
如果把dict换成list呢?
6. 你用用过多线程吗?多线程的作用是什么?
7. 如何实现Singleton?这个Singleton中有什么变量?
8. 静态方法、类方法是什么?类的成员方法能访问实例变量吗?能访问类的变量吗?能访问静态类方法吗?
四、网络
1. 分层结构
2. TCP/IP在哪个层?
3. TCP和UDP的区别,和应用场景
4. TCP三次握手的过程,为什么不是两次握手或者是四次握手?
5. HTTP请求在哪一层?有哪些操作?
6. Get和POST两个操作的区别?GET请求可以提交吗?(URL中包含用户名和密码,那它可以提交吗)?
7. 有配置过服务器吗?你们用的是什么类型的服务器?一个请求访问首页的URL,到达服务器后具体的操作?如何调用本地的方法的?
五、数据库
1. 删除一个表
2. 如何查数据库的连接数?
六、算法
1. 知道哪些排序?
2. 介绍一下快排?它的时间复杂度?
七、Linux
1. 常用的命令
2. 如何替换一个文件中的字符串
3. 你有用Linux安装软件吗
4. 如何找到一个指定的进程
今日头条:
一、笔试
1. 一个矩形由m * n 个单元格组成,每个单元格的值为整形表示地势的高低。从矩形中任意放下一个小球,小球会由高到低在相邻的单元格中进行滚动。地势值相同时,小球可以任意滚动不停止。请用你最熟悉的程序语言帮助我判断在任意位置放入小球时,小球能滚到矩形的边界。
2. 一个学生对象有两个属性分别是:name(String)和score(Int)。现在需要按照学生的score来排序,score越大越靠前。如果score相同时,按照name的字母顺序排序。要求:方法接口自己设计;最好能有单元测试。
二、一面
1. 自我介绍
2. 讲一下算法的思路
3. 第一题有漏洞的地方
4. Selenium原理
5. 假设对订餐平台,怎么安排测试工作的,小组有几个人
6. Python有哪些数据结构
7. list和set区别
8. 如果给一个数组A=[1, 3, 5 ,7],数组B=[1, 4, 5, 7, 9]
对他们合并去重如何实现?可以结合set实现吗?
三、二面
1. 介绍项目中你做了什么?Jenkins怎么实现的?
2. 使用的单元测试框架指的是什么
3. 为什么选择Selenium,而不是集成度更高的QTP?
4. 项目中的测试覆盖率指的是什么?
5. 你的职业规划/实习的目标/时间/选择公司的考虑、公司的方向、地点
腾讯:
一、笔试
一个整型数组,从中找出其中两个数的差值为一指定值,输出两个数在数组的位置,假设该解有且只有一个
先讲一下思路。——方法一:排序+遍历
有没有改进的?——方法二:HashMap
另外,问会不会C++,表示还有一道链表的题目就不问我了。
二、一面
1. 有玩过什么游戏?
2. 自我介绍
3. 算法设计、项目(易联众——详细介绍、担任的什么职务)
4. 自动化测试框架是二次开发还是用现成的?实现了什么功能?
5. 增加断言,断言在语言层面上怎样的实现方式?本质上做了什么事?(不是应用层的)
为什么要用断言,不用一个判断?
做了什么事,就是如果断言失败了会做什么?你的框架会捕捉这个异常吗?
6. PO模式的优点/如果不用PO模式的话?
7. 这个框架是多个页面去跑?有没有性能问题?
8. 误报是什么?
9. 在加入了轮询后,是单线程吗?轮询的方式是在主线程中执行吗?
10. 递归是怎样的实现方式?——函数调用的时候从os做了什么?
11. 进程间通信的方法?
12. 共享内存为什么是最快的?
13. 多个进程可以出现什么问题?怎么解决以上的问题
14. 树——map怎么实现?hashmap和map有什么区别——基础知识
hashmap查找一个元素的时间复杂度
三、二面
1. 项目打包问题
2. 如何保证鲁棒性。例如:脚本挂了以后如何恢复到原来的场景
3. 信用评分模型的改进