Just Finished My Amazon Interview


I just finished my Amazon Front End Intern Interview, here is the process. The interview took about 1 hour, and it’s a phone interview with code sharing website Collabedit. It’s my first technical interview ever. :laughing: And the interview happened in China, I am interviewed by a guy in Beijing.

I was notified a day before the interview, the recruiter called me, and then an email about the detail of the interview was sent. And I started to search some resources for the last minute preparation. Here is some great links I found:

This site is very helpful in presented you some interview question together with answer and possible follow-up question from the interviewer. And by searching the Github you will find some other resources such as this one. But it doesn’t seem to provide the answer, so it’s relatively less helpful.

During the interview, the interviewer was very quiet, and he just didn’t provide much useful feedback when I try to explain something to him, so I have no idea whether he understand it or not. It’s especially true when I am trying to explain the idea behind the Quick Sort algorithm. I have been speaking for about 10 minutes without any feedback from him, dead silent on the other side of the phone. And I had to ask “whether I make myself clear?”. And he replied with something like ‘I understand’ or ‘keep writing the code’.

Here is the questions being asked(to the best of my recollection):

Question related to my resume:
What framework you have used?
Tell him something about Bootstrap and jQuey, since I mentioned that I am familar with them.
Tell him about some technical challenges I have encountered?

I don’t think I performed well on these questions, I have some trouble remembering the Chinese equivalent of some technical term cause me some headache.

What is the difference between strict mode and normal mode?
I dont’ really know the exact difference, so I just told that strict mode will have a stricter grammar check.

What is the type of NaN?
I made this wrong as well, my answer is Object, which is stupid.

Tell me about javaScript variable scope.

What is the difference between let and var?

How to check NaN?
I used the property that NaN not equal to itself to check the NaN, but I forgot to mention the isNaN method. I don’t know whether interview is satisfied.

What is the output of the following code snippet?

