New Jobs

目标

通过二个月的冲刺,达到准高级工程师水准,进入大厂(BAT/TMDJKXB);预期岗位是大厂的中级测开岗,或者广告/音乐/金融类的高级业务测试岗;大厂有包就行,小厂的核心产出岗;
测开岗方向,主要集中在流程(devops)/服务(稳定性,性能)/自动化(ui/接口/单测)/脚本工具类(打杂,项目需要啥,开发啥)/可视化(也是流程类,不过主要集中在数据和工作流程方面),最具有发展前途的是devops和服务岗,这是真正能有产出的岗位;自动化也就是平台工具化和可视化工具,基本是一体的,小公司认为的自动化一般是这种,就业面广;脚本侠,和业务测试其实区别不大;

大纲

1
2
3
4
5
6
目标企业
企业要求
完成规划
面试模拟
过往归纳
反思总结

目标企业

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
百度
阿里
lazada
网商银行
腾讯
腾讯音乐
微众银行
头条
滴滴
美团
京东
拼多多
小红书
快手
网易
携程

手机厂
华为
荣耀
oppo/一加
vivo
小米
魅族
传音

汽车厂
比亚迪
特斯拉
广汽埃安
上汽
宝马/奔驰/奥迪
小鹏
蔚来
理想
其他车企

其他制造业
大疆
顺丰
满帮
货拉拉

金融+银行+券商
外企
海外
虾皮
shenin
大厂出海
头条-tiktok
头条-汽水音乐
拼多多-TEMU
快手-kwai
万兴
大宇无限
anker

其他
b站
贝壳
用友
boss直聘
360
微博
唯品会
爱奇艺
阅文
达达
知乎
金山
喜马拉雅
同城艺龙
汽车之家
欢聚时代
微盟
陌陌
有赞
斗鱼
虎牙
哈罗
得物
soul
keep
涂鸦
浪潮
商汤
云从
旷视
依图
猎豹
美图
奇安信
华润

国企
人工智能
AI
chatgpt
AI四小龙
币圈

企业要求

为人

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
会问面试者印象深刻的工作,主要考虑是否会在工作中思考,以及解决复杂问题的思路;
味道/风格和公司以及团队是否匹配,即是否认可公司的价值观;
性格是不是积极向上的。主动、乐观、皮实;
应聘的人有潜力么,成长性怎么样,也很重要;
1️⃣评判潜力的准则就是:工作年限是否与工作能力相匹配。锚点就是你身边的同事,一个个去比,心里就会有数。 回想一下,你在他这个年龄的时候,是比他好,还是比他差?对于工作年限比较长的应聘者,一定要看应聘者是不是在一个方向已经钻了足够的深度。如果没有,大概率不具备潜力。
应聘者的意愿,与岗位需要完全匹配,因此面试前一定要先了解岗位;
来公司的动机;
诚信一票否决。如果发现明显的不诚信,一定一票否决;
可能会问一些逻辑思维题,考察思维的灵活性,人是否聪明。

个人特质:快速学习、系统性学习、学以致用、系统性思考、强大的推动力、技术思维、突出的沟通能力、条理性、抗压性、乐观精神、抗挫折能力、迅速调整的能力、迭代改进的意识、ownership、团队合作、愿景和规划。 这些特性体现人的内核,有强大内核的人,做什么都行,技能暂时不足,也一定能补足。所以,在招聘的时候往往对是否录用的判断起决定性作用;

其他综合能力:
1️⃣很好的项目管理能力,至少与开发经理能力同级,甚至要强于他;
2️⃣一定的软件架构能力,只有熟悉架构,才能优化架构,发现问题;
3️⃣一定的产品 sense:可以跟一个资深的产品经理能够顺畅的交流,明白知道他为什么会这么想,所要实现产品的意义,路径;从产品质量方面的考虑要超过产品经理,给他输出;
4️⃣团队管理能力(这个太重要);
5️⃣目标管理能力;
6️⃣有优良的品质(看上面),会捧人;

