March 26, 2018 | By Suren Atoyan | technical interview
Հայ | Eng
The technical interview as a process pursues the following purpose:
To estimate applicant’s technical knowledge maximum objectively at a given time and possible potential at the upcoming time period.
The main techniques for conducting a technical interview are “Oral”, “Test Quiz” and “Technical Task”. Each method has its purpose and order form of conduct. The above mentioned can be conducted as separate stages in different orders. Depending on company requirements “Test Quiz” and “Technical Task” may be missed.
The main stages are considered the “Oral” method, which is as a rule essential and minimal consisting part of the interview and “Technical Task”.
Based on the above definition the main purpose of the tech. specialist is the estimation of the applicant’s technical knowledge maximum objectively, that is to say, first of all, to create an appropriate environment for the applicant to be psychologically balanced, otherwise the result can not be considered an objective estimation. Applicant’s tension can have an impact on his answers and self-expression.
To create a comfortable environment.
|Tech. specialist||- Hello! :)|
|Tech. specialist||- My name is John.|
|Applicant||- Pleasant, Jack.|
|Tech. specialist||- It’s nice Jack, how are you?|
|Applicant||- Good, thanks, and how are you?|
|Tech. specialist||- Good, thank you. Аre you in a good mood?|
|Applicant||- In fighting mood:)|
The answer above is inaccurate, insufficient from the technical aspect. Desirable, relatively more professional and anticipated answer could be the following:
The difference between the applicant’s answer and the supposed correct answer is still insufficient to suppose that the applicant does not know about such ideas as “multi-paradigm”, ”interpreted”, ”single threaded”, ”dynamic typed”, etc. The next question:
The correct sequence of technical questions (from the perspective of complexity) enables accurate assessment of the applicant’s knowledge. Usually a problem arises not learning whether the applicant knows or doesn’t know the given problem, but how much percentage he covers. In such cases it is necessary to be able to accurately estimate the percentage ratio which the issues related to the problem should be arranged for in terms of ascending complexity, and the starting point or the next step of the transition is determined from the applicant’s technical level (junior, middle, senior, etc.).
Often encountered problem:
Usually, a lower-level specialist is given a complicated question without answering it, the applicant’s knowledge of the given problem may be estimated 0, whereas the applicant had some understanding and knowledge about the problem.
To illustrate the organization of the correct sequence of technical questions, we should divide questions into two groups:
Example (as an example setTimeout from WebAPIs will be considered).
Possible questions related to setTimeout in the correct order.
|1||- Describe setTimeout as a function.
* Not important questions:
1. Can the first argument of setTimeout not be a function?
2. Is there a third argument for setTimeout, if yes, what does it represent and does it have limitations? If yes, then what kind of limitations?
|2||- Give a mathematical claim for the second argument of setTimeout.|
|3||- Detailed description of setTimeout work.|
|4||- Recursive setTimeout and setInterval.|
|5||- setTimeout (fn, 0) as an exception.|
|6||- Dom minimum timeout value.|
|7||- setImmediate, setImmediate polyfill, polyfill implementation.|
|8||- process.nextTick, Promise.resolve(). Compare with setTimeout()|
|9||- Task, MicroTask, differences, execution order, implementation in different browsers.|
|10||- setTimeouts’ execution order - FIFO, LIFO, random|
Let’s consider we do not set the correct sequence and start talking about setTimeout from Question 6 or its specific case, for example:
- Please enter DOMMINTIMEOUTVALUE or DOMCLAMPTIMEOUTNESTING_LEVEL in Google Chrome and FireFox.
In that case the wrong answer to the question or the lack of the response can not give information about the applicant’s setTimeout knowledge.
Use the right sequence of questions.
Example - Questions related to engine.
JIT (Just in Time compiler)
Automate Memory Management - GC
Questions related to Web Assemble.
The main questions are given separately (before or after) from the questions of the considered position, can also be held as a separate stage. The common questions, in their turn, are divided into two groups.
Common IT development questions.
Note: * This questionnaire can be changed depending on company requirements, considered position and the technical level of the applicant.
Questions related to the applicant’s IT preferences
|1||- Preferred Operating system|
|2||- Preferred text editor or IDE|
|3||- In addition to your basic programming language mention other languages you are interested in or want to work on.|
|4||- How do you follow news? What resources do you use?|
|5||- What goals does your GitHub account serve for (if you have any)?|
Note: Any question of this questionnaire as a separate question may not provide sufficient information about the applicant. However, the answer to all questions, as a whole, may allow you to understand the applicant’s world outlook in IT. For example: let’s review the answers of two different applicants.
|2||- Microsoft Visual Studio, WebStorm, Notepad++|
|3||- C#, Visual Basic, PHP|
|4||- Looking for what I need in Google. I read Toster.ru and, in general, watch screencasts on Youtube.com|
|1||- Linux, Unix-like operating systems.|
|2||- Vim, Sublime Text or other text editor, but not IDE|
|3||- C/C++, Rust, OCaml, Elixir (Erlang/OPT), Python|
|4||- Medium, Hackernoon, Habr, Twitter… I am subscribed in Google and Mozilla Youtube channels|
Note … * Examples are from real life.
- Please rate your technical knowledge from 0 to 10.
During the interview the tech. specialist will form an assessment that will be considered an alleged objective assessment and it is also important to get an assessment by the applicant. Additional assumptions may be made from the comparison of the two estimations.
The technical task presents technical issue representation corresponding to the considered position. The purpose of this method is to estimate the applicant’s technical knowledge from the point of view of the implementation of practical tasks.
The view points can be:
Quiz or test work is a sequence of questions with possible answers. This method can be used for filtration of the preceding stages or as additional information in the main stages.
Any technical interviewing course unequivocally shows the technical level of the company.
Based on the assessment of the tech. specialist, the company may employ the applicant. An incorrect assessment of the tech. specialist may cause problems later on.
Python - Django and etc.
Rust - Exonum and etc.
The presence of more than two tech․ specialists in the room (in which the interview will be conducted) can create an overwhelming atmosphere. The presence of a second tech. specialist is desirable for making more objective opinion. However, if tech. specialist is experienced and can conduct the interview alone, then the presence of one tech. specialist will be more optimal.
At the end of the interview, regardless of the applicant’s assessment or his / her potential mentor, give 5 minutes for the consultation, note mark the mistakes, give advice, guide and show the gaps in the technical knowledge. Send relevant links to articles, books or other resources to fill in the gaps. ( Make the world a little bit better :) )
Comments powered by Talkyard.