function foo() {
        name: "Hello"

I thought it will return an object, but actually it will return nothing since the object is unreachable.
Write some loop
That’s not very hard. I wrote the “for” loop, “while” loop, “do-while” loop.

Write a Quick Sort in JavaScript.
This is super tedious. I spend half an hour to explain to my interviewer about the algorithm and the implementation. I don’t think it is a good interview question, it’s just too hard, though I think I got the idea right which is quite lucky since I just learnt it from Coursera.:wink:

Do you have any question for me?
I just asked him when the result will be released and what will I do if I get the internship.

Overall, I am not sure whether I will get the offer, it seems like I made many mistakes. God bless me for the job.


“Do you have any questions for me?”

I always like to ask: “Is there anything we discussed that would give you a reason to not hire me?”

That forces the interviewer to give you immediate feedback on the spot, gives you a chance at damage control, and shows the interviewer you can take criticism.


Seems u r having a hard time …Good Luck!


Thanks! I think this question is very useful. Thanks for mentioning!:grinning:


Yes, it is very tough to have any meaningful conversation with the interviewer if he keep his mouth shut most of the time.:neutral_face:


This is beautiful advice… I read that question while preparing for interviews when I got my last job… her eyebrows went up and I swear she got a sparkle in her eye :laughing: Told me that as a matter of fact no, she cant think of a reason not to hire me then offered me the job on the spot. This was for a sales job, but still… it worked for me :smiley:


From what I’ve heard from interviewers (and there was a reddit post about this a few years ago), this question can backfire in dramatic fashion. If the interviewers were on the fence about hiring you before asking this, you’ve just forced them to think about why they shouldn’t hire you instead of why they should, and you don’t want to end the interview on that note. No matter how they felt about you before, it’s a very awkward question to answer and the interviewer could resent you for asking. I’m not some interview expert or anything (I shouldn’t be giving anyone advice on human interaction, to be frank), but it seems like a very risky question.

You went through an interview for one of the largest, most demanding web development jobs in the world. Even if you don’t get the position, you should feel great that you showed up and were able to give the answers you gave.


You are very lucky to have attended their interview.Good luck fellow camper.

Right now,you have two options for the outcome.You might get a job or not.In case you get it,well done.However,if you don't make it,take heart and don't be discouraged.Just analyze the question slowly and sure.Learn as much as you can from it and move on.

Keep applying to several companies.You'll finally get a job.You can sign up with angelist and apply to as many jobs as you can.


Of course knowing the type of NaN of a specific programing language is extremly important knowledge that can’t be looked up within seconds anywhere. Seriously I can’t think of any skill more useless as knowing the type of NaN from the back of my head. What does this question show about your skills? Either you know it because you looked it up or you don’t. I thought it is more important to ask general questions that allow you to showcase your deductive reasoning skills and how you model and abstract stuff. For example: “We have scroll eventhandler on our website and atm it is quite resource intensive. Can you optimize this event handler so it uses less resources?”. And the answer could start with implementing a debouncer or throttler depending on the scenario. And even for techincal questions (not problem solving) there are better questions that imo knowing the answers to them is more important than the type of NaN. “Explain how setTimeout works”, or “Explain event delegation”. I am a bit disapointed that such a question comes from a company like amazon.


I agree, this question is awkward for the interviewer. The only situation where it isn’t awkward is if the interview went perfectly and the job candidate knocked it out of the park. You’re asking the interviewer to quickly decide the cons of you as a job candidate when you really want the interviewer to take their time and be thoughtful when evaluating you as a candidate.

Most interviewers don’t want to be negative to job candidates in interviews. They want the interview to be a positive experience for everyone involved regardless of whether or not they decide to move forward with the candidate. When a candidate asks the interviewer if there are any reasons they wouldn’t hire them, not only is the candidate forcing the interviewer to think of the negative aspects of them as a candidate, but the interviewer is also forced to figure out how to say these negative things without seeming mean or harsh. It’s uncomfortable and is likely to give the interviewer negative feelings about the interview, which will then affect their overall perception of the candidate.

No one wants to be forced into uncomfortable situations, especially when interviews are already uncomfortable. The entire hiring process is uncomfortable for interviewers as well as the job candidates. Interviewers have had to:

  • (Possibly) Write/Edit the job description, including salary. They may have had to sit through multiple meetings for this step.

  • (Possibly) Form a search committee.

  • (Possibly) Create some sort of rating scale or matrix for candidate evaluation.

  • Create hiring plan, which includes: how many candidates to interview, how many interview stages there will be, what skills tests will be administered and in what format (portfolio walkthrough, code review, etc.).

  • Write interview questions.

  • Post the job to multiple job sites, listservs, etc.

  • Evaluate however many applications are submitted and decide who to interview.

  • Schedule interviews.

  • Interview candidates and decide who to move forward with, either for additional interviews or a job offer. You may have to write some sort of justifications for your decisions.

    And then they have to:

  • Check references.

  • Make the offer to the candidate. If the candidate declines, the interviewer has to repeat some or all of the above steps. If the candidate accepts, the interviewer has to negotiate salary, connect with HR for pay/benefits/visas/etc., create or set up onboarding and training plan, and the list goes on.

The exact process is a little different at every company, but at any company, it’s a ton of work. Sometimes other people will complete different steps in the process, and sometimes it’s up to the interviewers to handle the entire process. I would argue that interviewers have to do way more work to hire people than job candidates have to do to apply and interview for jobs. This is a bit of a tangent, but I think it’s helpful to know the situation the interviewer is in and all the work they’ve had to do up until the point of interviewing candidates. Interviewers have already been put through a grueling process, and after all that, the last thing they want is to be put in an awkward situation by a job candidate.

I work at a university, so when I do any hiring I have to go through every step I mentioned above mostly by myself. Plus I have to do a lot of extra reports on major steps in the process, a lot of scheduling search committee meetings (extra difficult when faculty schedules are involved :grimacing: ), and waiting on various third-party approvals on different steps in the process. It’s a monster of a process.

This question also disrupts the dynamic of the interview, and not in a positive way. The burden of proof, so to speak, lies with the job candidate and not the interviewer. The job candidate is supposed to be proving to the interviewer that they should be hired for the job. It’s not the job of the interviewer to tell candidates why they won’t be hired. Switching the interview dynamic like this can definitely cause resentment, just like @PortableStick said. This question may be okay as a follow-up after you’ve been told you didn’t get the position, but it would have to be worded very carefully. It’s probably best to avoid it altogether.

I’ve interviewed a few people who have asked me this question. They were all candidates that performed poorly in the interview up until they asked this question, which means that it was already a disappointing experience, and then with this question I was put through the turmoil of trying to be honest and open while not crushing the candidate’s self-esteem. Even if the interview had been perfect and the candidate did well, answers to this question wouldn’t be helpful and it wouldn’t improve my impression of the candidate.

There are plenty of better questions to ask at the end of the interview, so I would say that this one should be avoided.


I’ve used a variety of this question in job interviews in the past (for teaching positions) but I’ve always phrased it as something like ‘Is there anything in my CV or in what you’ve heard in this interview that you have any questions about or that has given you any reservations? Because I would like to try to address that.’

I figure this phrasing gives them a chance to voice concerns without being as direct or aggressive.


moreover it makes you think whether u gave your answer right or wrong with a negative feeling.


Super valid points about “the question!” and I do have to say, this is probably a matter of being aware enough of the interview to know if its going well or not, if its not, the question will come off in bad taste, the social awareness to be able to read your interviewer and gauge if they would take it well …if you’ve made no connection with them whatsoever, probably best to not ask, as well as your own ability to be able to deliver the question in a way that it comes off positive, not negative, and if asking a direct question like that one feels like a negative, then its definitely going to come off that way if you ask it.

I think when it comes to how you come across to people whether in an interview or just in any social interaction…if it feels wrong to you and in your head you’re thinking, theres no way I could get away with saying that…then dont say it! Dont ask it! Dont do it! No matter what tips worked for anyone else, if it makes you feel awkward and feel negative, then its wrong for you. You have to know your own strengths and weaknesses and be able to present the best side you possibly can.

Anyway, back to @524119574 (thats a very hard name to pronounce btw! :laughing: ) Even though your interviewer was quiet I get the gist he was actually quite interested…when you asked for feeback he told you to keep coding, thats WAY better than him saying…yeah actually Ive seen enough you can stop now. Seems like he was just leaving you to concentrate on your task at hand and interested to see where your thoughts were taking you. It will be interesting to see what happens…no matter what, this was a great learning experience, thanks for sharing that with us :blush:


Do I get an office or a cubicle?


Interviewers are not there to handhold a candidate in a technical interview - many interviewers deliberately avoid giving feedback in order to not influence the candidate’s work - a strong candidate should demonstrate competence not seek approval or fish for guidance - that said, candidates who continuously explain their thought process and share their problem-solving approach even when stuck or struggling are greatly appreciated


Thanks! And I have learnt a lot from my interview preparation process and from the interview itself. :smile:


Here’s a few things to consider about this

Candidates are not forced to take the interview - they are not forced to answer any questions - each interview is an opportunity given by the company for candidates to demonstrate their qualifications - how could forcing the interviewer or putting them on the spot possibly be good for the candidate?

Each interview is part of a long and involved process - sometimes interviewers make up their mind early - usually they fill out an assessment after the interview - they’ll look at their notes and the candidate’s work - this takes a few minutes of reflection - what would be the point of making them rush to judgement during the interview?

Phone screen questions are pretty cut and dried - they determine basic suitability for later interview stages - mistakes on what the interviewer believes are straightforward questions cannot be unwrought with spin or excuses

The ability to take criticism could be of interest in a behavioral interview at a later stage - a phone screen interviewer is likely not interested in assessing such metrics


I would like to add that most times the interviewing manager is not very knowledgeable; therefore he/she is unable to discuss anything with you. I would think a big company like Amazon will have people in the US interview people for developer jobs.


If your aim is to get a job here these things you should never do during an interview. You’ll ensure that your amazing capacities and achievements—not an absolutely avoidable violation of social norms—will be what your questioner recalls.

  1. Talking about the salary
  2. I’m applying for this job because it will give me
  3. I’m not sure if I’m a good fit for this job
  4. I’ll Do Whatever
  5. Sorry I’m So Late
  6. Would You Like to See My References?
  7. Don’t Talk About Your Personal Life


Can you explain what you mean by this? I feel like I’m so lost but this is really helpful and real word application…