Guides
Interview practice guides
These notes are original practice material. amazon-oa.com is not affiliated with or endorsed by Amazon. The examples were written for this page. They are not confidential assessment content, and they are not a forecast of what any interview will ask.
This library is original writing for interview practice. It sits next to the homepage, which only links out to public discussions. Nothing here is copied from those discussions, and nothing here is an official question list.
Use the four-week plan if you want a sequence. Use a pattern page when you already know what feels shaky. Each coding page has a small Python example, a complexity note, and the kind of edge case that usually breaks a first draft. Read the code, then reimplement it without looking.
Formats change by role, level, team, and year. When a page talks about an online assessment, it is describing patterns candidates have discussed in public, not a specification. If a recruiter email describes your assessment, that email wins.
Start here
- How an online assessment usually works
What candidates publicly describe, what varies by role, and what this site will not pretend to know.
- Time management in a coding assessment
How to spend a fixed timer so a finished, tested solution beats an unfinished clever one.
- Debugging and work-simulation sections
Change as little as possible, and do not invent a spec the prompt did not give you.
- A four-week prep plan
One possible calendar. Change the hours to match your life, and change the topics to match the invitation you actually received.
- Common mistakes
The bugs that show up after the idea was fine: boundaries, samples, pattern names, and stories with no action.
Coding patterns
- Arrays and hashing
Reach for a map when a nested scan is only there to remember something you already saw.
- Two pointers
Move two indexes in a disciplined way when a full pair scan would repeat the same work.
- Sliding window
Maintain a contiguous slice in one pass when the answer is a stretch of the array, not a scattered subset.
- Binary search
Cut a sorted range in half, but only after you can say which half is still possible.
- Stacks and queues
Use a stack when the most recent unmatched thing matters, and a queue when the oldest waiting thing should go next.
- Trees
Recursion follows a parent to its children. A queue walks a tree level by level. Know which walk you are doing.
- Graphs, BFS, and DFS
The moment a structure can contain a cycle, mark nodes as visited or the walk will never end.
- Heaps and top-k
A heap keeps the current winner at the front so you can ignore the rest of a large list.
- Dynamic programming basics
Save answers to smaller versions of the same problem when a fresh recursion would repeat them.
- Greedy choices
Take the local choice that you can prove does not block a better global answer.
- String problems
Most string tasks are arrays of characters plus a decision about order and contiguity.
Beyond the coding pad
- Leadership Principles and the STAR method
Tell a true story with a situation, a choice, and a result. Let the principle show up inside the detail.
- System design basics for SDE interviews
Start from the user and the numbers you were given. A clear small design beats a pile of named technologies.
Questions about a page go to hello@piyushchhabra.com or the contact page. The about page explains what this site will not publish.