Do you like reeding books? Full review of different kinds of books: technical, fantasy, fiction, etc.

Let's jump in the books world

How to check the Computer Science knowledge during a tech interview for the Frontend Developers

During an interview I prefer not to ask questions like "What are the scopes of a variable in JavaScript?". I am not interested in whether a candidate has a good memory or not. I try to find out the candidate can combine theory and coding skills. Does he even understand what he writes and why?

images/posts/cs-tech-interview/interview_structura.png

In my article about Common mistake in a technical interview for the frontend developers I gave a diagram how, according to my experience, a process of the frontend developer interview passes and what usually the interviewers ask. I wrote, the section about Classic Computer Science almost (in most interviews) doesn’t reveal for frontend developers and a section about Pure JavaScript touches in medium/superficially or in context of the working with some frontend framework like React or Angular depending on which uses on a project.

In my practice as an interviewer I try to combine the questions from the section about Classic Computer Science with questions from Pure JavaScript section and that gives me the understanding not only of the fact that the candidate knows the answers to my questions but also how the candidate can combine the classic theory of Computer Science with JavaScript language.

Generally, I try not to ask questions like "What is the const in JavaScript?" which you can find in any list of the 50 most popular questions for JavaScript interview or something like that.

images/posts/cs-tech-interview/swap.png

For example, it would seem, it is a very simple piece of code that checks what we see when the swap(a, b) function is called. But exactly this code which as it may seem somehow undignified to show to some senior developer, can be a prelude to the very interesting conversation. And the case is not in the question: "What will you see after the function is called?". The case is in the question: "Why will the result of the output be exactly like this, and not otherwise?". Asked this question, we go to the Computer Science world at once. We can talk about the relationship between parameters in a called function and variables in the calling environment. And here we can immediately talk about scope in JavaScript and about pass by value and pass by reference. Starting to talk about that, we face the primitive and the non-primitive types and which the type system has in JavaScript. We can ask the candidate what the stack and heap are and where and how the local and global variables are stored. Of course if he had not told us about it before. And if he has told, it is a very big plus to the decision to hire exactly this candidate.

In addition to this you can give one more small and very simple piece of code and based on it will talk about arrays in JavaScript, how and where the memory is allocated for arrays, about mutable and immutable structures (about embedded methods in array which, for example, do not mutate the existing array), pure functions and why it is important (or it does not important) from candidate point of view and so on. This is from my point of view a small example of how we can move away from obvious questions like "Tell me about scope in JavaScript" during an interview and find out the true level of the candidate but not his ability to remember answers on "100 most popular questions for JavaScript interview with answers."

I don't mind at all (I'm only in favor, but this is a theme of another topic in my blog) if the candidate goes through these "100 most popular questions for JavaScript interview with answers" before the interview and repeats them for themself in scope of an interview preparation. But our task as the interviewers is to check how the candidate can be fluent in the answers on 100 most popular… on the practice, understanding, how they can do it in daily work and not just memorizing them.

Buy me a cup of coffee 😉

PayPal: s.minlevskiy@gmail.com

Berlin relocation Guide

How to receive a German Tax number, open bank account, apply for a Blue Card, setup German health insurance? What additional insurance do you need? How to get a local phone number? Many more is covered!

Learn more...

Serhii's blog. My thoughts about life and IT.

Please, write me: mydevthoughts@gmail.com