2

Here is the response from the hiring manager as a feedback:

Thanks for your time. We enjoyed interviewing with you as well, but the team felt some shortcomings in the translation of algorithms to actual code.

The questions where I think I failed were when they asked me to implement insertion and deletion of heap. I was familiar with it and gave a design of what happens, but when it came to implementation I wanted time to think. The interviewer just rushed and moved on to the next question.

The second instance was when I was asked to design and implement an elevator. Again, I could design it but the implementation is when I wanted time to think again, which I clearly was not provided for whatever may be.

I have been practicing competitive coding for the last 1.5 years and having solved over 150 leetcode questions and completed solving CTCI. I do knot know what else to do to improve myself in coding.

DarkCygnus
  • 83,211
  • 31
  • 198
  • 309
  • Your last question was off topic and this one is exactly the same. Can you try to reword it and possibly reduce its length? – DarkCygnus Oct 27 '17 at 02:17
  • If you want your question merged I suggest you use the contact us option at the bottom of the page. Or contact a mod somehow. – DarkCygnus Oct 27 '17 at 04:04
  • Made several edits to your question to improve it and make it clearer :) feel free to add any other relevant details you consider. Also added an answer that may help you. About your previous question I still suggest what I said before. – DarkCygnus Oct 27 '17 at 04:16
  • I started writing an answer, but then I realised I'd just be saying what I already wrote in the answer to the question I linked to from your previous question. Have you read all those answers yet? – Bernhard Barker Oct 27 '17 at 04:21
  • Note that what they are telling you will not necessarily be the actual reason for rejection. – pmf Oct 27 '17 at 06:18
  • In my experience with elevators, no elevator company will ever hire anyone who can do a good job at programming the movements of the elevator :-( – gnasher729 Oct 30 '17 at 20:45

2 Answers2

3

Don't beat yourself up. The first question you were given was quite difficult. Although, I can't say anything about the second question, the elevator question, since you haven't given us enough details about that one.

How to improve myself at technical coding interviews?

You practice with Pramp. That's the correct answer to your question. It's a site where programming job hunters take turns interviewing each other over real-time video conferencing and with a shared code editor.

You select which language(s) and a few categories you want to be interviewed on. You select a few time slots where you have an hour free. Pramp supplies one question (for you to ask the other person), plus the hints (if he gets stuck) and the answer. And then Pramp notifies you when it found you a match for your appointment.

If the person flakes on you for your virtual practice interview. The next time he wants an appointment, Pramp will match that person with another person who flaked on a previous interview. But if you don't flake on anyone, Pramp will make sure to keep on matching you with people who usually do not flake on their practice interviews.

So you interview the other job-hunter for 30 minutes with the question that was given to you for that purpose. After that, he interviews you with the question that was given to him for you. The questions are very good and difficult given the time constraint. If a question seems too easy, it can happen, but don't be mislead, that's usually because they expect a very thorough answer from you. Then after each interview is over, the interviewer fills out a small evaluation form, which you will see. But of course, he probably also gave you some good verbal feedback during the interview, assuming you both had extra time.

One part I absolutely love about this is that you get to experience interviews from both sides, so you get a real good idea of what your competition might be like. And you will interview programmers that are below your level and some that are above your level.

You'll start seeing flaws in the way some programmers interview, that you will also recognize in yourself to some degree. For instance, you mentioned thinking. Everybody thinks. Some people need more time to think. Some people need less. But some people have trained themselves to talk out loud while they're thinking and describing their thinking process as well. And some others follow the thinking process described by Gayle McDowell in her book Cracking The Coding Interview, so they're not thinking as much, they're going through a mental checklist which makes it easier for them to think about other things, but which makes it easier for them to describe out loud what they're personally thinking about as well.

Disclaimer: I'm not affiliated with Pramp in any way. And right now, I still don't use that site very much, because it is still a little too tough for my level. I just think that they give you the most realistic simulation of what a remote technical interview can be like.

Another thing you can probably do is post a free ad on craigslist, or go to meetups related to technical coding interviews (or related to your field), and find other real live job hunters to practice with. If you're in the US, I assume you'll have free time-limited access to small conference rooms with whiteboards inside of public libraries, or that you'll be able to get access to a place with whiteboards/blackboards that you'll be able to use. Since a portion of your interviews will include using the whiteboard, pairing up with someone and practicing those kinds of interviews with that person should become a part of your plan.

Stephan Branczyk
  • 58,781
  • 29
  • 128
  • 208
1

how do I improve on the feedback?

You want to analyze the feedback received so you can focus on those aspects that may need improvement, to become better with each feedback you get.

In a way, it is easier to get nervous on interviews, probably more than competitive coding or coding from your personal desk. This is something you could try working on, to train your mind to calm on situations like this.

Based on what they said to you (and what you described from the interview process) seems that you hesitated when implementing the tasks, rather than failing on understanding them.

As a coder myself, this may suggest that even though you know about the language you lack a bit hands-on experience on common design patterns or useful libraries for such tasks.

This may be solved by experimenting with frameworks, patterns and recipes, tutorials, etc., related to the subject in question.

Another important thing I have experienced is that copy-pasting refactoring code is not a way to really learn these things, and is a habit one tends to adopt when working on the field. To decrease your "hesitation" when coding I suggest you train coding from scratch until it comes naturally. Good luck, hope this helps.

DarkCygnus
  • 83,211
  • 31
  • 198
  • 309