三月份跳槽了,历经字节测开岗4轮面试,不出意外,被刷了...
Posted 测试大大怪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三月份跳槽了,历经字节测开岗4轮面试,不出意外,被刷了...相关的知识,希望对你有一定的参考价值。
大多数情况下,测试员的个人技能成长速度,远远大于公司规模或业务的成长速度。所以,跳槽成为了这个行业里最常见的一个词汇。
前几天,我看到有朋友留言说,他在面试字节的测试开发工程师的时候,灵魂拷问三小时,不幸挂掉了。
越想越可惜,回想面试经过,好好总结了几个点,发现面试没过的主要原因是在几个关键的问题没有给到面试官想要的答案。从而失去了这次宝贵的机会。
有这样几个问题令他印象深刻,给我留言到:
- 根据你的工作经历,说说你对质量保证的理解?
- 非关系型数据库和关系型数据库的区别,谈谈他们的优势?
- 在自动化方面有什么成熟的方案,有没有做过二次开发?
- 质量部如果需要定制化一个质量体系平台,你会考虑哪些问题?
测试行业说到底也是技术岗位,技术不断的更新,企业要求越来越高,更需要我们提升自己业务能力,不断掌握新的技能。当我们有更好的工作机会时,比如字节,怎么去做好准备 ?
下面我将从以下几个方面来分享一下面试前的准备。
1、给自己定位
首先要给自己定位,自己现在是一个什么阶段,是初级岗,中高级,高级,还是专家级。一般情况下刚参加工作一年左右时初级,两年左右努力提升自己的话是中级,三到五年高级甚至专家级。前提是不停的钻研。
2、知识的梳理
因为把自己定位为自动化测试工程师,俗话说:面试修航母,工作螺丝钉。面试考虑各个方面,对于测试来说,主要有以下几个方面来准备:接口自动化测试、搭建测试框架、web自动化、APP自动化。当然知识梳理完毕之后,还要去阅读一些面试经,看看最新各个厂商问的问题。其实以上这些东西准备完,基础好的话,一个月左右,基础不好的话至少要3个月吧。
俗话说不打无准备之仗,只有准备好了才能在面试过程中取得好的结果。
3、简历的准备
简历是一个敲门砖,HR每天会有很多简历收到。简历如何让人眼前一亮,并且能一眼抓住关键信息:个人基本信息(姓名,电话,邮箱,毕业院校等),工作经历,技能点,一些亮点(比如六级证书,获奖等)。简历要简洁,层次分明。写完简历要在招聘网站上更新一下自己的简历。
4、面试机会的各个渠道
(1)朋友内推:在圈内首先要认识一些好友,各个厂商的员工,可以通过脉脉加好友,也可以通过技术交流加好友,了解好友的动态,让他们帮忙推荐。当然找内推也有两种方式。第一种是让朋友推荐岗位,让他帮忙问问组内是否缺人。第二种通过自己去找,一般情况下公司招聘会在官网上显示加入我们链接,这里可以看到岗位信息。推荐第二种,你自己找到岗位,发给朋友,让他直接帮忙推荐这个岗位。推荐一般会有奖金的。
(2)猎头帮忙:最近听了一个课程“如何有效的提升职场竞争力”,我觉得老师讲的一句话特别好,不要排斥猎头,把猎头当做你的合作伙伴。猎头比你更了解推荐的公司,以及当前的行情。找猎头的方式也有很多,第一个是问问你的朋友有没有合作过的靠谱猎头,第二是像智联招聘,猎聘,boss直聘上有很多的猎头。你更新简历之后,会有猎头给你联系。
(3)招聘网站:互联网招聘就是在拉钩,boss,智联上了。简历更新到网站上,然后就可以投递了,这里要看到简历投递是否有效果,如果半天没有人查看你的简历,那么说明你的简历有问题,及时的修改再投递。
5、技能储备
自动化/性能/安全(必须会编程)——中高级测试工程师
具备测试能力和代码能力,提高测试效率和软件质量。
下面是自动化测试的一个例子。
- 选择一门编程语言学习:java、python、ruby等。
- 了解自动化测试,自动化测试工具,web/app/ interface /pc自动化基础。
- 框架思路、项目实践和流程。
在功能测试岗位工作几年后,我会开始感到焦虑。
在工作中,我感受到了成长的局限。除了越来越熟悉的业务,工作也是一点一点的,其他方面都没有长进。
想换工作,想涨工资,但是又觉得很失落,很无力,因为全身的价值都在这里。
想在工作过程中提升自己,朝着高薪自动化测试、性能测试、安全测试等方向迈进。
当然,自动化测试工具也可以自动化,但是有好有坏。
测试开发/性能、安全测试专家(必须能够编程)——高级测试工程师
测试开发,具备测试能力和代码能力,提高测试效率和软件质量。开发和测试都可以。
需要很强的开发能力,深入代码层。一般不直接参与测试工作。
- 测试框架和测试工具的二次开发更好的满足了公司产品的测试需求。
- 进行单元测试或协助开发和进行单元测试,从开发阶段开始控制产品代码质量。在后续迭代过程中快速挖掘问题。
- 开发测试工具和平台,提高测试效率,简化各种测试,为测试团队量化测试结果。比如性能测试平台、接口测试平台。
测试主管、经理和主管-职业发展和晋升阶段
需要很强的测试和编程技能以及足够的管理和沟通技能。如果你只有足够的测试能力,就没法hold住开发团队。
你需要在面试结束之后让自己清晰的了解以下几个问题:
- 这家公司主推什么产品,你是否有兴趣,毕竟有兴趣才会愿意更深入的了解;
- 这家公司目前有多少测试,分别是负责做什么的,目前整体测试的深度如何;
- 你进入这家公司具体是做什么测试,是功能测试,还是压力测试,还是全能;
- 企业管理层对于测试人员的职业规划以及将来的发展是怎么考虑的。
对于上述这4点,你可能会说,面试的时候,有些企业不愿意告诉你这些问题的答案。没错,我也遇见过这种公司。
但反过来问问自己,如果在面试的时候企业都不能回答你这些问题,这样的公司你敢去吗?你真的愿意去吗?难道只是为了眼前的那些薪资?希望大家好好思考一下。
字节面试题解析
1.根据你的工作经历,说说你对质量保证的理解?
这是个综合性基础知识问题,考验你在测试行业工作几年后的心得,是否有测试思维,明确自己的定位。可以谈谈你认为如何做好测试?如何衡量质量?你又如何专注软件质量提升,帮助团队快速迭代高质量交付
2.非关系型数据库和关系型数据库的区别,谈谈他们的优势?
数据库在测试工作中的重要性相信我就不用在这赘述了,需要你对常见的关系型数据库和非关系型数据库的原理理解,而且总结出它们之前的区别
3.在自动化方面有什么成熟的方案,有没有做过二次开发?
测试工程师离不开一个关键字,“自动化”,在任何类型的项目或多或少会用到自动化测试技术。关于前后端自动化技术,是否有一套完整的测试框架,技术体系。在开源自动化测试框架的理解上,有一定的开发思维,能进行封装,开源框架上二次开发。能根据项目灵活打造适合团队的测试框架,是测试工程师的能力分水岭
4.质量部如果需要定制化一个质量体系平台,你会考虑哪些问题?
说实话,面试官这么问测试平台的问题,你可能就扛不住了。干过测试开发的应该都知道,测试平台的构造,除了技术难点。你要考虑如何去推进这个工作?测试平台研发出来后,在整个测试部门推广运营这个平台是大难题。在功能测试人员的角度来想,去使用不成熟的测试平台来测试,如果加大你的工作量,对你自身工作和技术没有什么太大价值,一般都不是非常积极的去配合,测试平台如何推广运营是个难题。你要让所有人亲身感受到用与不用这个测试平台有什么区别。
最后给大家分享一份跳槽面试攻略,希望能给你带来帮助
第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)
第二部分,Linux( Linux基础+Linux练习题)
第三部分,MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)
第四部分,Web测试
第五部分,API测试
第六部分,App测试
第七部分,管理工具
第八部分,Python基础(Python基础+编程题+集合+函数+Python特性等等)
第九部分,Selenium相关
第十部分,性能测试
第十一部分,LordRunner相关
第十二部分,计算机网络
第十三部分,组成原理
第十四部分,数据结构与算法
第十五部分,逻辑题
第十六部分,人力资源
软件测试基础
软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
测试设计的问题
当测试过程发生错误时,有哪几种解决办法?
测试执行的问题
测试评估的目标
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点
Linux
grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?
Python
统计python源代码文件中代码行数,去除注释,空行,进行输出?
python调用cmd并返回结果?
冒泡排序
1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出所有的素数
一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
MySQL
你用的mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Sql注入是如何产“生的,如何防止?
NoSQL和关系数据库的区别?
MySQL与MongoDB本质之间最基本的差别是什么
Mysql数据库中怎么实现分页?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?
Web
Web测试和app测试区别?
WEB测试环境搭建和测试方法
WEB测试教程
WEB测试要点及基本方法
Web测试页面总结
…
接口测试
什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
jmeter,一个接口的响应结果如下:
接口产生的垃圾数据如何清理
依赖第三方的接口如何处理
测试的数据你放在哪?
什么是数据驱动,如何参数化?
…
性能测试
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
什么是系统瓶颈?
…
selenium
如何开展自动化测试框架的构建?
如何设计自动化测试用例:
webdriver如何开启和退出一个浏览器?
什么是自动化测试框架?
Selenium是什么,流行的版本有哪些?
你如何从命令行启动Selenium RC?
在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
什么是Selenium Server,它与Selenium Hub有什么不同?
你如何从Selenium连接到数据库?
你如何验证多个页面上存在的一个对象?
XPath中使用单斜杠和双斜杠有什么区别?
如何编写SeleniumIDE/ RC的用户扩展?
如何在页面加载成功后验证元素的存在?
你对Selenium Grid有什么了解?它提供了什么功能?
如何从你的Java Class启动Selenium服务器?
Selenium中有哪些验证点?
什么是XPath?什么时候应该在Selenium中使用XPath?
…
计算机与网络
一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
请简述DNS、活动目录、域的概念。
10M兆宽带是什么意思?理论下载速度是多少?
什么是IP地址?
OSI七层网络模型的划分?
TCP和UDP有什么不同?
HTTP属于哪一层的协议?
HTTP和HTTPS的区别?
cookies和session的区别?
HTTP的get请求和post请求的区别?
HTTP1.0和HTTP1.1有什么区别
TCP的连接建立过程,以及断开过程?
客户端使用DHCP获取IP的过程?
写出某个网段的网络地址和广播地址?
…
人力资源
你的测试职业发展是什么?你自认为做测试的优势在哪里?
你找工作时,最重要的考虑因素为何?
为什么我们应该录取你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
为什么选择测试这行?
如果我雇用你,你能给部门带来什么贡献?
文档获取方式:
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点击下方小卡片进群免费获取。
最近跳槽了,历经字节测试岗3轮面试,4个小时灵魂拷问,结局透心凉...
一句凉凉透过头顶…
阎王易见,小鬼难缠。我一直相信这个世界上好人居多,但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。
在这里,我只想告诫大家,offer一定要拿到自己的手里才是真的,口头offer都是不牢靠的,希望大家可以从我这里吸取教训。
!
简介
去年字节跳动连放大招,一直都有消息说:字节跳动又招人了!到处都能看到字节跳动HR发的内推码和招人信息。
在大环境的刷屏下,我看了一下招聘信息中的测试人员需求,还算比较多,又受大厂光环影响,我就投了简历。
但是,我没想到会发生这样的事情。如题,我感觉自己被HR坑了。
事情的始末
是这样的,我去面试字节跳动,面试过程还是很紧凑的,一共三面。
前两面的过程很顺利,我和面试官的交谈还比较愉快,面试中的问题自我感觉答的也还不错。尤其是第一面和第二面的人都很nice,面试过程中也比较尊重面试者,会倾听,会有互动。直到此处,我的面试体验都还不错。
面试题难度我觉得中等,基本上都能答出来,偶尔有一两个不会的,面试官也会进行一些提点,我后续也能够跟上。问题就出在第三面。
下面简单的分析一下我的那个面经。
说说我的面试
一面:50分钟
1.自我介绍
2.之前的实习经历提问
3.实习做过什么项目,负责什么
4.进程线程
5.java的垃圾回收
6.数据库简单sql语句
7.事务隔离
8.测试微信点赞
9.对测试的了解
10.编程:快排
11.反问
二面:50分钟
1.自我介绍
2.实习经历(网易)
3.深挖实习内容(后才才知道面试官也在网易工作过)
4.java锁、多线程、stringBuilder、stringBuffer
5.数据库相关
6.进程线程
7.tcp、udp
8.http,http长短连接
9.测试弹幕功能
10.弹幕显示不对什么原因
11.编程:字符串匹配,暴力破解
(问怎么优化,说了kmp的思想,但没敢明说,因为编不出来)
12.反问
三面
三面是一个女的,按照字节跳动惯例应该是位HR,但全程没有做自我介绍。上来就把前两位面试官问过的问题又重新问了一次,态度有些冷淡,多次在面试过程中打断我的回答,还不停diss面试者,搞的我有莫名些紧张。
具体面试题目和是上面的差不多,记不太清楚了
1.python装饰器
2.redis和mysql
3.优点和缺点
4.最优压力的事情,如何处理
5.职业规划
我答完这些她好像也没在意,基本一直在玩儿手机。
最后直接说一句“我没问题了,今天就这样吧”,起身就准备走了。
我反问的时候问了一下自己的面试表现,这位HR说我的表现没有问题,offer基本上是可以拿到的。
面试结果通知
三面一完,感觉心里不是很踏实,等了两天没任何消息,问给我发面试邮件的hr专员,告诉我系统里面试通过,让我再等等。我还挺高兴,于是就拒绝了一个另外两个挺不错的offer,期间也没有继续面试其他的公司,结果又等了两天依旧杳无音信。
为了能过个踏实,五一我又问了一次,这回告诉我三面面试官没给我写面评,hr专员也不知道怎么回事,去帮我核实。
挂了电话就知道百分之百凉了。
果然,六点来一通电话说不匹配,但对我的能力表示极高认可之类的片儿汤话。最后还说会帮我看看其他岗位有没有合适的,有的话会再联系我。基本上说到这儿就彻底结束了。
面试感想
整体感觉,如果三面是HR,她的表现是非常不尊重面试者的。
她给人感觉就是一直想套面试者的东西,如果得不到想要的就会说“我觉得你准备还不够充分”,最后的面试结果肯定也是折在三面上。
我身边一起面过字节跳动的都和我一样,前两面聊的挺好,三面折在HR上。
回来分析,感觉公司并不是真需要这么多岗位,更像是为了完成人力的kpi顺便套面试者方案。其实,我觉得面试最好就好聚好散,互不耽误,但是他们反馈又慢,先是给人“你OK了”的幻觉,然后就吊着你,这让我拒绝了另外两家还不错的offer,错失了其他的机会。
经验及面试题分享
今年行情不好是众所周知,招一个人估计得面18个,感觉都绝望了,可能也是他抗压能力比较弱,因为遇到的都比较坑,还好当时没有一冲动裸辞,生活还在继续,找工作还在继续,如果你和他一样奔波于各个面试中,祝愿你能找到一个满意的工作。
内容涉及:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等
先给大家看看内容截图,全部为大家展示出来肯定是不太现实的,通过面试总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:为了不影响大家的阅读体验就只展示了部分内容,完整版本PDF文档可以在文末免费获取
通过面试总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点
- 测试理论
- Linux 基础
- MySQL 基础
- Web 测试
- 接口测试
- App 测试
测试理论:
软件测试的目标
发现尽可能多的错误,测试是一个为了寻找错误而运行程序的过程。
一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件都有多少种分类?
根据功能的不同,电脑软件可以粗略地分成四个层次:
- 最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
- 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
- 支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
- 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。
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
全部目录
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
关注公众号:豆子熊,免费获取上方网盘所有资源。
还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
事必有法,然后有成, 最后祝大家早日拿到满意的offer ~
加油吧,测试员!路就在脚下,成功就在明天!
未来的你肯定会感谢现在拼命的自己!
以上是关于三月份跳槽了,历经字节测开岗4轮面试,不出意外,被刷了...的主要内容,如果未能解决你的问题,请参考以下文章