处事

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
招聘岗位需要什么样的人,匹配最重要,此岗位那些技能是重点,会着重考量;
会着重问简历中的问题,而且会扩展,主要考量深度,还有诚信;
项目经验:是否有正规的项目组工作经验:理解敏捷的工作模式,有良好的开发习惯,有和项目组良好的协作、沟通能力;是否对原有参与建设的业务系统的业务有一个完整的理解,需要有案例;
项目需要体现复杂性,匹配度,需要在项目中体现自己的价值;
技术根底:对应的技术栈是否有与工作年龄匹配的深度。举例:一个做 Java 业务开发 3~5 年的程序员应该对 Java 的基础知识(Core Java 书里的所有知识点),在设计模式,业务建模, 性能调优等一个或者几个点,有比较深的理解;有很强的故障定位及排除能力;能够熟练使用 Java 常见的框架,如 Spring 等;读过部分流行框架源码等。
系统思考的能力,是否有模块化,体系化的思考能力。
技能方面,考虑一个问题:应聘的同学能够提升团队平均技能的水位线么?如果不是,招聘对你团队的整体收益就会打折。除非应急,否则还是尽量招聘能够提升团队水位线的人,这很重要;

基础知识,基础知识是底子,读下这两本书(《高级软件测试设计》《高级软件测试管理》),明白常问的,业务性问题背后的深意(PS:WT看案例):
1️⃣如果测试时间不够,你会怎么办?
2️⃣如果让你去测试一个你完全不熟悉的系统,你会怎么办?
3️⃣你平时会使用那些测试设计方法?

业务知识积累:
1️⃣体现业务知识积累的全局观,全局观架构师很重要的一点;
2️⃣业务遇到的问题,解决的问题也是重要的积累;
3️⃣技术角度上,你要能够画得出来系统的交互图;
4️⃣熟悉最核心的接口和最核心的参数;
5️⃣能够读懂开发的代码,熟练使用 trace 和监控工具,诊断定位线上问题到代码行;
《The little black book on Test Design(海盗派测试分析)》看这本书学习测试思维的套路;

熟练掌握一门开发语言,也就是python:
1️⃣系统学习过 Java 的教程,高频面试 50 题 这样的题可以自测一下,可以回答上 35 个以上;
2️⃣熟悉最主流的 Spring 框架,能够写出一个简单的网站,实现基础的 Restful 服务;
3️⃣读懂过一个测试框架,如 mockito 或者 Junit 的源码;
4️⃣能够熟练实施接口测试(基于一些测试框架 如:rest-assured+Junit);
5️⃣能够读懂开发的业务代码,对他们的代码进行 Code Review;

精通语言的标准:
1️⃣还拿 Java 来说吧:熟练使用 Java 的常见 API;
2️⃣深入理解基于语言特性/系统特性的知识,如 Collections 的实现机制、类型系统、I/O、网络、多线程等;
3️⃣熟知设计模式(广义范围的设计模式,不局限于 GOF 的设计模式);
4️⃣熟悉 JVM 的工作模式;熟练使用调试排查工具解决性能问题;
5️⃣熟练掌握市面上常见的脚手架;
6️⃣熟练掌握周边知识(OPs 相关,网络知识相关)有不错的实战开发经验(做过真正被生产检验的东西);
对于测试开发,AOP,Java 字节码技术是很重要的知识。。。
8️⃣达到能胜任普通的开发岗位。

效能:
1️⃣你能够举一个你用技术手段提高测试效率,增强测试能力的例子么?这是面试时最大的一个坎,因为太大,需要有明显的可量化的效能很难,环境、CI、数据、测试用例生成、数据比对的很小的一些点上,都能有不错的提效产出,从这些点能够做得好,会得到不错的加分。用明确的小案例证明价值也是可行的;


高级职位的其他要求:
1️⃣计算机领域知识的通盘理解,高级岗位要求,各块,基本都要了解一点
2️⃣计算机网络:基本的网络链路需要了解,http协议tcp/ip协议需要吃透(推荐图解tcp/ip)(图解http)
3️⃣linux服务器,需要会使用基本的命令,要能在特定的性能场景定位问题;需要能读写shell,同时云原生的ks常见架构要了解,需要能简单的部署,和使用。并且能利用与测试提效;
4️⃣数据库知识:市面常见数据库(redis,mysql,oracle)的常见 DBA 操作,问题排查;SQL 的熟练使用;
5️⃣Web 及移动端知识:能够懂 HTML,CSS,能够读懂 Javascript 代码,能够读懂 Android 或者 iOS 的代码,做简单开发最好;
6️⃣安全知识:常见的安全防护方法、工具使用;基本的安全攻防原理;
软件工程/开发过程管理:实战中各种磨练,建议系统的学习 PMP,敏捷开发的一些认证课程。

