2020 軟體工程師 面試心得分享-Amazon
記得職缺是在台灣Amazon很難得一見的Backend Development Engineer。
這是蠻意外得到的面試機會,是系上學長幫忙內推的,同一個職缺,我自己投都無回應(泣
特別以這篇感謝學長大大~感謝學長幫忙內投完履歷後,隔沒幾天又幫我再去問hiring manager面試機會(跪
內投後過了兩週收到HR電話,跟HR簡單聊,我有說到,我自己1個多月前也有投這個職缺,但都沒有回應,於是HR大大回我,他一天光內推收到的履歷就有100多份⋯⋯聽到這,忽然開心一下接到電話(๑¯∀¯๑)
面試時間是早晨,為了配合美國的時間,所以是早上7點,面試官是一位美國人。
因為NDA,面試題目就不公布了。跟LeetCode題差蠻多的,不過現在好像有股這種趨勢,像我面試Google on site & Facebook時,我覺得題目跟LeetCode都還蠻不像的~但寫LeetCode過程練習的思維習慣跟資料結構熟悉度,是會對你有幫助的。
前面有一段時間是在英文自我介紹,跟對方好奇問了我在YAHOO的各種project經驗。
當時剛拿到幾個正在抉擇的offer,也因為我準備面試的第二個月,都在複習系統知識,像Kafka, redis, SQL performance enhancement 這類,所以有1個月沒有寫題目了。
手感⋯可能因為面完Google on site後,整個鬆懈,外加原本刷題量就不高,所以雖然只隔1個月,手感還是有差( º﹃º )
跟面試官聊天過程,知道Ring是近期被Amazon收購的,面試官說,開發的部分,很多東西都還在起步階段。
這場面試給了我蠻多收穫,特別是應用在最近的工作上。
因為面試過程,一開始問清楚需求,跟各種情境的edge case,和複雜度後,我有把程式寫出來,把採用的資料結構,空間複雜度跟時間複雜度分析完~
面試官會說,請你跑看看幾個test case,當然test case是我要自己舉例的,面試官感覺是藉此觀察我的思路🤣
一開始的幾個case都能順利跑完,基本edge case也有考慮到,當我內心滿滿雀躍時候……面試官把test case加了一點複雜度,然後問你有沒有辦法從現有程式改出來。
明明當時還剩10分鐘,但不知道是當時太緊張,還是因為在獅子會碰到前任&一群前會長們一週鬧3次太疲憊,最後沒有給出完整的新解法,過程中只是會一直覺得原來的程式改一點點就可以了,聽著面試官說「It’s very close」,會莫名感受到希望與絕望並著( ͡o ͜ʖ ͡o),而不是開心雀躍「喔耶我快解出來了」( ͡o ͜ʖ ͡o)