# 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強到能輾壓一切,那一直都用同一招對付所有專案我想也是沒問題的啦。
祝福大家年後有想要轉職的都順利高中狀元。