有核心竞争力:
1️⃣个人在职业技能方面要有核心竞争力,有自己的品牌优势,要在简历中体现;
2️⃣移动端测试要有在相应端的开发能力;能读懂业务代码,完成部分页面代码的走查;能对移动端测试特性,有完整可落地的自动化工具栈实现能力,如监控工具栈(如友盟、bugly、newrelic 等)、内存泄露检测、卡顿检测、耗电量、弱网、流量、埋点、灰度、版本控制、兼容性、用户体验、安全等等的质量保障;
3️⃣具体来说,就是能解决具体的问题,比如对降低崩溃率有通篇的方案;

企业JD

腾讯

测开岗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
本科及以上学历,计算机或相关专业,具备扎实的计算机和软件技术基础
2 年及以上开发 或者 测试开发 工作经验,技术栈至少满足以下技术项中的一项或者多项:
1️⃣熟悉 Android/iOS 移动操作系统,具备终端的自动化测试工具或性能测试等项目开发经验;熟悉Java/OC/Swift 等至少一门编程语言;
2️⃣熟悉 go/C++/java 等至少一种后台主流编程语言,熟悉至少一门脚本开发语言(如 shell、python);
3️⃣熟悉 linux 平台下服务器调试开发;对缓存、存储、并发等场景有一定的测试开发经验;熟悉微服务架构并 能独立开发后台服务,熟悉大数据开发及应用;
4️⃣熟悉前端开发基础知识,熟练掌握 CSS,JS,HTML 语言,至少熟练掌握一个前端 MVVM 框架(React、Vue最佳),具备丰富的前端项目开发经验;
5️⃣三年以上软件开发经验,能熟悉掌握和运用 C/C++/Python 等任何一门主流编程语言;
6️⃣在测试自动化、平台研发、web 自动化、报表分析、静态分析、开发调试工具、框架设计和分布式系统等领域中,有涉及到一项或多项相关的实践经验;
具有发现问题的灵敏嗅觉,具备针对复杂问题的分析和解决的能力;
8️⃣熟悉 JS ES6 Webpack Vue 有加分;
9️⃣业务项目中,应用行业前沿的优秀的工程实践经验,提升研发和工程生产力和效率;
1️⃣0️⃣设计、构建和落地自动化构建、测试和发布的工程基础设施;
1️⃣1️⃣驱动研发团队落实优秀的代码规范、代码设计原则和高质量的测试;
1️⃣2️⃣分析和定位复杂系统耦合关系,梳理跨团队分工协作,以提升系统可测试性;

个人特质:
1️⃣具备良好的学习能力、复杂问题定位和分析能力;具备创新性思维、较强的抗压能力和技术钻研能力;
2️⃣具备扎实的编程基本功,具备一定的项目架构设计能力;
3️⃣对 devops 工程效能实践有深入理解和实践经验者优先;

【腾讯会议测试开发工程师(深圳/广州/北京)】
工作职责:

1️⃣参与腾讯会议及相关音视频产品进行专项测试工具能力建设设计及开发工作;
2️⃣参与产品研发效能工具的开发工作;
3️⃣建设产品自动化测试体系,提升团队的工作效率;
4️⃣评估引入外部先进工作方法或技术,服务团队; 工作要求
5️⃣计算机、通信相关专业本科及以上学历, 2 年以上社会工作经验;
6️⃣熟悉软件开发的流程、工具及相关技能;
7掌握数据结构,数据库,操作系统,网络等基础知识;
8️⃣熟练掌握至少一门开发语言,编译或者脚本语言均可;
9️⃣有自动化测试系统开发经验者优先;
1️⃣0️⃣了解音频、视频相关知识,熟悉音质、画质、时延、卡顿等测试内容者优先考虑

业务岗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
对云服务、分布式计算、大数据处理等有深刻架构理解和测试经验;
对 Linux/Unix 操作系统、TCP/IP 网络协议、NoSQL 等都有比较深入的理解和实践经验;
具备自动化测试经验,深刻理解自动化平台和持续集成体系建设者优先;
有丰富性能、协议或白盒测试经验者优先;

