The process took 1 day. I interviewed at Amazon (Seattle, WA) in Jan 2012
Interview
Which of C++, Java languages supports Multiple Inheritance and which does not ? Follow up: What do you think of Java not supporting Multiple Inheritance?
C++ supports multiple inheritance of classes, Java (and C#) supports single inheritence of classes and multiple inheritance of interfaces.
When C++ added multiple-class inheritence pure OOP was thought to be "the" solution to everything.
In the meantime it was proven that class inheritance is good, but it ends up with tightly coupled systems. The more class inheritance you use, the more likely that one small change will have a huge impact on your entire system.
Loosely coupled inheritance - interfaces - are considered a much better option these days.
Interview questions [2]
Question 1
11 Answers
Given references to roots of two binary trees, how do you short circuit determine whether the sequences of the leaf elements of both the trees are same ? The structure of two BTs may be different. Short circuit : for ex. If the very first leaf element of each tree is different, the algorithm should stop immediately returning false instead of checking all the leaf elements of both trees.
Surprisingly easy — I expected tougher questions, but the coding round felt more like a warm-up. The main challenge was a DSA problem about counting islands in a 2D grid, which led to a discussion on DFS versus BFS and handling large grids. Funny enough, I had revisited that exact type of question while prepping on PracHub, which made me feel more confident. The interview wrapped up with a behavioral round, and I accepted an offer, but ultimately decided to decline it for another opportunity. Overall, it was a smooth experience.
Interview questions [1]
Question 1
Number of Islands — given a 2D grid of '1's (land) and '0's (water), count the number of connected islands. Walk through DFS vs BFS, and discuss how to avoid revisiting cells (in-place mutation vs visited set) and what changes if the grid is huge and must stream from disk.
It started with an OA, and then after a few weeks, I got invited to four rounds of interviews: technical and behavioral at 3 of the 4, and behavioral only at one.
I applied online. I interviewed at Amazon (Calgary, AB) in Jun 2026
Interview
Online Assessment is the first step in the process. I didn’t have an HR phone screening and went straight to the OA after applying. It was sent to me about a week after I submitted my application.
Interview questions [1]
Question 1
The first question is LeetCode style algorithms question, and the second question gives a full stack repo (choice of Java, NodeJS, or Django) and asks to solve a backend issue which is causing a bug in the frontend. Unit tests must pass to pass the second question. You can run both backend/frontend indivdually or together