[NDA] Amazon | Virtual Onsite | Jun 2020 | [Reject]
Anonymous User
1283

Status: 9 YoE at around 8 companies (internships included) - mostly have been contracting for a while
Position: SDE
Date: June 2020
Offer: : No

Recruiter Process:
Recruiter reached out at LinkedIn. A lot of Amazon recruiters reach out directly on LinkedIn. So I'd really recommend people here to create a complete LinkedIn profile.

Coding Preparation:
Spent about ~1 month on solving ~40 leetcode questions. Bought leetcode premium and went through the amazon list a little. Until now, I hadn't actually ever prepared algorithm questions for interview. I would just go to the interview and wing it (as non FAANG companies don't ask overly hard algorithm questions). First so called FAANG interview in my life, so I did some preperation. Did the majority of problems a week before Online Assessment and a week before the virtual onsite.

Online Assessment:
They Just came straight out of the leetcode list for OA questions. I had already practiced them, so during the assessment, I was able to finish up coding the solutions in 15 mins. Seems like a complete waste why they would do this, if you can find the questions beforehand. I wrote some code comments and did some formatting etc, to fill up time till 30 mins. Didn't spend the 60?/90? mins or whatever the total time was.

Next day I was asked to choose a date for an onsite interview. I said I need a month, hoping I would do some good preperation (especially DS algos questions), but being busy with my current job and other priorities I didn't have the time or motivation to prepare. Didn't want to burn myself out and also most of these algorithm questions are pretty mundane and not very useful in comparison to real life problems which are much more interesting and rewarding to solve, atleast for me. Finally I started preparing a week before the interview date. In hindsight, I should've just scheduled it a week after.

Leadership Principles preparation:
Recruiter provided the leadership principles. I just looked at it, and it seemed like normal principles that you would follow when working at a company, so I didn't really care to practice on it. Not sure why people with experience ever need to worry about this. Most companies I interviewed before this have a lot of these questions, as part of the interview process, so I'm pretty comfortable answering these as I genuinly can throw out a lot of examples based on my experience.

System Design preparation:
Looked at some youtube videos. Some of them, which cater to interviews specifically, seemed too high level without a good deep dive on architecture, or way too detailed on the code missing important architectural patterns. I don't know how people can just memorize stuff like this and expect and pass a proper system design interview. If I interviewed them, I'd go more deeper on their suggestions and people who had memorized answers would just crumble if they didn't know how these worked. Some examples:- Why API gateway? How is it different from Load balancer.. Why do you need a lambda vs microservices etc. How would you setup Kafka? How would you partition? What would be the parameters for scaling? How would you handle a distributed transaction. What would be the transactional scope? etc.. These interview targetted videos, just put boxes and be done with it. I'm not really sure how those YouTube videos will help you if you encounter a proper interviewer. I just couldn't get myself to fully complete watching any of them.

I think to actually understand architectures, you'll have to read books or go through specialized courses in LinkedIn learning. I have read that ***'s *** the system interview is good, but I didn't know about it until the last week, so didn't purchase it, so I have no idea how good it is.

If you really want to learn something from YouTube, see these videos. Try to find videos which address architecture at this level.

Onsite Virtual Interview:

Interviewer 1 (I believe he is like a staff engineer or something at that level): . Leadership questions: He dived deep into different examples I came up with. Then had a coding question which I struggled on. I was able to come up with the algorithm but couldn't complete coding it fully. The question itself wasn't hard. I had some trouble understanding his requirements initially and he really insisted on solving the problem non-optimally first, which also threw me off. Moreover, I'm more of a person who writes code, deletes, moves, refactors part of the code, writes, moves -- basically iteratively solve the problem. I went back home and solved it optimally in 15 mins. I believe he was looking for me to solve the problem in a certain way and in a certain process (coming up with solution steps first and then writing code). I only had like 30 mins for the coding question. I don't know how it would be reasonable to follow all those steps and solve the coding question within that time (knowing that we didn't have a whiteboard to talk about the problem). Also, time doesn't stop for you. I was coding till the last minute. Had no time for asking questions for him. It was a pretty bad round. Overall a personable interviewer and treated me with respect. I don't blame him.

Interviewer 2 (SDM) : He was not part of my team. Started with behavioral questions. He dived deep into different examples I came up with. We had 30 mins left, so I think he gave me a simple sorting based problem. Finished it and then he added some additional scope to the question. Took me like 10 mins to write the code, and explain etc. . Then basically spent time answering questions I had. He engaged in a relaxed conversation, which allowed me relax after the terrible first round.

Interviewer 3 (SDM): He was from the team I was going to be working on. Started off with leadership principles and dived deep on scenarios. Then proceeded with the system design question. He started off with a simple broad scenario, and I came up with the inital design. He then added constraints and increased scale etc and I made changes to the design. I believe I addressed all the scenarios properly (based on his feedback), but I believe I should've first created the scope and then started the design. That was one drawback from an interview perspective. My one tip for you would be to address the scope first, by asking a lot of questions like SLA, scale, amount of data etc, edge cases and then start the design, rather than doing an iterative approach like I did. He did have to nudge me a little (with questions) to come up with more optimal design. I naturally prefer the iterative way I approached, since that actually aligns with real world workflow, where you start with something small and bounce off ideas with teammates and address their questions and concerns and make changes accordingly. Last 5-10 mins I spent on asking questions for him. Again a good interviewer who seemed engaged and had a conversational style of interview.

Interviewer 3 (Software engineer): Started off with leadership principles and dived deep on the scenarios. Then came up with a simple OOP question. Finished it. He added a little to the scope and I addressed them accordingly. Very simple interview. There was another engineer shadowing the interview process. Then I spent time asking them questions at end. Overall, seemed like a relaxed atmosphere, smilar to what you would experience, when doing pair programming.

Offer:
Update:- Reject

I was told, they really liked me, and were close to hiring me, but finally decided not to go ahead for this particular role and asked me if I'm interested in Systems developer or Front end engineer role. The recruiter scheduled a meeting to discuss other opportunities, I don't think I'm interested in any of them. Dissapointing but atleast I know where I messed up.

I also asked for any feedback. She said, according to amazon policy, they cannot provide any feedback. She did say, that I'm welcome at any time to continue applying for other SDE roles.

Final Thoughts:
I think overall it was an easy interview. It wasn't hard, but I did mess up the first round pretty bad (as I couldn't finish the coding part). There's a high chance he could have rationalized that I'm not good enough based on my perfomance, so I doubt I would be extended an offer. From what I hear from other threads, it might be possible that the first interviewer was the so called bar raiser, since he came up with the more compilcated coding question, compared to others, albiet not particulary a hard one.

Also the interviewers acted cordially, respectfully and engaged appropriately during the entirety of the interview, so I give my kudos to Amazon for that.

Comments (2)