# Amazon Interview Experience (Pool campus- March 2019) – Pune

Recently, Amazon held a Pool Campus drive at Pune in which students from various colleges in the city had appeared.

**Job Profile:** **Software Development Engineer (SDE-1)**

Hey geek! It's time to become a success story instead of reading them. Check out our most renowned **DSA Self Paced Course**, now at a student-friendly price and become industry ready. And if you are looking for a more complete interview preparation resource, check out **Complete Interview Preparation Course**** **that will prepare you for the SDE role of your dreams!

Feeling prepared enough for your interview? Test your skills with our **Test Series** that will help you prepare for top companies like **Amazon, Microsoft, TCS, Wipro, Google** and many more!

**Round 1: (Online coding test on Hackerearth):**

First, there was an online coding test hosted on Hackerearth consisting of 2 easy coding questions and 5 mcqs (easy).

Around 300 people were shortlisted for the final interviews.

There were a total of 4 face to face technical interview rounds. All the rounds were elimination rounds.

**Technical Interview (Round 1):**

It started with a detailed discussion about my projects.

Then straight away jumped to problems.

**Problem 1:**

You are building a website in which users have to enter usernames. If username exists append a number in the following way and return the new username.

Example:

If first input is “abc”, “abc” itself should be returned as it isn’t already existing

If the next input is again “abc”, the string “abc0” has to be returned similarly you’ve to append numbers in an increasing manner as mentioned, if username already exists.

More examples,

If next input was “abcd”, “abcd” itself should be returned

Followed by “abc”, output should be “abc1” (Because “abc” and “abc0”, both were taken)

And so on..

So given any input string give the output username.

**Solution:**

I suggested that it can be done using the Trie data structure. I was then asked to write the code on paper.

**Problem 2:**

Given an array of N integers find the sum of all numbers whose number of set bits is at least two.

Expected time complexity: O(N) strictly

**Solution:**

Problem reduces down to finding the sum of numbers that are not an exact power of 2. Now to check if any number is an exact Power of 2 in constant time, bitwise operations can be used.

For any number N, it is a perfect power of 2, if (N&(N-1)) equals to 0.

I qualified and was called for the next round.

**Technical Interview (Round 2):**

This was also a DSA round.

**Problem 1:**

This was the problem asked. https://www.geeksforgeeks.org/vertical-sum-in-binary-tree-set-space-optimized/

**Problem 2:**

Fully space optimized and time optimized codes were expected.

Cleared the round.

**Technical Interview (Round 3):**

Again, another DSA round. Here are the problems.

**Problem 1:**

**Problem 2:**

Find number of Triplets with given sum

**Technical Interview + Hiring Manager (Round 4):**

This was a technical plus hiring manager round.

The round started with a detailed discussion about my projects followed by 2 DSA questions:

1. Code to check if I given linked list of characters is a palindrome or not (Link)

2. Given the cost of stocks on each day and you can buy and sell exactly one stock you have to maximize the profit. (Link)

Later, I was asked questions like:

Why Amazon, why should we hire you, will you be able to relocate, etc and also a small discussion about the Ashwin-Buttler Incident as it turned out that the interviewer was also a cricket follower 🙂

Overall, I would like to say that the interviewers were really friendly and always provided hints when needed. It was more like a discussion rather than an ‘interview’. Don’t hesitate in asking hints, they’re always there to help. All the best.

Finally, got the offer after a week. 🙂