一. 携程ctrip --automation testing
1.实习项目介绍
ruby 如何定义变量,变量相加结果
cucumber 是什么用来干啥
watir 是什么用来干啥,watir 全称
用watir 实现两个有互联关系的下拉菜单遍历
数组长度如何计算
3.https,http 区别,协议
get/post 区别,tcp/ip协议
4.设计测试用例的方法
等价类划分,因果图,边界值,错误推测
携程订酒店,具体案例设计测试用例
5.研究生方向
6.为什么离职,可以转正吗
考虑BAT吗
未来的职业规划(近期,长期),选择的职位(自动化测试 or 测试开发)以及原因
二.易安信EMC-测试
1.一面:自我介绍英文,实习项目介绍(ruby,watir,cucumber 每个的角色是什么),具体如何设计测试用例;http API测试相关
C++三大特性并解释;手写代码:单例模式,矩阵环形赋值。
2.二面:英文文章英文单词统计出现次数(大小写,同一个单词的不同时态,数据结构hash-map)
手写代码:双向链表倒置,深度优先遍历,广度优先遍历
3.三面:测试用例的设计,如何保证测试用例覆盖率,功能测试与回归测试的区别
如何测试一个存储系统,如何判断一条记录是被删除了还是不存在
为什么选择做测试
三.上交所技术技术公司--测试开发
笔试题目:测试概念相关选择题,数据库,正则表达式(邮箱),冒泡排序,关于测试的三道问答题
1.实习经历介绍、研究生阶段项目介绍
2.测试完整流程
3.统计上海加油站的数量
4.项目开发经验,为什么选择测试;编程语言,C++三大特性详细介绍,JS掌握程度
5.职业规划
6.兴趣爱好
7.转正难度大,要求高,部门会争取
四. 网易邮箱--测试
一面
1.自我介绍,实习项目介绍
实习项目遇到最大的困难是什么,如何解决的, 测试用例哪些可以做自动化哪些不可以(举例子)
watir+ruby+cucumber 现在已经不再维护了?为什么用watir不用selenium,这个框架的优缺点是什么
API测试,web端测试的区别?为什么第二个项目选择API测试,而不选择web端测试
2.设计测试用例:登陆、注册
3.为什么选择做测试
二面
1.自我介绍,实习项目介绍
实习项目遇到最大的困难是什么,如何解决的
实习项目组全称是啥
2.简历上相关问题
数据库查询语句
研究生项目介绍
3.设计测试用例:登陆邮箱
4.为什么选择做测试,会Linux吗,选择前端测试,还是服务器端的测试
举一个例子,说明自己的主动性,学习能力强吗
5.倾向于哪个事业部,邮箱、严选、有钱
6.TCP,UDP 区别
三面HR
1.最近一年最有成就感的事情
2.遇到最困难的事情,如何解决的
3.家乡北方,为什么选择杭州
4.还投递了哪些公司,什么状态
5.与别人有意见不同,如何解决
五.商汤科技--测试
电话面试
1.介绍自己
2.实习项目介绍
网页端测试,具体测试用例的实现,ruby实现代码,对测试框架的思考?有哪里可以改进的
API接口测试,对Jenkins 的理解,如何部署?
设计测试用例:输入身份证图片,输出身份信息
3.测试的类型,一个测试用例需要包含哪些信息(*预期输出),如何设计好的测试用例(别人能看懂并使用)
4.你认为一个优秀的软件测试人员需要具备哪些素质
5.Bug管理工具(Rally),bug需要包含哪些信息
6.目前公司的测试类型:接口测试,底层SDK(产品),终端的测试(手机、ios、网页端)
7.职业规划
视频面试
一面:
1.自我介绍,图像处理介绍
2.数据库:insert,查询表属性
3.设计测试用例:两台主机通过命令传文件
4.C++: 抽象介绍;构造函数,析构函数什么时候调用、作用、是否可以重载
5.ruby jason 格式的文件,提取字符串
6.http协议,tcp协议;如何验证出错进行差错重传;http get 报文里有什么
7.linux.shell
8.认为自己的优势
二面:
1.写代码:输入多个字符串,判断是否是字母序或者长度递增
2.测试流程,测试方法,测试分类
3.网页端 输入年龄0-99,如何设计测试用例
4.http协议,get,post区别
5.黑盒测试方法,白盒测试方法有哪些
6.如何认定一个问题是bug
三面:
1.自我介绍
2.研究生阶段,研究方向,小论文创新点
3.实习阶段,项目介绍,团队介绍,主要职责,设计测试样例的流程,是否看过开发代码
4.Linux,前端编程熟不熟
5.手写代码:输入n个点,求两点间最大距离,时间复杂度,若有海量数据如何优化
六.滴滴--测试开发
电话面试
1.自我介绍:实习项目介绍,框架具体介绍;研究方向,项目介绍
2.百度搜索设计测试用例:搜索长度,SQL注入相关问题;
3.熟悉哪种语言;为什么选择杭州
4.数据库相关:左连接,右连接,全连接,举例子
5.实现函数代码:字符串反转,单例模式(C++相关)
6.智力题:50红球,50蓝球,两个袋子(容量充足),随机从袋子里取出一个球,如何存放使得取出红球的概率最大。
现场面试 一面
1.自我介绍
2.实习项目介绍:jenkins底层,github原理
3.领导给你一个新任务,一个月完成,如何规划
4.抗压能力,举个例子
现场二面
1.工作地点选择,实习项目介绍
2.linux熟不熟,操作系统逻辑地址与物理地址的转换,
3.C,C++,内存空间
4.指针数组,数组指针的区别
5.写代码,alarm(msg),从文件中读取数据,eg:300:15表示300s内只接受15次调用
视频三面:
1.自我介绍
2.实习项目介绍,遇到的难点,如何学习一门新的语言
3.实验室项目介绍,用途,创新点
4.c++内存分配,new,malloc区别与用法;数据库、linux、多线程
七.银联--软件测试
1.按照签到顺序群面
无领导小组讨论:读材料三分钟,自我介绍+陈述每人一分钟,小组讨论20分钟,总结陈述三分钟
2.技术面聊项目、实习
八.京东面试-测试开发
1.自我介绍
2.实习经历项目介绍,项目框架、找到了哪些bug
九.百度--开发测试
现场一面
现场二面
1.偏重计算机基础,死锁产生原因及解决方案、进程通信的方式、ARP/RARP区别、memcpy和strcpy区别、指针和引用的区别
2.编程;判断一个二叉树是否是平衡二叉树,两个字符串输出子串第一次出现的位置,如何判断两个单链表有交集
3.聊项目,注重项目管理,团队管理
4.会linux,python吗
十.思科--测试
共现场三面
1.英文自我介绍,英文翻译一段话;实习项目介绍;
2.网络基础知识,路由器、集线器、交换机,ping出错如何检查,
源MAC地址、目的MAC地址、源IP地址、目的IP地址,发一个包这些地址如何变化
3.写代码,数据结构
十一. 腾讯春招实习面试
一面挂
1. 针对简历
(1) C++基础,内存分配 三大特性并解释
(2) 数据库项目,数据库实现原理,树,红黑树
(3) 游戏部门 问玩游戏经历
2. 手写代码
求中数,用到 hashmap
3. 问题交流
软件测试职位工作内容,分为两个方向:面向技术,面向业务
十二. 360春招-软件开发
一面挂
1. 手写代码:反转单向链表,strcpy
十三. 百度--测试春招实习
三面技术
1. 代码:青蛙跳台阶,海量数据,单向链表倒数第k个节点,快速排序,两个有序数组求中位数
2. 如何测试一段代码
3. C++基础
4. 如何测试自动售货机
5. 实习经历,项目经历
面试答案整理:
1.watir: 全称Web Application Testing in Ruby, 使用ruby作为脚本语言进行开发,能够在IE浏览器上实现元素定位、操作等自动化任务。watir webdriver 支持多浏览器,watir只支持IE。
2.cucumber:一款卓越BDD工具,BDD即behavior-driven developmant 行为驱动开发.(拓展TDD:测试驱动开发)团队中业务人员和开发人员合作编写自动化测试—验收测试。
cucumber 是一个命令行工具。运行时从features 文件中读取,解析需要测试的场景(通过tag标签组织分类)。每个测试用例成为场景,每个场景包括多个步骤。步骤 定义即每个步骤中的ruby代码。依次执行场景中每一个步骤,打印运行结果。
参考
Cucumber入门之Gherkin:
http://blog.sina.com.cn/s/blog_6b59aaa701017s6l.html
3.邮箱的正则表达式:参考http://blog.csdn.net/make164492212/article/details/51656638
4.功能测试:关注产品功能,又称为黑盒测试,方法有等价类划分、边界值分析、错误推测、因果图和 综合策略
性能测试:关注产品整体的多用户并发下的稳定性和健壮性,方法有负载测试、压力测试、强度测试
界面测试:关注用户体验
5.根据测试阶段划分:
单元测试:白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测 试手段有:语句覆盖、 判定覆盖、
条件覆盖、路径覆盖、条件组合覆盖
集成测试: 界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方 式来测试,既验证“设计”,又验证“需求”。
主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
系统测试: 一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试
验收测试: 与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
附录:单元测试用用于验证编码单元的正确性
集成测试用于验证详细设计
系统测试用于验证概要设计
验收测试用于验证正确实现了需求
6.计算机网络层次:http://blog.csdn.net/gavin_john/article/details/53186570
7.接口测试总结:参考http://blog.csdn.net/jiary5201314/article/details/51429347
接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管 理过程,以及系统间的相互逻辑依赖关系等。
8.bug--UI_QA testing problem:
(1).In discussion,comment section:comment total is correct, but we can not see comment text which we committed previously
Namely when we update page,we can not see any comment text.
(2).comment section:when we click comment sort button,comment text disappeared.
(3).can not login Jabber Account: Internal Server Error. Unable to connect to Jabber Server
(4).H5player: video can not play, error message:File not found.The requested file could not be found.
(5).In profile detail page: linkedIn Sync button have no response
(6).Reporting: can not be loaded
(7).Reporting:when we turn to reporting detail page,the page header don't turn to reporting,remain header at last time
9.bug--postman
(1)在注册时间两年内可以登录,两年之后不能登录->bug:未限制登录时间,在startDate 与endDate之间
10.socket套接字建立过程:
(1)参考链接http://blog.csdn.net/liuzehn/article/details/50563123?locationNum=10
套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。
接下来介绍每个步骤的详细过程:
1.服务器监听:是服务器端套接字并不指定具体的客户端套接字,而是一直处于等待连接的状态,实时监控网络状态。2.客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
3.连接确认:是指当服务器端套接字监听到或者接收到客户端套接字的连接请求,它就响应该请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认此描述,连接就建立好了。注意:此时,服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
(2)程序编写步骤:http://blog.csdn.net/zhubo22/article/details/8045537
服务器端程序的编写步骤:
第一步:调用socket()函数创建一个用于通信的套接字。
第二步:给已经创建的套接字绑定一个端口号,这一般通过设置网络套接口地址和调用bind()函数来实现。
第三步:调用listen()函数使套接字成为一个监听套接字。
第四步:调用accept()函数来接受客户端的连接,这是就可以和客户端通信了。
第五步:处理客户端的连接请求。
第六步:终止连接。
客户端程序编写步骤:、
第一步:调用socket()函数创建一个用于通信的套接字。
第二步:通过设置套接字地址结构,说明客户端与之通信的服务器的IP地址和端口号。
第三步:调用connect()函数来建立与服务器的连接。
第四步:调用读写函数发送或者接收数据。
第五步:终止连接。
11.字节对齐:
字对齐:
1、某个变量存放的起始位置相对于结构的起始位置的偏移量是该变量字节数的整数倍;
2、结构所占用的总字节数是结构种字节数最长的变量的字节数的整数倍。
12.网络
不涉及网络地址转换之类的话,源IP和目的IP不能变,变了就不知道去哪了,也没法知道返回给谁。
至于MAC地址是变的,但是还要看下一跳的数据链路层协议是什么,是否用MAC地址,若是Ethernet这种用MAC的,那么源MAC改成路由自己的,目的MAC改成下一跳的。
13. 数据库语句
(1) insert into tab_name values();
(2) delete from tab_name where age<22 and sex='male'
delete tab_name
(3) select avg(age) from tab_name group by sex 按性别分组查询所有分组的平均年龄
select top 25 percent * from tab_name 查询所有信息,列出前百分之25
select name,sex from tab_name order by age desc 查询出所有学生的姓名性别,按年龄降序(asc 增序)
14. 测试天天P图
参考链接:http://blog.csdn.net/tencent_bugly/article/details/51463705(1)自拍相机设备兼容性crash风险
(2)美化照片功能,算法库-》算法类crash
(3)图像处理类软件,内存使用效率问题以及释放时机是否高效
15. 测试岗位的HR面试的几个问题是:
参考链接 http://blog.csdn.net/gettogetto/article/details/59093534
主要是想听听你对于测试岗位的认识和自己的看法.回答的时候可以重点讲讲测试的意义,对于质量保证的作用等等.
2. 你认为优秀的测试工程师应该具备哪些条件?
耐心,分析解决问题的能力,沟通交流的能力,梳理总结的能力等等
3. 你认为测试和开发的关系是什么样的?
测试和开发不是对立的,是相辅相成的,互相促进的关系.测试和开发的最终目标是一样的,都是为了给用户提供优质的产品和服务
4. 对自己今后的职业规划?
。。。。自由发挥吧! ^_^
3.// 找到元素
Select select = new Select(driver.findElement(By.id("proAddItem_kind")));
// 选择对应的选择项, index 从0开始的
select.selectByIndex(2);
select.selectByValue("18");
select.selectByVisibleText("种类AA");
// 获取所有的选项
List
for (WebElement webElement : options) {
System.out.println(webElement.getText());
}