📜 ⬆️ ⬇️

Recruitment: The Importance of Primitive Questions

Have you ever been to a long interview? At multi-level interviews? Or maybe you spend these yourself? Many companies lead a similar practice, both large and small, but this practice has a number of obvious disadvantages. Such as wasted time interviewing a person in full, which is not suitable simply for technical skills. In this article I want to describe the approach to interviewing technical skills (we don’t forget about the rest, but we will not consider it in the article), which may save you a lot of time. The essence of the approach is to ask questions that a competent specialist will regard as: “Are you a fool? Ask me about this! ”

Where are we going

For a start, a small lyrical digression. Probably with the release of the book by William Pandstone: "How to move Mount Fuji", many companies are obsessed with questions on intelligence, and many posts on Habré from the category "As I interviewed in the company XXX" confirm this. These puzzles are replicated, they are full in the internet and I think that everyone already knows: why sewers make round and knows five options for deciding how many ping-pong balls will fit into the school bus.
Yes, such questions help to reveal the candidate’s level of intelligence, as well as his approach to solving problems. But he, too, does not guarantee that in a working routine a person will also be smart and active (I know several people who click the IQ puzzles like nuts, but in the work there are lumpy and lazy people). I believe that before bureaucratizing in paper form the procedure for conducting interviews, it is necessary to sit down and make KPIs for all open vacancies, for example: teamwork, loyalty to the company and professional skills. And then conduct an interview, clearly identifying how the candidate will be able to meet our KPI without spending time on all the superfluous.

The essence of the candidate's primary assessment method proposed in this article is the evaluation of answers to primitive questions on programming languages ​​and technologies. This approach is not new, and it was far from me who invented it, but I, like many others, adopted it, making sure of its effectiveness. At the moment I am finishing with the controversy and proceed to the description of the effectiveness of the method by example.

The essence of the method with examples

Sample Multithreading Questions (for Windows)

Question: What are the kernel objects that are used to synchronize threads.
Profit: We will find out which kernel objects a person knows / uses. Does he even know what kernel objects are? Does he have an idea of ​​the competition of threads. According to the response of a person, we can ask a question according to his previous practice, for example, how he used some objects or implemented some interaction mechanisms.
')
Question: What is the difference between the critical section and mutex?
Profit: We will find out not only whether a person read Richter, in case of a positive answer, we can assume that the person knows what context switching is. How critical it is for speed. And, as a result, the fact that a person cared about performance, reducing the number of context switches. Of course, this is only an assumption, but it can always be confirmed or disproved by more specific issues. It’s just that these questions may not be necessary depending on how confidently or deployed the applicant is.

Question: What is deadlock? (it is possible to offer a person to draw on a piece of paper a Dedlock scheme)
Profit: If a person can draw a diagram of the deadlock, then with a high probability I can assume that the person has come across deadlocks, knows how to diagnose them and find and eliminate them. If there is uncertainty, then you can ask more detailed questions.

Examples of questions regarding COM

Question: What is the interface IUnknown?
Profit: If a person does not understand what this interface is for, then he does not understand the whole ideology of the life cycle of COM objects. What is the point of talking with him after that?

Question: How many times in the application do I need to call the CoInitialize function?
Profit: The second question in the forehead, if a person gave the wrong answer, and you took it, and he wrote you a lot of code, then blame yourself when you have to debug his code.

Sample C ++ Questions

Question: Let's give a piece of code:
char * word1 = “Hello”;
char * word2 = “Hello”;
if ( word1 == word2 )
printf(“equal”);
else
printf(“not equal”);


* This source code was highlighted with Source Code Highlighter .

What will be printed in the console after the execution of the code?
Profit: Hush laughter ... There are people who come to talk for a salary of a couple of kilobaxes, who think that you can compare the lines this way. I think with this question everything is clear.

Sample Questions Concerning .NET

Question: (Powerful question on the forehead) What is managed code?
Profit: Well, everything is obvious, if there is no answer to this question, or a person carries complete nonsense, then such a person is definitely not worth taking a position higher than Junior, because complete misunderstanding of the ideology .Net is a disaster.

Conclusion

I apologize that I brought few questions, and wrote such a boring introduction. I just could not find good words to describe this approach. But, I hope that after reading the question section, you get the gist.
And also, from my own experience I will say that 90% of people who answered primitive questions without any problems answered me even deeper questions. It even turned from an interview into a program for pouring balm on the soul - you ask a person a question, and he answers correctly, well and deployed.
Well, I think it will not be difficult for you to compose similar questions for your vacancies and try to apply this approach in practice.
I hope he will save you a lot of time, which you could spend on stupid discussions about programming services working 24/7 with a person who does not know in which case you need to write “delete p” in C ++, and in what “delete [] p ".

Well, now let's discuss, waiting for comments, criticism and constructive.

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


All Articles