⬆️ ⬇️

Whiteboarding (write code on the board for interviews)





Almost certainly, during the interview you will have to write code on the board. Despite the fact that this approach is often criticized, it is still popular with such technical giants as Google, Facebook, Microsoft, Amazon, as well as in many startups.



In this article I will not discuss the viability of this technique (however, I consider that it is useful, because it allows me to look at how the candidate handles the problems). Instead, let's look at typical mistakes during the interview.



Behind the scenes



Not to be unsubstantiated, I say that in 6 years of work at Google I have spent about 200 interviews. As you know, Google’s interviews are quite complex and the personnel department often contacts candidates, even if they have not sent code samples.

')

I interviewed those who could make a truly valuable contribution to our work. I also had to communicate with people who did not have the necessary technical knowledge, abilities or experience. The most difficult interview is somewhere in the middle between these two categories.



A little later, I changed jobs and interviewed several companies and startups in Silicon Valley (Silicon Valley). Thus, I had the opportunity to look at the whole process from the other side.



Organizations when hiring prefer to miss a good employee, rather than make the mistake of hiring the wrong one. You, in turn, want to increase your chances so that the employer has no doubts about your competence. All this may seem obvious, but the problems that I encountered are repeated day after day.



Do not hurry



Relax, cool and try to write as carefully as possible. This will allow you to remain collected and focused, as well as help the interviewer understand if your code really does what it should.



Ask questions



Often, the questions at the interview are intentionally vague wording. The interviewer wants to see how you handle uncertainty and understand the direction of your thoughts while doing so. What are the limitations when you implement an algorithm? Memory, runtime, size of input data, etc.



When you answer questions, try to show the course of their reflections. Often, the interviewer is more important how you get to the answer to the question than the answer itself.



Write the code as you normally do.



One of the most common mistakes is that candidates are lost in their responses. I hope you do not write a function that is 50 lines long in real life. In this case, do not do this at the interview. It is very important to share the code when working on the board - because you can not edit, cut and paste fragments. Yes, and in the heat of the interview, it is very easy to get confused.



Check your work



When you think you are finished, check what you did.



Most mistakes happen in the end. To avoid them, you can go through the code with some test input ... It will not look like you forgot something, or made a mistake. It is unlikely that the interviewer will object if you spend some time on checking. On the contrary, he will be impressed by this.



Make sure your code correctly handles atypical input and boundary values. Consider unit tests for code (Unit Tests) and write them on the board.



Practice



Surely, when preparing for an interview, you will remember the algorithms, read about the latest technologies and best practices (techniques) of development. Take time, and write the code on the board (or even on a piece of paper if you don't have a board).



Consider how you would implement a jQuery helper or method from the standard library of your favorite language. Search the Internet for examples of questions, but ignore sites that tell about manhole covers.



When you think you are done, get your code and see if it really works. Pay special attention to what is not working.



Collect information



Suppose you want to work in a company in which you are interviewing. Try to find out what they generally do.



Undoubtedly, you will be asked about the company's products and “why do you want to work with us”. There may be difficulties with a good response in place. So, in advance find out about the company and think about what you will say.



Enjoy



First of all, try to enjoy what is happening. Be curious and enjoy the challenge. You will learn a lot in the process of interviewing, and most likely improve your skills. Watching you, the interviewer looks at whether he would like to work with you or not.






All these things may look obvious and simple, and it may seem that they have no influence on the prospects of the candidate. But, in fact, it is very difficult to distinguish between those who cannot write code at all and those who have difficulty writing code on the board. So, increase your chances of successfully passing the interview and do not let the board stand in your way.



by Daniel F Pupius



Errors? Typos? Write in the LAN - I will definitely fix everything.



Continuing the theme from habrahabr.ru/post/186002

(one of the links was there for this article)

Source: https://habr.com/ru/post/201772/



All Articles