Introduction

Positions: software-engineer-new-aws-initiative-seattle

Amazon Ways

  • Earn Trust with the customer by making precise, high-bar promises and then keep them.
  • Make long-term investments - sometimes at the expense of short term gains.
  • Share the good and the bad to help customers make informed decisions.
  • Avoid the bland personality that customers typically associate with the big homogenous, corporate Borg.
  • Take credit for the impressive things the you do in a way that is subtle and sophisticated.
  • Speak to the customer in a tone that is neither boastful nor boring.
  • Use specificity when possible and sensible.
  • Title the features factually, with a degree of precision.
  • Don’t make content look like an Ad.
  • Stay away from creating new icons.

Amazon Divisions

  • Amazon Devices and Services
  • Amazon Marketplace
  • Amazon Web Services
  • Business Development
  • eCommerce
  • Kindle, Digital Content and Publishing
  • Retail
  • Worldwide Operations and Customer Service

Interview Tips

  • Be prepared to discuss technologies listed on your resume
  • Ask Questions where necessary - collaborate
  • Be concise and detailed in your responses - pause and see if the interviewer still wants to hear more on the topic?
  • Reflect on how you think a career with Amazon would be mutually beneficial?
  • Answer “Why Amazon?” properly - not just a checkbox question.
  • Take time and prepare a couple questions for the interviewer.

Leadership Principles

Customer Obsession

Ownership

Invent and Simplify

Are Right, A Lot

Learn and Be Curious

Hire and Develop the Best

Insist on the Highest Standards

Think Big

Bias for Action

Frugality

Earn Trust

Dive Deep

Have Backbone; Disagree and Commit

Deliver Results

SDE Principles

Drive Quality

Have Excellent Functional Skills

Deliver Results

Innovate and Simplify

Have Operational & Customer Focus

Communicate Clearly

Exercise Judgement

Demonstrate Engagement and Teamwork

STAR Approach

Situation / Task

  • Describe situation and context of the story
    • Where did it occur?
    • When did it happen?
    • Why is it important?
  • Probing
    • Why is it important? What was the goal?
    • What was the initial scope of the project? What were the challenges?
    • What were the risks and potential consequences if nothing happened?
  • Challenge
    • Why did you choose this story to illustrate a xyz accomplishment?
    • What other stories can you think of, to demonstrate xyz?
    • Could you come up with a more recent example?

Action

  • What actions did you take?
    • What did you personally own?
    • How did you do it?
    • Who else was involved?
  • Probing
    • Deep probe functional expertise and/or assigned core competency.
    • Were you the key driver or project owner?
    • What was your biggest contribution? What unique value did you bring?
    • What were the most significant obstacles you faced? How did you overcome them?
  • Challenge
    • What did you do specifically versus the team?
    • How did you set priorities… deal with xyz problem… or get manager buy-in?
    • What decisions did you challenge? Why? How did you influence the right outcome?

Results

  • How did you measure success? What results did you achieve?
    • Cost Savings, revenue generation
    • Quantify to understand volume, size, scale?
    • Percentage change, YoY improvements?
    • Time to market, implementation time, time savings?
    • Impact on the customer, the team?
    • Quality Improvements
  • Probing
    • Why did you choose to focus on these results? What other results were important?
    • You mentioned revenue, what percentage change is that year over year?
    • What trade-offs did you have to make to achieve this? (quality, cost, time)
    • I’m concerned about… (The time it took, the volume, the customer impact), tell me more…
  • Challenge
    • What were the lessons learned? What would you have done differently?
    • How would you improve the process or result today?
    • How would you implement this at Amazon?
    • How did these results compare to your actual goals? (refer back to goal stated in Situation)

Technical Topics

Programming Languages:

  • Java / Python Syntax
  • memory management
  • commonly used collections, libraries etc.

Data Structures:

  • storing and accessing data efficiently
  • inner workings or common data structures and be able to compare and contrast their usage
  • runtimes of common operations
  • memory usage of common operations

Algorithms

  • understanding of common algorithms
  • traversals, divide and conquer, other common algos,
  • when to use DFS vs BFS, tradeoffs?
  • Runtimes, theoretical limitations
  • basic implementation strategies of different classes of algorithms

