秋招成功上岸字节,才知道年薪40W的测试有这么多?努力不止现在(附面经)
最近脉脉职言区有一条讨论火了:
哪家互联网公司薪资最‘厉害’?
下面的评论多为字节跳动,还炸出了很多年薪40W的测试工程师
我只想问一句,现在的测试都这么有钱了吗?
前几天还有朋友说,从腾讯跳槽去了字节,一开始我还不理解,以为他是在走职场下坡路。但现在看来,字节跳动的薪资是真的香。
按照脉脉和知乎上字节员工的说法,即便是应届毕业生都可以拿到比阿里高 20%-30% 的薪资,而有工作经验的员工,普遍薪资水平高出业内 30% 以上。
后面我问了他字节的面试经历,以及他整理的面试笔记(比较全面吧,包含了:测试理论->Linux基础->MySQL基础->Web测试->API测试->App测试->管理工具->Python基础->Selenium相关->性能测试->LordRunner相关->计算机网络->组成原理->数据结构与算法->逻辑题->人力资源等相关技术领域的大厂面试题)
软件测试面试笔记文档或关注公众号;‘程序员白楠楠’获取~
他说这次面测开,总体来说,还是比较简单(被打脸就尴尬了),每轮大概1小时左右,算法题也没有传说中的难。
以下是面试的详细过程(还有些他记不清的就不写了):
第一轮:
1. 常规项目:你的简历我基本看过了,介绍一下你的几个项目吧。
我: (???自我介绍都不用了?)......省略800字
2. HTTP和HTTPS的区别,如果你要为新服务使用HTTPS,需要做些什么工作?
3. Kafka原理(因为项目里面说到kafka了)?
4. 做道题吧。
扑克牌顺序题目(把手里的扑克牌由上到下第一张放桌子上,第二张放手里最下面,依次循环操作把手里牌全部放到桌子上;已知桌上由上到下的顺序,求手里扑克牌原来顺序,总张数是n;)
写了个简单的暴力算法,面试官提示其实可以用栈来做,其实不难,不过当时还是没想出来。
5. 微信显示的点赞顺序和实际点赞数据不一致,怎么排错?
6. SQL查询的简单题。
写完之后:如果其中一张表比较大怎么办?
我:可以分表,控制每个表的大小,添加索引。但是面试官好像想说的是过滤空值数据。
7. 怎么给一张表添加索引?
8. 你有什么想问我的?
面试官:你先休息下,我联系下二面面试官。
第二轮:
1.还是介绍项目。主要会问你负责的部分。
2. 说说Java的垃圾回收机制?
我:balabala说了大概10mins左右(没注意看时间),也没见打断我,后来说累了,就问她:如果您还有兴趣的话,我还可以给您继续介绍一下。
面试官:够了,够了。
3. 常用的软件有哪些?(然后让你测试常用软件里面的功能)
4. 微信红包你会从哪些角度去测试?
5. 有没有向开发者去反映bug?(说了一个)
6. 如果要你设计一个bug反馈系统,你会怎么设计它的技术架构?
7. 访问一个url链接的详细过程。
8. 实现多线程的方式有哪些?
9. 线程/进程之间的通信方式有哪些?
10. 进程/线程的生命周期中有哪些状态?
11. 做道题吧。
小H是Bytedance的一名优秀员工,每天早起按时挤地铁上班。B市一共有n个地铁站,小H家住在1号地铁站,公司在n号地铁站。众所周知,地铁换乘是一件令人不愉快的事情,每次换乘一班新的地铁都要耽误额外的时间(定义换乘为:1、最开始选择x号线上车,2、从x号线换乘到y号线,满足x != y)。
作为一个土生土长的北京人,小H知道所有北京所有地铁线路的信息,信息是一个三元组(u,v,x),表示u站和v站是相邻的两站,且属于x号线的地铁。你能帮帮小H计算,他从家里坐地铁到公司需要的最小换乘次数吗?
用DFS大概做了一下,跑了个测试样例,面试官说还有点问题,由于时间关系先不管了。12. 你理解的测开是什么?
13. 你工作三年的职业规划是什么?
14. 你上次也有投过我们的岗位,谈谈你对上次面试的印象?
面试官:今天的面试就到这里了,HR会另外联系你面试时间。大概半小时后接到了HR的电话,因为想尽快写论文,就被安排在了明天。
第三轮:
后面才知道这是交叉面
1. 聊项目
2. 写一个日志输出(到文件)的工具类,不能阻塞。
写了一个用线程池去实现的方案。
另外说了一个异步队列的实现方式,日志请求放到BlockingQueue, 由单个线程(或者线程池)负责日志输出,每次从队列中读取日志请求,完成日志输出。
3. OS创建进程/线程的时候需要做哪些操作?
4. 进程调度策略有哪些?
5. 写一道算法题吧
就是找数组里面左边最大,右边最小的数字那道题。(两个数组实现,一个记录leftMax,另一个记录rightMin)
面试官:空间复杂度能不能优化一下?
(已经有帖子说了怎么做了)
6. 我看你拿了挺多offer的,都是开发岗位,你现在投的是测开岗,怎么考虑的?
我:想在深圳,以前投的测开实习,刚好你们也捞我。就试一下。然后为了保命说了一下对测开的理解。
7. 你还有什么要问我的?
我:什么时候会有结果?
面试官:一般不会超过一周
(面试官:面试结果HR会尽快通知你。)
软件测试基础210题
Linux54道面试题
MySQL80道面试题
web测试10道面试题
接口测试35道面试题
APP测试12道面试题
Python120道面试题
总结
作为一名测试工程师要自己拥有核心竞争力,努力提升自己是关键,而如何提升,就需要看自己个人的学习习惯了。
最后只想说,学习不会辜负任何人