【腾讯会议高级测试工程师(深圳/广州/北京)】
工作职责:
1️⃣负责腾讯会议产品的质量保障工作,以及专项测试技术、效能工具和平台等相关工作;
2️⃣推进各端自动化体系、专项测试体系、工具平台的建设和优化,持续提升测试效率;
3️⃣推动整个研发团队的质量意识,在保障高质量的同时通过 devops 提升研发效能。
工作要求:
1️⃣计算机相关专业本科以上学历,有两年及以上测试开发工作经验;
2️⃣能通过最新的技术手段来保障和改进产品质量 ,有音视频或会议相关大型项目测试开发实践者优先考虑;
3️⃣深入掌握测试体系、测试流程和测试技术,能通过测试技术提升效率;
4️⃣对质量体系、流程、测试风险把握,测试范畴的定义有很好的理解和应用,独立承担过大型项目测试负责人,能够通过有效的手段、流程和方法推进产品测试开展,把控产品质量;
5️⃣熟悉功能测试方法和设计,掌握分层测试, CICD 等测试建设手段;
6️⃣良好的沟通能力和团队协作能力。能从整个研发的角度出发,对研发流程和研发效率的改善提出落地方案。

百度

1
ps

阿里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
至少 3 年以上工作经验
本科及以上学历,硕士生,研究生,博士生更佳
精通C、C++、Java、Python 等至少一种编程语言
熟悉软件研发流程,掌握软件测试理论和方法,有设计和开发测试工具和自动化测试框架能力更佳
喜欢钻研技术,对质量捍卫有热情,不断追求产品用户体验的完善
善于沟通,善于团队合作

【[杭州] 阿里巴巴 CBU 技术部 招聘 高级测试开发工程师 / 测试开发专家】
职位要求:

1️⃣两年以上互联网及传统行业的测试开发经验,对软件质量保障有体系化的思考和经验。能够面对复杂情况建立体系化的软件质量控制的策略和模型,并且有大型项目成功实践的经验;
2️⃣具备业务或测试技术(自动化、性能、安全、用户体验、稳定性等)某方面的专长,具有一定的业务建模能力或测试技术预研、选型、设计开发、统一规划的能力;
3️⃣具备抽像提炼测试技术的共性问题,主导业务线相关领域的测试系统建设,持续发现和解决重大系统、业务问题;
4️⃣优秀的代码实现能力,精通 C/C++, JAVA, Python 等编程语言之一,并有实际项目代码经验;
5️⃣逻辑能力强、思维活跃,接受新事物能力强;责任心强,积极主动,善于沟通,良好的团队合作能力;良好英文沟通能力;
6️⃣大型互联网名企经验优先,数据和算法测试经验优先。

【[北京][杭州] 阿里云存储测试开发 P6~P8 核心团队内推】

1️⃣传播测试理念,设计 CI/CD 流程,指导研发工程师持续快速地交付产品特性;
2️⃣根据业务需求,设计和开发测试工具,包括自动化测试框架、持续回归平台、性能测试工具、资源管理工具等;
3️⃣参与某个存储产品的测试工作,制定和实施测试计划,保障被测系统高质量发布上线;
4️⃣针对测试和发布流程提出改进意见,提升研发工程师的幸福感。

职位要求:
1️⃣计算机本科以上相关专业,三年以上工作经验;
2️⃣有互联网后端 、存储或网络产品自动化测试经验,有系统化的测试分析和设计能力;
3️⃣熟悉 Linux 操作系统、熟练使用 shell 和 python 编程语言;
4️⃣具备很强的逻辑思维能力和较高的分析、处理问题的能力,熟练的文档、沟通表达和辅导技巧;
5️⃣善于团队合作,理解和适应变化,以结果和行动为准则,努力追求成功。​

字节

1
2
3
4
```

_京东_
```bash

拼多多

1
2
3
4
```

_美团_
```bash

小红书

1
2
3
4
```

_快手_
```bash

网易

1

面试

