
Ask HN: Hardest part about preparing for technical interviews? - neilsharma
What is missing from the ecosystem of interview prep resources? What can be done better?
======
AnimalMuppet
The problem is that a technical interviewer can ask literally _anything_
technical. That means you have to be able to answer literally anything. That
means that you have to know (or be able to figure out) _everything_. That's
really hard to prepare for.

The best way to prepare is to actually _learn_ as much as you can - not as
"interview preparation", but as _actual knowledge_. Then, as specific
interview skills, you also need to learn to think under pressure, to
communicate what you're thinking well, and to gracefully and smoothly say that
you don't know, but you could figure it out with a bit of time and Google.

~~~
neilsharma
Yeah, the scope of possible questions is unreasonably vast. Have you come
across any exhaustive list of CS (algorithms) and SWE knowledge needed to
adequately prepare for interviews? Or better than a list, a high quality end-
to-end resource with Q&As?

~~~
AnimalMuppet
No, I haven't.

But I think you're taking my answer in a bit different direction than I meant
it. I meant that the way to "prepare" for the interview is not by preparing
for the interview, but rather by really learning stuff that you actually need
for your career. Don't try to figure out how to game it. Instead, learn more
so that you're more the candidate that they're looking for.

Now, you can still get tripped up by stupid stuff. "Oh, you didn't know the
exact time complexity of that algorithm? No job for you!" But if they're
playing that kind of game with you in the interview, you may not want to work
there anyway...

~~~
navyad
totally agreed.

------
neilsharma
At times struggled with all of these:

1) learning the data structures / algorithms

2) finding enough problems with quality, step-by-step answers in a language I
use

3) being able to write code on a whiteboard without the help of google

4) being able to code in front of other people without freezing up

5) getting in the practice of talking about my code before/while writing it

6) identifying which data structures/algorithms are needed to solve the
problem

7) learning all the little non-algorithmic tricks to puzzles

I want more practice coding in front of strangers since I tend to lose half my
IQ and critical thinking skills under pressure. Plus, despite the myriad of
leetcode-like websites out there, I want a more exhaustive list of high
quality practice problems with well-explained solutions.

------
RooN3y
Here is a bunch of questions to go through.

I was recently asked some of them and made a note of them for future
reference. A lot of these are open-ended type questions and not specifically
techy questions. I think these can give a very good insight into how a person
thinks and can fish out what they actually have experience with when they give
examples.

1\. Give me an example of when you have had to release code into production
that you didn’t want to. give any explanations/descriptions needed.

2\. How do you keep up to date with the latest tech?

3\. Give me an example of how you have improved some code and why.

4\. Are you a front-end or back-end guy?

5\. Give me examples of how you have stress tested a website or piece of
software.

6\. Have you got any API experience? Give an example.

a. Explain how you would secure an API.

7\. Have you got any experience with Mobile app development?

8\. What are your biggest strengths?

9\. What are areas you could improve on?

10\. Give me an example of when you have disagreed with a decision. How did
you handle it? What was the outcome?

11\. Tell me about your experience using a database?

12\. Tell me about your perfect day. What would you be doing.

There were a lot of specific questions after this but I think these are good
to get you started.

In terms of actually answering your question "What is missing and what can be
done better?", I think the best thing to do could be to simply produce
something using technologies implemented by the company. If someone I was
interviewing asked me ahead of time what techs we use so they can perhaps
write some code to show me then I would happily give them that list and an
example of a public-facing solution (e.g. a company website) for them to see.

A lot of places nowadays (in the UK at least) will just have phone interviews
and a face to face interview to ask techy and personal questions. Then if you
get the job you would be on a probation period for a few months to make sure
you can actually do the job. I think answering the questions above can help to
impress and get you through the door.

Hope this all helps!

------
black_blood
Code Monk has helped me a lot in preparing for my technical interviews. It
helps you improve your programming skills to the next level. I became
efficient in most of the data structures/algorithms after reading through
their tutorials and practicing there.

[https://www.hackerearth.com/practice/](https://www.hackerearth.com/practice/)

Definitely have a look at this, if you want to improve in the field of data
structures for your technical interviews.

