亚马逊 New Grad(NG)面试经验分享

面试流程概览

Amazon NG 面试包含 Coding(算法题)、System Design、Behavioral Questions(BQ),重点考察 数据结构、算法优化、系统设计思维及领导力准则(Leadership Principles)


Coding 轮

1. 计算访问次数最多的 Top K Domains(使用 Prefix Tree)

  • 输入:
    • 一个 sub_domain 列表,包含多个子域名(subdomains)。
    • 一个 domain 列表,包含主域名(domains)。
  • 任务:
    • 统计每个主域名下访问次数最多的 Top K 子域名
    • 使用前缀树(Prefix Tree / Trie) 进行高效查询和统计。
  • 示例数据:
    sub_domains = [
        "news.apple.cn", "news.apple.com", "ipod.apple.com", "hello.hi.apple.com", 
        "finance.yahoo.com", "tea.yahoo.com", "finance.yahooooo.com", 
        "hello.google.com", "news.google.com", "ai.google.com"
    ]
    domains = ["apple.com", "yahoo.com", "google.com"]
  • 考察点:
    • Trie 树构建与查询优化
    • 哈希表结合堆(Heap)获取 Top K 结果。
    • 时间复杂度分析与优化方案

2. Onsite - 查找最长重复前缀(Longest Repeated Prefix)

  • 输入: 一组字符串列表。
  • 任务: 找到 出现至少两次的最长前缀
  • 考察点:
    • Trie(前缀树)构建 & 查询
    • 动态规划(DP)+ 哈希优化
    • Rolling Hash + Suffix Array 解决方案。
    • 时间复杂度 & 空间复杂度优化

Behavioral Questions(BQ)

Amazon 面试非常重视 Leadership Principles(领导力准则),BQ 轮重点围绕 解决问题的能力、团队合作及抗压能力

常见问题

  1. Mistake and lessons learned(犯错 & 学到的经验)
  2. Impossible task at first glance(看似不可能的任务)
  3. Criticism(如何接受批评)
  4. Deep into details(深入细节的经历)
  5. Dispute(如何处理团队分歧)
  6. Simple solution to a complex problem(如何用简单的方法解决复杂问题)
  7. Move fast(如何在快节奏环境中高效执行)

建议: 使用 STAR 方法(Situation, Task, Action, Result)回答,清晰描述情境、任务、执行方案和结果。


面试总结与建议

  1. Coding 需掌握 Trie 及前缀优化技巧,并熟练应用 哈希表 + 堆 进行高效查询。
  2. Onsite 题目涉及字符串优化,建议复习 Trie、Suffix Array、Rolling Hash 等技术。
  3. BQ 结合 Amazon Leadership Principles 准备,确保每个问题有清晰的 STAR 框架答案。
  4. 面试官关注代码质量,代码风格、可读性、测试覆盖率均需达标。
  5. 系统设计可能会在高级别面试中出现,建议掌握 分布式系统架构基础
Previous
Previous

HubSpot 软件工程师(SWE)面试经验分享

Next
Next

Roblox 软件工程师(SWE)面试经验分享