最近刚结束了亚麻(Amazon)SDE岗的远程面试,脑细胞阵亡无数。作为在科技大厂求职路上苦苦挣扎的同胞,深知一份热乎乎的面经有多重要,所以赶紧把这次的题目和一些个人感悟码出来,希望能给正在备战或者未来要面试亚麻的小伙伴们一点小小的参考,主打就是一个信息共享,少走弯路!这次面的是New Grad岗位,整体感觉亚麻还是挺看重候选人的思考深度和代码基本功的。
面试第一轮上来通常少不了一些行为问题(BQ)热身,面试官小哥语速适中,氛围还算轻松。他先问了:
q1: realize a deeper level for your subject of your job
这个问题其实是想了解你对自己工作领域或者项目的钻研程度。紧接着的追问是:
follow up question: how deep dive into sage (这里的"sage"我理解为他对我简历中某个项目或技术的代称,具体指代的内容会因人而异)
核心就是要你举例说明怎么深入挖掘和理解一个技术点或业务逻辑的。另一个问题也很有代表性:
q2: give me a example of time when you explore a new / expected area of an existing space
然后,面试官会很自然地跟进:
follow up question: what's the result
这两个问题连环考察的是你的探索精神、学习能力以及最终能否产出成果。回答这类问题,我个人感觉就是要把自己做过的事情有条理地讲出来,突出自己是怎么思考、怎么行动,最后达成了什么,尽量往深了说,展示自己的洞察力。
热身完毕,就到了真刀真枪的写代码环节了,这部分才是重头戏。面试官直接甩出题目:
Goal: Find the smallest subarray (i.e., shortest continuous slice) such that it contains all elements of the set at least once.
他还给了一个例子方便理解:
array = ["apple", "banana", "apple", "apple", "dog", "cat", "apple", "dog", "banana", "apple", "cat", "dog"]
target_set = {"banana", "cat"}
这题目一眼看去,经典滑动窗口思路。用左右指针维护一个窗口,配合哈希表记录目标元素出现情况。策略就是先扩张右边界,直到窗口包含所有目标,然后收缩左边界,同步更新最短长度。目标是O(n)时间复杂度和O(k)空间。面试官可能还会问些优化,比如大量长字符串时,可以考虑先映射成数字ID处理。
总的来说,亚麻的面试还是挺硬核的,既看你的行为素质,也深挖你的代码能力和算法理解。希望这次的面经分享能对大家有所启发,祝各位求职路上的小伙伴都能顺利斩获心仪的Offer,早日上岸!冲呀!
本文的作者 石老师,在这里给大家打个硬广,csoahelp.com每日分享北美大厂面经,小红书也有更新,我们还提供种类多样的收费服务协助您进入北美科技大厂,有意向的微信扫码联系我,或者也可以通过其他方式联系我
