# QA面试分享 Canonical/Binance/Amazon Ring/Google Pixel
## 前言
- 关于QA相关title多变的议题我蛮喜欢这篇描述的,以下就都先用QA来代表跟品质和测
试相关的角色和职务内容囉 https://tinyurl.com/2d6o38m6
## 背景
- EE 学士+硕士 + MBA
- QA 经验约10年
- 服务过两间公司,职务都是Software QA。第一份7年半,第二份2年半。
- 第二份是Lead 3-4人的小主管
- ISTQB Certified Tester Advance Level - Test Manager
- Scrum Master Accredited Certification, International Scrum Institute
## Canonical (Ubuntu) -SQA Senior Engineer - OEM
Canonical 是hunter推荐的,整体大概分4个阶段。
- 第一阶段是大概30分钟视讯面试,同时跟多位包含RD,QA还有site diretor聊聊,有考
一些QA概念和基础python,还有linux等的指令,视讯面试使用英文。
- 第一阶段通过后二阶是派回家作业,给一个礼拜时间完成,但内容就不方便透露了。
- 到了第三阶段是受邀到办公室进行Loop Interiew, 印象中总共有4关还5关,每关约
45分到1小时,一到三位面试官不等,面试官包含未来的QA team member, 别的team
的QA Lead, RD manager, PM, 还有site director。 记得面试2点开始结束大概就快7
点了。 在Canonical 的面试气氛是很好的,可以感受到每位member都很nice, 我自己
也能期待要是on board后应该团队气氛也会很不错。这阶段面试除了site director
外遇到的都是台湾人,所以大多数时间使用中文来面试。
- 第三阶段通过后还有第四阶段是与在美国的QA Manager 视讯面试,大约1小时。这
位Manager也是很nice 的主管,本身非常重视QA的均衡发展,不会只侧重在automation
上,同时也重视QA的其他能力。因主管是美国人面试全程使用英文。
- 总体来说面试过程感受到Canonical的工作文化应该是很不错的,里面的各个部门也都
很尊重QA在团队里的角色,对待面试者也都很友善,很推荐各位未来有机会去试试。
- 结果:Offer。 四阶段都结束后大概1周面试结果会出来,然后大约等待2周等offer
detail 出来。我整个面试流程大概7周左右,看个人中间各个阶段时间怎么安排。
## Binance - Integration QA & Test Engineer (Mid to Senior)
Binance 是之前在Linkedin 上收到他们在美国的HR director inmail 的邀请,附上履历
后被转介到位在台湾的HR. 以我的了解Binance 是全球最大的数位加密货币交易平台,
亚洲的团队是他们很大的开发的团队,成员主要分布在中国,新加坡,马来西亚,香港,
台湾等地。工作模式是all remote, 因此不管你身在哪里都可以上班。面试主要分成2个
阶段。
- 第一阶段是与1位RD 和1位QA 分别进行面试,时间约各一小时,内容都是QA相关理论和
coding相关. 面试的内容深度是扎实的,各位有兴趣的话请务必要好好复习QA相关的理
论基础。两位面试官都是来自中国的团队,因此均使用中文面试,但因为两岸技术用语
常常不太一样所以有时使用英文的term 还比较方便。个人经验觉得canonical 的团队
成员比较活泼,Binance 的面试官比较严肃一些。
- 第一阶段的结果很快就会出来,台湾的hr 会主动告知第一阶段的结果。通过后会马上排
第二阶段
- 第二阶段只有1关,就是跟未来的QA大主管面试,大概是再次确认你的technical skill
与人格特质是否符合公司需求。QA大主管也是来自中国的团队,因此也是使用中文面
试,在Binance 的QA Team 会是录取后才由大主管按能力安排团队,依面试时主管的初
步意愿我会被分派到杠杆相关产品。
- 相对来说Binance 的面试流程比较简单,总共只有两个阶段共三关,但也代表考核点也
比较少,过程中稍有出错可能就会扣比较多分。如果不太喜欢冗长面试流程的话推荐挑
战Binance,整个过程最快我想一两周就可以出结果了。.
- 结果: Offer。 Binance强调他们能给出具竞争力的package, 我的个人理解是他们采取
“竞争”策略,意思是愿意开出比你现有基础更具竞争力的条件,也就是你目前的薪资
结构,或是你有其他compete offer, 都是他们开出package 的input,也就是愿意与其
他公司竞争人才。相对这种策略有些公司的offer结构则是采预算式,并不一定会进行
comepte offer,我在过程中确实有感受到他们有在实行这种策略。另外binance 的HR
给我的感受是十分尊重candidate, 整个流程因为我还有其他公司在面试而拖得非常
长,他们也愿意给予空间等待(当然也是要符合他们的时程需求)。因此整体来说对
Binance 的面试经验觉得愉快,而且offer 确实值得期待,建议大家也去挑战看看。
## Amazon Ring - QA Engineer
Amazon Ring 是主动应征,是sidewalk团队的QA Engineer,流程上主要分成两个阶段。
- 第一阶段只有1关1小时,并直接由sidewalk大主管直接面试,这算是我面试经验中比
较特别的一部份。在面试之前HR分享很多面试相关文件给candidate好好准备,希望
candidate能以他们的最佳状态应试,这点我个人是非常appreciate的,因为可以把所
有的心力都专注在准备他们认为重要的面向上。Sidewalk大主管给人非常和蔼的感觉,
而且本身也非常smart,因此面试的经验很愉快,而面试内容主要是确认有QA 的底子,
同时也有coding 的底子,我想应该还有人格特质的部份,面试过程有中文也有英
文的部份,我想主要是想确认英文是否具备日常专案中的沟通能力。
- 第一阶段通过后,HR 会协助排下一阶段的Loop Interview. 同时HR还会安排一个算是
training session 与candidate 详细说明应试策略和介绍各个面试官的背景,好让你
能好好准备。个人建议额外针对不同面试官准备不同的问题。
- 第二阶段共5关,分别是与sidewalk 的大主管(再一次),RD 主管,SDET, QAE, 还有
Amazon中国团队的QA Manager, QAE和 SWE 面试,每关都是1小时,透过线上的方式。
我的面试过程大多是以中文为主,面试官希望你用英文回答时会主动提出。Amazon的面
试内容非常扎实,从QA 相关mindset与理论,过去专案经验,到行为式面谈, 到线上
live coding(leetcode easy level),到live 建立测试策略, 都被包含在面试过程里
面。我个人的感受是Amazon的QA面试非常专业,也十分了解一个QAE 该有的skill set
和行为态度为何,因此我觉得Amazon 对QAE面试是非常全面的,因而其面试难度真的非
常具挑战性,若技能树不够全面很可能很快就会被发现。我面试完整个身心俱疲和大松
一口气。另外分享一个经验,我自己安排时程的时候想说可以排分散一点多点时间准
备,因此把5关分别排在连续3天。但我最后的心得是3天有点太长,特别到了第三天有
很想赶快结束的想法,整个就是一鼓作气再而衰三而竭的fu。因此我个人建议不要排
超过两天不然会连续紧崩三天身心都很累。
- 结果:Offer。Amazon的offer完全对得起他的招牌和业界对他的期待,个人觉得以QA来
说非常具“竞争力”,package内容可以分成Base, Bonus 和Share的部份,我想基本上
绝大多数人都会感到满意,所以不太需要担心这部份赶快写履历好好k书就对了。
## Google - Test Engineer
Google 的面试是他们的Recruiter来邀请,总共大略分成4个阶段。总体来说Google 的
面试对一般QA来说是极大的挑战,主要还是algorithm与data structure的部份,如以下
说明。
- 第一阶段是与Recruiter做Phone interview, 会被问基本的algorithm 与data
structure,据说不会回答的话就不会往下进行了。
- 第一阶段recruiter 如果觉得你有机会的话会帮你送第二阶段。第二阶段只有1关(他
们称为Virtual Interview),直接进行coding interview。Recruiter 基本上会帮你
准备一大堆k书资料,并和你商量一个你觉得适合的时间进行这一关,通常会给你2周到
1个月的时间再来向你确认是否自认已经准备好上场。准备资料不外乎就是叫你刷
leetcode,还有给你很多阅读资料,期待你最少能刷个上百题并且最少有一半是medium
(这对QA 来说挑战也是很大...)。 基本上你有把google 当成是目标的话就要有心理
准备接下来两三个月下班回家后都要与leetcode(建议买pro 会员)和阅读资料为伍。
面试当天是45分钟,除了刚开始花3几分钟聊聊你的Test Mindset 外,其余时间则是都
投在coding 上。我的面试是总共给了两题约Easy到Medium 间Level 的coding 题目,
各位请务必要把coding interview 的技巧一一使用在面试中,详情大家google关键字
应该就会看到很多应试招数了。我想大多数QA对algorithm 与data structure的题型并
不太擅长,有志于google的话可以现在就开始准备,相对来说会比较轻松,不然要同时
兼顾Test Strategy、Test Methodologies和algorithm实在是不轻松。
- 第二阶段的这1关会决定是否能进下一阶段,快的话在面试结束的当天就有机会知道结
果了。第二阶段通过的话在第三阶段会排4关。并且如同Amazon那样Recuriter会帮你安
排一个training session好好帮你介绍4关的面试的内容和应试对策,也会再给你一些
阅读资料让你好好准备。并且大概会帮你预留很多周的时间给你准备(我这次是四周)。
Google 的面试流程最让人印象深刻的就是Recruiter对Candidate 非常好,会想尽办法
在公平的前提下尽力协助candidate应试,Recuriter 甚至可能会帮你分析弱点协助你
进行针对性加强。因此面试完google 说不定你会跟Recuiter 变成好朋友。
- 第三阶段面试他们称为On-site Interview(虽然现在covid-19都是线上啦),4关我是排
在两天进行,每关45分钟。4关分别有1关跟上一阶段一样的coding interview(对的,
leetcode请继续刷好刷满),1关Test Strategy相关, 1关QA methodologies相关和轻
live coding,还有1关行为式面谈。相对于Amazon 我觉得Coding占的比例高很多,
我想应该是想要表达他们认为这个职位Coding 和QA skill一样重要,因此立志想要挑
战google的就从现在开始刷code吧。
面试各关中文英文各半,应该主要是看你遇到的面试官来自哪里。
- 第三阶段的结果最快也可能在面试完当天就出来。google 的流程比较不一样的是面试
过程中的面试官大概都不会是你未来的team member,你前面应该也不会遇到你的主
管。他们的对Test Engineer面试主要是收集共5位面试官的评价,然后经由Recruiter
判断是否要送下一阶段的Hiring Committee。
- 第四阶段的HC与之前的面试官是相互独立的单位,主要由书面资料对这位candidate是
否符合Google的录取标准(据说主要看coding)给出意见。然后再把HC 的意见送到内
部高层做Offer Review。因此第三阶段Recuiter觉得你的面试评价不错并不代表就能够
庆功了,能不能录取还是看第四阶段的HC 和Offer Review。
若通过HC和Offer Review的话Recruiter 应该会帮你安排和手上有headcount 的主管进
行Team Match 的interview。在Team Match时你可能会和好几个主管聊聊他们的的团队
正在处理什么样的专案内容,也算是一个互相了解的对话。主管也会借此判断你是否适
合他们的团队。若Team Match有互相觉得适合的话Recruiter和主管会合作产出所有资
料并送Final Approval。
- 整体来说Google 的面试流程非常长,主要前三阶段是要给你时间准备,第四阶段则是
内部录取流程非常严紧。我个人经验因为有其他offer在等,所以不停拜托Recruiter
帮忙加速下,最后在3个月左右完成全部流程。我有朋友则是从头到尾历经半年才走完
全部流程。这对Candidate 的规划和时程安排能力也是一大考验。
- 结果: Offer。 Google package的竞争力我想我不用描述太多了,同时还有非常强大
的福利系统。我想应该没人会不满意google的package吧。
## 结语
- 这次转职算是非常幸运,很难得能够同一时期面试到4间很不错的公司相似的职位并且
全垒打。在这里顺道分享一些我个人认为还不错关于QA的基础架构和对我自己面试有
用的资料。
### Test Automation Skill Tree https://tinyurl.com/e12yujg8
- 上面中提到的skill tree 我觉得可以用这里提到的框架作为发展基础,从Soft Skill,
Testing Skill, Technical Skill 和Programming Skill 四个面向均衡发展。
### How Google Test Software https://tinyurl.com/4tvbjyea
- 个人认为写得非常好的书,里面充分提到QA/Test Engineer 如何能为组织“创造价
值”。我个人认为QA/Test Engineer的主要目标不是测试,而是为Quality 服务。一
切的测试策略,技术和手法都是为了在有限资源、时间下达到Quality Goal。并且
QA/Test Engineer 是团队里当仁不让的Quality 传教士,肩负带领团队走向更完整
Quality culture的义务。因此QA/Test Engineer 除了Coding 能力要好,Domian
Knowhow 要扎实,Test Methodologies 要够闲熟外,SDLC也要够熟练才能适时建议团
队执行适当专案流程和活动,还有沟通能力也是QA/Test Engineer非常非常重要但容
易被忽略的能力。基本上QA要试着想办法透过沟通能力让RD 和PM 都变成自己最好的
partners,最最起码不能是敌对阵营。
### 炮轰“测试左移”,向软件测试领域的“歪理邪说”宣战
https://tinyurl.com/ywxxmvqo
- 这篇我想算是呼应QA技能树中四大面向均同样重要的概念宣导文章。目前确实是常
常听到Automation skill 是QA/Test Engineer 唯一重要的主张,因而忽略了其他面
向特别是Soft Skill 和Test Methodologies 的培养。个人认为缺少Soft Skill 和
Test Methodologies的充分培养很难产出杰出的Test Strategy。 Test Strategy就有
点像是为了因应不同的专案背景如资源、内容、时间等作出使用不同招数的对策安排。
进行大量Automation对于我来说是众多对策的一种,但不是唯一的一种。只专注在
Automation就像是不管遇到什么战场均使用同一套战略招式去应付一样。当然要是你的
Automation强到能辗压一切,那一直都用同一招对付所有专案我想也是没问题的啦。
祝福大家年后有想要转职的都顺利高中状元。