Live data from Hacker News

Amazon software engineer interview

sobit.me

21–30 of 189 posts

Re: Amazon software engineer interview

#21
post #11

Earlier quoted context omitted.

Get the book, "Cracking The Coding Interview." It was the most valuable resource for me in preparing for technical interviews near the end of my time in undergrad.

Yes, I bought it last week. But, couldn't answer through the questions because I didn't know the concepts and DS's. Could you answer these 2 questions? 1. Where did you learn how to implement the Data Structures and Algorithms? 2. Also, I'm in a dilemma between using Python and C/C++. Which one would you suggest?

I'd be more worried that in 3rd year of a CS undergrad you don't know how to implement data structures and algorithms.

1. There's lots of great books out there, and resources online. Learn what the interface of a given data structure is, and then go and try to implement it yourself in any way possible, then look up solutions for how it's typically done. Just code a lot! And learn what Big-O Notation is about, analyze your own solutions.

2. Both. It doesn't matter. Java is popular at Amazon, if that's your goal. Look, there's learning a programming language and there's learning to program, and these are different skills that complement each other. You will need to learn a new language a dozen times in your career, so just learn a few different ones right now and then focus on being a good programmer instead of a good C++ programmer.

Re: Amazon software engineer interview

#22

In total I had a little less than one month to prepare for the interview. I can't help but to wonder if it was really worth it. Surely, his prep helped him get the job, but the entire prep stage he describes seems like a very high up-front cost. I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. You should know exactly why you want to work for Amazon.…

> I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong.

I have this feeling too, but I am not sure if it is warranted.

Let's do a thought experiment: grab an engineer at random, don't tell the interviewers that they are already a colleague, and subject to the same interview process as everyone else. Now, is this engineer going to pass the interview? Maybe, but I would not be surprised if most failed.

It's very rare that the interview process will actually test anything that's used on the job.

Re: Amazon software engineer interview

#23

In total I had a little less than one month to prepare for the interview. I can't help but to wonder if it was really worth it. Surely, his prep helped him get the job, but the entire prep stage he describes seems like a very high up-front cost. I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. You should know exactly why you want to work for Amazon.…

It's not worth it. Think about what the work environment is going to be like if that is the interview process.

Re: Amazon software engineer interview

#24

In total I had a little less than one month to prepare for the interview. I can't help but to wonder if it was really worth it. Surely, his prep helped him get the job, but the entire prep stage he describes seems like a very high up-front cost. I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. You should know exactly why you want to work for Amazon.…

It's interesting to see how "whiteboard interview" prep mirrors standardized test prep.

What is frustrating is that the prep month (?! a month is an eternity) could have been used to contribute to an personal project of choice, which would have said a lot more about the author's ability to program.

Re: Amazon software engineer interview

#25
post #11

Earlier quoted context omitted.

Get the book, "Cracking The Coding Interview." It was the most valuable resource for me in preparing for technical interviews near the end of my time in undergrad.

Yes, I bought it last week. But, couldn't answer through the questions because I didn't know the concepts and DS's. Could you answer these 2 questions? 1. Where did you learn how to implement the Data Structures and Algorithms? 2. Also, I'm in a dilemma between using Python and C/C++. Which one would you suggest?

Recently I interviewed at AWS at amazon for a SDE position and got an offer too. I used Python for all my DS and Algo problems. It purely depends on your comfort level with the language.

Re: Amazon software engineer interview

#26
post #11

Earlier quoted context omitted.

Get the book, "Cracking The Coding Interview." It was the most valuable resource for me in preparing for technical interviews near the end of my time in undergrad.

Yes, I bought it last week. But, couldn't answer through the questions because I didn't know the concepts and DS's. Could you answer these 2 questions? 1. Where did you learn how to implement the Data Structures and Algorithms? 2. Also, I'm in a dilemma between using Python and C/C++. Which one would you suggest?

1. Freshman year there was a data structures and algorithms course. These remained important through my university career.

You sound unlucky, so here's what you do: implement each one you are unfamiliar with in your favorite language and analyze the complexity of them. Start with linked list algorithms, then stacks/queues, then maybe heapsort and trees then implement Dijkstra's graph algorithm and BFS / DFS.

Re: Amazon software engineer interview

#27
post #11

Earlier quoted context omitted.

Get the book, "Cracking The Coding Interview." It was the most valuable resource for me in preparing for technical interviews near the end of my time in undergrad.

Yes, I bought it last week. But, couldn't answer through the questions because I didn't know the concepts and DS's. Could you answer these 2 questions? 1. Where did you learn how to implement the Data Structures and Algorithms? 2. Also, I'm in a dilemma between using Python and C/C++. Which one would you suggest?

1. If you're a third-year CS student, you should already be getting lots of practice in implementing data structures. If you're not, complain to your professors. They're giving you a terrible education.

If you're not getting practice enough, pick up a good textbook on data structures and algorithms that does contains only pseudocode (or that's in a language you don't use), and try writing their algorithms in a language that you know.

2. Both Python and C/C++ are good languages, but for very different things.

Python is superb for glue code: bringing together modules from multiple sources.

C/C++ is superb for writing individual components that need to work as quickly as possible.

I'd recommend that you learn Python first, then C/C++.

Good luck!

Re: Amazon software engineer interview

#28

In total I had a little less than one month to prepare for the interview. I can't help but to wonder if it was really worth it. Surely, his prep helped him get the job, but the entire prep stage he describes seems like a very high up-front cost. I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. You should know exactly why you want to work for Amazon.…

You would span that prep over more than one month if you're still in college. Then if you get to do some other interview later in your career, going over those same materials won't take you as long. so the up-front cost is paid only "once".

>I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong.

The problem here is that your existing day-to-day skills are very different from what is being asked at the interview. See every Hacker news discussions about how broken interviews are. The author's job at Amazon is not going to be "how would you find the common ancestor of these 2 nodes in a toy struct Node{ int value; Node* left; Node* right ; }; binary tree"

For the brushup on algorithms and data structures I would add this one, missing from many books: Implement a simple queue based BFS/DFS algorithm on a toy graph (struct Vertex{ T data; std::vector neighbors; }; use of basic data structures like std::queue and std::unordered_map/set allowed). Being able to code a sssp on an unweighted graph should be a doable objective.

PS: Another resource I enjoy that the author didn't mention : https://www.amazon.com/Programming-Interviews-Exposed-Secret...

Re: Amazon software engineer interview

#29
If you feel a great sense of accomplishment from being hired at Amazon, that's fine. If you believe that you are a superior engineer on the basis that you were hired by Amazon (or Google, Facebook, Microsoft, etc.), you are making a very bad assumption. Some current engineers and alumni believe this fallacy because it supports their beliefs about themselves. It's a trap that stifles their growth. It's as if people aren't aware that these companies desperately need engineers.

Re: Amazon software engineer interview

#30

In total I had a little less than one month to prepare for the interview. I can't help but to wonder if it was really worth it. Surely, his prep helped him get the job, but the entire prep stage he describes seems like a very high up-front cost. I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. You should know exactly why you want to work for Amazon.…

> I've always felt that if I can't get through an interview with a little prep and my existing skills, I don't belong. I have this feeling too, but I am not sure if it is warranted. Let's do a thought experiment: grab an engineer at random, don't tell the interviewers that they are already a colleague, and subject to the same interview process as everyone else. Now, is this engineer going to pass the interview? Maybe…

We've talked about doing that. My fear was always that I'd fail and they'd reconsider my own employment :)
Post reply on HN