1
2
3
4
5
6
7
8
9
先熟悉jd,招聘肯定是有明确的岗位的,先明确岗位要什么,自己是否和岗位匹配,如匹配,面试时需要表现出匹配点;
"味道",这个人和公司,和你所在的团队是否 “味道一致”? 如果不一致,需要看一下应聘者的适应能力和适应意愿。举几个例子:如果公司强调的是 “协同” 和 “Ownership”,习惯把自己的工作框边界划的特别死的人就很难适应;如果公司强调流程、严谨,非常 free sytle 的人就会很难适应。如果公司有明确的层级感,特别习惯扁平化合作关系的人就会不适应。无有好坏,只有适合还是不适合。不同类型公司培养出来的人这方面差距是非常大的。招聘的时候,一定考虑我们公司的价值观,还有公司的味道。应聘者是否适应,是否喜欢;要明确自己是否适合该企业的企业文化,上级的管理文化,薪资差距不大,优先选择自己能接受的;
技能方面,新jd大概率技能水平会大于团队平均水平线,如果面试对技能要求过低,对项目和公司的技能水平存疑;
意愿需要和岗位匹配,没公司愿意招个几天就走的人;
一定要表现出诚信,不诚实,可能会让人觉得你每一句话都是假的;
要熟悉自己的简历,学会反问,大厂尤其喜欢由表及里的问答来考虑深度;
询问面试者最成功的经历,还有最痛苦的失败。可以考察他能够完成一件事情的能力,考察他对以往工作是否有比较深刻的思考。如果对以往工作从来没有深刻思考,未来大概率也不会有。如果没有成功经历,工作时间又很长,很大概率未来也不会有。
案例/故事:要有证明能力的勋章

面试案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
1️⃣你所在的 team 总在被开发抱怨测试用的时间太长。如何能缩短一下测试时间呢?
通过调研,发现测试小伙伴诟病的最多的就是环境不可用。环境到底多不可用呢?
你基于 Grafana 和 Prometheus 做了一个环境可用的监控报表,使用后,发现环境在工作日整体可用率只有 35% 左右,主要原因是:几个核心热点应用经常挂了没人管。
你拉了整个 team,明确了部署责任人,约定了部署规则:只能中午饭和晚饭时间部署,并且部署后要自己看一下是不是 OK。
一周后,环境可用度上升到了 65%。再深入分析,发现 2 个同学不守规矩,总是他们在破坏规则,你去找他们单独谈话。
一周后,环境可用度上升到了 80%。还是有少量人不守规矩。
你找 SRE 的同学提需求,做了部署卡点,非部署时间部署必须 TL 审批。
一周后,环境可用度上升到了 85%。有些 TL 也不守规矩。
你建了个报警,环境乱部署,坏掉了,在大团队的群里 @ 全体,告知谁搞坏了环境。
一周后,环境可用度达到了 92%。
你加了一个 feature:应用挂了一段时间无人响应,自动重启服务功能,仍然有问题,就自动回滚上一版本。
你推动了开发解决了某个应用启动时间过长的问题。
你推动了环境分组。
你推动了测试环境版本上线的规范流程实施。
你推动了冒烟自动化用例卡点。
你推动了环境部署人备份机制。
你推动了全员基础环境部署培训。
你总结了部署手册。
你做了。。。。。
最后,环境可用度稳定到了 97% 以上。你为测试节省了 60% 以上 block 时间(原来可用度为 35%)

2️⃣上面的问题,除了环境,还有一个槽点:开发提测质量不高。测试的头几天,很多主流程都走不通,导致测试总是在等待,或者是跟着开发一起联调。而这段时间,已经被习惯性的认为是测试时间了,因为:提测了。

你推动了:测试提供冒烟用例,开发必须完成一定程度的自测才能提测。
你推动了:测试和开发做自动化同期共建,在开发过程中,核心功能就被自动化用例保护起来了。
你推动了:开发切分 feature 提测,而不是攒一个大招一下子提一坨。
你推动了:代码 Codereview 变成团队常规活动,QA 在早期跟进核心代码,把问题坑杀在萌芽阶段。
你推动了:外部资源联调非常早的进行,不会让它在测试后期成为测试 blocker。
。。。

3️⃣你发现测试时间长,QA 自己也有问题。

你推动了:有明确的测试计划,并让所有干系人都有明确的预期。
你推动了:测试依据风险测试,最大的风险得到最快的 cover,科学分配时间,明显缩短 bug 反馈时间弧。
你推动了:bug 严格管理,所有重要 bug 都及时修复。
你推动了:良好的沟通和汇报机制,每天让团队主要干系人清晰的知道,距离发布还差多远。
你推动了。。。。