Coding

  • Syntactically correct code
  • code with pen and paper to practice
  • scalable, robust, well tested code
  • main criteria for interview, so practice well
  • handle edge cases, validate bad inputs
  • as close to production as possible.

Object-Oriented Design

  • extensible, long-lived, bug free code
  • good software design is critical for success
  • use object-oriented design principles
  • know common and useful design patterns
  • use inheritance and aggregation
  • not asked how each design pattern works, but should be able to defend.

Databases

  • Most software is backed by a data store
  • efficiently retrieve and store data
  • non relational DB movement, DynamoDB for All
  • tradeoffs between relational and non relational DBs
  • no expertise assumed

Distributed Computing

  • Systems at Amazon run with strict tolerance and high load
  • basic distributed systems concepts
  • service oriented architectures, map-reduce, distributed caching, load balancing etc.

Operating Systems

  • no designing an OS from scratch
  • memory management, processes, threads, synchronization, paging, multithreading etc.

Internet Topics

  • Amazon is an online business
  • how internet works
  • browsers, DNS lookups, TCP/IP, socket connections - know basic networking

Machine Learning and AI

  • data driven modeling, train/ test protocols, error analysis, statistical significance
  • formulate problem as a machine learning problem and propose a solution - include ideas for data sources, annotation, modeling approaches, and potential issues.
  • understand basic AI/ML methods and algos

Coding Practice

Leetcode - Amazon top 50 Problems

  1. Easy - 1: Two Sum
  2. Easy - 21: Merge Two Sorted Lists
  3. Easy - 20: Valid Parentheses
  4. Easy - 121: Best Time to Buy and Sell Stock
  5. Easy - 937: Reorder Data in Log Files
  6. Easy - 994: Rotting Oranges
  7. Easy - 572: Subtree of Another Tree
  8. Easy - 819: Most Common Word
  9. Easy - 1099: Two Sum Less Than K
  10. Medium - 200: Number of Islands
  11. Medium - 146: LRU Cache
  12. Medium - 5: Longest Palindromic Substring
  13. Medium - 3: Longest Substring Without Repeating Characters
  14. Medium - 138: Copy List with Random Pointer
  15. Medium - 253: Meeting Rooms II
  16. Medium - 973: K Closest Points to Origin
  17. Medium - 380: Insert Delete GetRandom O(1)
  18. Medium - 49: Group Anagrams
  19. Medium - 240: Search a 2D Matrix II
  20. Medium - 127: Word Ladder
  21. Medium - 348: Design Tic-Tac-Toe
  22. Medium - 347: Top K Frequent Elements
  23. Medium - 692: Top K Frequent Words
  24. Medium - 957: Prison Cells After N Days
  25. Medium - 103: Binary Tree Zigzag Level Order Traversal
  26. Medium - 545: Boundary of Binary Tree
  27. Medium - 456: 132 Pattern
  28. Medium - 1268: Search Suggestions System
  29. Medium - 694: Number of Distinct Islands
  30. Medium - 1167: Minimum Cost to Connect Sticks
  31. Medium - 866: Prime Palindrome
  32. Medium - 1102: Path With Maximum Minimum Value
  33. Medium - 1152: Analyze User Website Visit Pattern
  34. Hard - 42: Trapping Rain Water
  35. Hard - 1192: Critical Connections in a Network
  36. Hard - 23: Merge k Sorted Lists
  37. Hard - 273: Integer to English Words
  38. Hard - 297: Serialize and Deserialize Binary Tree
  39. Hard - 642: Design Search Autocomplete System
  40. Hard - 295: Find Median from Data Stream
  41. Hard - 212: Word Search II
  42. Hard - 140: Word Break II
  43. Hard - 460: LFU Cache
  44. Hard - 239: Sliding Window Maximum
  45. Hard - 126: Word Ladder II
  46. Hard - 472: Concatenated Words
  47. Hard - 99: Recover Binary Search Tree
  48. Hard - 588: Design In-Memory File System
  49. Hard - 1044: Longest Duplicate Substring
  50. Hard - 1000: Minimum Cost to Merge Stones