你能讲出自己做过 5 个以上这样的成功例子,我敢保障,你会被 1 线大厂疯抢。职级基本都是专家起。

持续学习能力和复杂问题解决能力
4️⃣:
你近期的工作是帮助团队提升后台服务稳定性。你看到了 netflix 内部使用一个叫做 ChaosMonkey 的东西来随机对生产服务期进行攻击,而逼迫工程师提高稳定性,所以,你也实现了类似(更温和)的内部机制,推动团队稳定性的提高。
你怎么知道这个叫做 ChaosMonkey 的东西呢? 因为你会习惯性浏览一线厂商的技术博客,参与行业大会,关注各类新技术。持续性的养成习惯。

5️⃣:
做大规模接口自动化好难,外部数据依赖太难搞,参数构造太费劲,assert 太难写。如果能够简单的录制回放就好了。
但是,外部依赖是个天坑,写操作 mock 也是个天坑,assert 也是个天坑。
实际的案例是,经过几年多个团队持续不懈的填坑,阿里内部已经有应用级的录制回放工具了,数百个应用成功的是用了它,把不可能回归的任务变成了可能(上万数量级的 case 当天生成,当天投入使用,并可以分析覆盖率),自动化测试实施需要付出的工作时间革命性降低(不足原来付出时间的 10%)

6️⃣某个版本的某个模块问题很多,但上线时间紧迫怎么办?
基于风险的测试。测试的本质是抽样,时间资源总是有限的。要把资源用在刀刃上。先看看那个模块是干嘛的,是不是重要,如果出问题,影响面有多大?然后具体问题具体分析。如果是核心模块,会造成重大损失,那质量一定是不能丢的,抽调别的力量加强这块儿投入,把风险明确的传递给主要干系人,必要时延期项目。如果是非关键模块,识别出问题,可以做:设定一个最小实现目标,砍 feature,用运营/客服的手段补足。长效方法:自动化防护网建立,让回归的时间成本、人力投入成本低下来;在项目的初期就能够一定程度的识别这种风险,早加资源,别让这种事儿变成到了最后:一坨毛病,deadline 不变。 QA 最大的一个价值就是:像探照灯一样很早的预期到风险,并同步给主要干系人。

7️⃣如果测试时间不够,你会怎么办?
仍然没有标准答案,但我比较满意的点会有:

跳出这个问题,讲如何从初期避免测试时间不够,以前有过很成功的案例是很好加分项。
懂得基于风险的测试,估算时间,设计测试策略,把最有限的时间分配在项目风险最大的地方。这是项非常重要的能力(有专业知识,请参考 ISTQB 教程)有非常成熟的形式化方法,也有非常多的实战 checklist(做过大项目的人肯定能够讲出不少条)。
清晰让主要干系人随时知道现在项目的状态,特别是质量情况,未来可能的走势,大概什么可能达到发布状态。 QA 是一个夜间走山路汽车的大灯,他的职责就是最有效的发现项目所有的大坑,并明确的告诉司机(项目主要干系人)。这里面隐含着对沟通能力的考察,也隐含着对风险管理的能力的考察。
一定的项目管理能力,如何让团队对现状,对现在的项目计划是否能够有效进行下去有一个清晰的认识,并且引导团队 work smart 搞定挑战。你不一定是 TL,在系统测试阶段,从某种意义上 QA 就是项目 Leader。在关键时刻,项目的成败,重要决策是否能够被做出,与负责项目的 QA 有重大关系。
软技能:推动能力,ownership,协调能力,抗压能力,能否激励团队,给团队信心等等。
如果应聘者谈到以前工作,可能会追问,考察其它知识点。
只能回答出 “加班呗”,而没有其他思路的人,大概率只能 pass 了。虽然接受加班一般用人单位都比较喜欢,但没有展示出任何 QA 应有的能力,技能上肯定是不合格了。

8️⃣你平时会使用那些测试设计方法?
主要考察做测试设计的时候是否靠谱。思路是否开阔,是否收过专业训练,是否积累了自己的一套方法。仍然没有标准答案。

如果只能讲出:我会等价类,边界值,然后。。。。我想想。。。想不出来了。 。。 如果再简单引导,还是无法给出更多内容,大概率会被 pass(很多应聘者都会这样)。
如果你觉得你没有听懂这个问题,反问我,我会给你加分。
如果你熟练掌握等价类、边界值、判定表、状态图转化、组合测试等通用方法,并能够举出一个例子来,我会给加分(最基本的东西用了)。
如果能够给出基于被测物详细分析做测试设计的案例,我会给加很多分。
有固定套路的人(例如 可以使用 基于 guide word 的测试设计 )会加分。
能够讲出自己一套方法论,并且有明确案例支撑的人会大大加分。
能够结合自己工作侃侃而谈并说到点上的人(虽然显得比较散),也会给加分。
测试设计本质上要回答两个问题:你的测试设计是有效的么?(是否经过测试就靠谱了,覆盖率是?)你的测试是高效的么?(是不是能够用不太多的用例高效找出主要问题,这在大规模项目里非常重要) 再往大里讲讲,“测试设计” 不仅仅包含了一些简单的方法的使用,还包含了过程活动、质量意识在里边。不展开说了,有兴趣的同学可以参考这本书The little black book on Test Design 通读 5 遍,同时把他引用的所有链接全看了。再跟你的工作联系起来,再不断的翻过来调过去揣摩、实践里边的方法,半年后,你看测试会有比现在深太多的认识。别人问你测试设计,你能给他讲 1 天。你的工作也会发生本质改变。
还是那句话,面试主要还是考察平时的工作经验积累、思考积累、解决问题的能力的积累。

9️⃣如果让你去测试一个你完全不熟悉的系统,你会怎么办?
1.这个问题是一个开放性的问题,适合不断加入上下文来追问。那个面试官的模式很像我。😀。
2.有上下文的持续追问是能够检验应聘者对问题有没有深入理解、简历上过去工作经历有没有水分的非常好的做法。如果只是了解皮毛,简历注水非常严重,被追问几句必然败下阵来,并且留下非常不好的印象(不诚实)。
3.回到这个具体的问题,从这个问题出发的考察点有几个:是不是具备快速学习能力?是不是有很好的获取知识的套路(测试的过程本质上是一个学习的过程)?是不是有很强的探索精神?是不是有很强的沟通能力?是不是有不错的总结能力?
这里并没有标准答案,但一定是有考察点的。
4.如果你的回答里有明确的亮点,一定会加分,加分比较多,胜出的几率就很大。举几个加分的亮点的例子:
a.我会先去直接操作和观察被测物。(比直接奔向需求要加分很多,想一下,你实际工作中,快速理解一个东西靠的是什么?肯定不是先读文档,且不说这些文档是不是能够正确的描述被测物)
b.我依托原来的工作经验,讲出了十几种信息来源,而不是只能讲出需求:同类产品,说明书,直接操作、观察被测物,原有版本,找产品经理,找开发,找销售,运维,客服,找用户,公司知识库,历史邮件,会议纪要,原来的各种文档,代码,google,相关法规,行业标准。。。。 能够有效开动脑筋,从各种地方获取信息帮助测试的人会让人眼前一亮。 只能讲出依照需求,说不出其它的人基本上会被 pass。
c.讲出原来几天搞定了一个从来没有经手过的系统的测试,并经受住追问,不管路子多野,多山寨,也会是加分项。
d.能讲出克服的一个具体困难点的例子,并经受住追问,也会是加分项。

追问就会转到其它问题,考察点会结合你的反馈变更。 比如那个问题:如果项目进度很赶呢? 我的理解是要考察你有没有 “迭代” 的工作思路。 如果回答给出了快速上手的正确方法,给出了通过迭代,一边学一边加深理解,一边给出质量反馈的思路,肯定会是加分项。
6.一般能有五六个亮点,你胜出的几率就很大了。

面试的初衷还是要在一个时间段内(1 小时)尽量了解应聘同学的各方面是不是适合这个岗位。应试会有些用。但最关键还是平时的积累和思考。

大厂面试问题汇总

提升

  • 熟悉系统,发现问题解决问题,系统学习

完成规划

补全基础知识

1

面试话题

1
2
3
4
5
DevOps一体化研发体系:需结合自己公司的CICDCT体系进行说明,深化出他的理解
工作中的技巧:时间不足场景/线上问题场景/绩效汇报/工作汇报的场景



欢迎关注我的其它发布渠道