Created
July 29, 2019 14:54
-
-
Save kingisaac95/0b81a6e650ecdeb085b5fea7aa4fdd08 to your computer and use it in GitHub Desktop.
Structure of an interview
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
General - Structure of an interview (soft-skills) | |
1. Ask if we can record the interview | |
2. Explain interview process in terms of duration and structure (Introduction then we ask questions then he ask questions) | |
3. Introduction of the interviewer/company/tech team | |
4. Which one do you prefer and why: teamwork or working alone? | |
5. Do you like the responsibility of decision-making or would you prefer to leave it to someone else? | |
6. How do you learn new things, and what is the source of information? (spends time afterwork on readings, side projects, meetups) | |
7. What do you usually do if you face a technical problem you can't solve or do not understand? | |
8. What if you have opposite opinion about a solution and can't agree with another developer? | |
9. Give an example of your last failure and how it was resolved. | |
10. Preferred management style and why? | |
11. Expectations from the next position in terms of responsibilities and environment | |
12. From candidate's point of view, is it more important to focus on code quality or business requirements in an early start up stage? And why? | |
13. If candidate would start his own project which tech-stack would he choose and why? | |
14. If the candidate receives 3 different offers from 3 different companies based on what would he choose which company to join? | |
15. What is the biggest failure? | |
16. How big is/was the team he is working in or managing? | |
17. How was the process/project planning in his current/last experience? | |
18. Ever worked with Salesforce? What was the project scale and did they face any limitations? | |
19. Knowledge of Node.JS on a scale of 0-10? Why did he give himself this rating? | |
20. Which libraries did he use and for what? | |
21. Salary expectations and available starting date of the candidate | |
General - Structure of an interview (technical) | |
1. Explain what will be steps of tech part | |
2. Ask basic level tech questions | |
3. Ask about recent project | |
4. Get into details what frameworks / libraries were used. (If used Reactjs, Nodejs, Postgres, Salesforce, some 3rd party services…) | |
1. Dive with preferred libs & other deeper tech questions - depending on previous answers | |
5. During conversation mark asked questions, if going off the time scope - ask at least two questions from each block (HTML/CSS, Reactjs, Nodejs, SQL/DB), but keep consistency when switching between subjects | |
Specific - Node.js | |
1. How would you create HTTP requests in Node.JS and what are the libraries you would use? | |
2. Ask about his/her favourite library and why. | |
3. How to secure HTTP cookies against XSS attacks? (set flags 'HttpOnly' and 'secure' on set-cookie header) | |
4. How would you read the content of a file using Node.JS? | |
5. Difference between fs.readFile() and fs.readFileSync() | |
6. What is "Callback Hell" and how can it be avoided? (modularization, use a control flow library async, generators with Promises, async/await) | |
7. Go deeper into Promises and the use of async/await | |
8. What is your favourite npm module and why? | |
9. Ask why he like that particular module | |
10. Ask if he/she has experience using momentjs and lodash | |
11. If yes, give example usage why you like it. | |
12. What is the output of the following code snippet? (think aloud - prevent typing) | |
Promise.resolve(1) | |
.then((x) => x + 1) | |
.then((x) => { throw new Error('My Error') }) | |
.catch(() => 1) | |
.then((x) => x + 1) | |
.then((x) => console.log(x)) | |
.catch(console.error) | |
> 2 | |
What's wrong with following example? | |
new Promise((resolve, reject) => { | |
throw new Error('error') | |
}).then(console.log) | |
> Missing .catch(console.error) | |
8. What's the output of the following snippet ? | |
console.log("1"); | |
setTimeout(function() { | |
console.log("2"); | |
}, 0); | |
console.log("3"); | |
1 | |
3 | |
2 | |
9. Why Nodejs is single-threaded ? (for async processing) | |
10. How to debug a nodejs app? | |
11. What are streams in Nodejs, what types are there and why to use them? (Readable, Writable, Duplex, Transform) | |
1. Explain how chaining is based on streams | |
12. What is child process and when is it used? (access to sys) | |
13. What is EventEmitter and why would it be used? () | |
14. What is the difference between AngularJS and Node.js? (Angular.JS is a web application development framework while Node.js is a runtime system.) | |
15. How to access a system local environment variable value from the code? | |
16. Which module would you use to extract the entire body portion of an HTTP POST request in Express.Js? (body-parser) | |
17. (backend) What is REST and what are limitations of it? | |
18. Which Is the first argument usually passed to a Node.Js Callback handler? | |
It could be good to include some questions for DB, to understand the level of the candidate. | |
Specific - Fullstack | |
CSS/HTML | |
1. How HTML5 differs from previous versions? (new parsing rules, new elements, improved semantics, better fit for web UX) | |
2. What is CSS box model? | |
3. What is @media query? | |
4. Why devs use Twitter Bootstrap? Which problems does it solve? (tested responsiveness / cross-device compatibility, default reset, grid system) Are there alternatives? (ZURB Foundation) | |
5. What is css precompiler and which ones are most popular? (SASS, LESS) | |
1. Why use css precompilers? (Variables, decorators, extensions/iniheritance...) | |
6. What is progressive enhancement? | |
7. What are common ways to stylyze Reactjs components? (styled lib, CSS-in-JS, CSS-modules) | |
Reactsjs | |
1. What is a functional component in React? Why is it called functional? | |
2. When will you use the class component over a functional component? | |
3. What is the difference between props and state? | |
4. Explain the lifecycle methods of React components. | |
5. When do you use ref in React? | |
Why SPA called SPA? | |
What means isomorphic app and when is it useful? (What's the difference with server-rendering) | |
How usually authentication works in modern web apps built on top of RESTful APIs backend? | |
What is JSON Web Token and why is it used? | |
What's the difference between PUT and PATCH http request types? | |
What is preflight request (OPTIONS) ? | |
What is CORS? | |
Vue.Js | |
1. What are filters in Vue.js and give examples? | |
2. How to create a custom filter in Vue.js? | |
3. Explain the Vue.Js lifecycle | |
4. Explain the differences between one-way data flow and two-way data binding | |
5. What are the type of Directives available in Vuejs? | |
6. How To Handle Events In Vue.js? | |
7. How To Use Ternary In Vue Js ? | |
<div class="class1" v-bind: class="{'class2': (!variable)}"></div> | |
7. What is v-html directive in Vue JS? | |
8. In Vue JS what are the dynamic components? | |
Angular.Js | |
1. How do you share data between controllers in AngularJs? | |
2. What is the difference between one-way binding and two-way binding in Angular.Js? | |
3. Explain the role of $routeProvider in AngularJS? | |
4. What is dependency injection and how does it work in Angular.Js? | |
5. What is the difference between $scope and scope? | |
6. How to access parent scope from child controller in Angular.JS? | |
7. Explain the use of Ng-If, Ng-Switch, And Ng-Repeat directives | |
It could be good to include some questions for DB, to understand the level of the candidate. | |
Specific - Database | |
1. What is SQL JOIN and what are the types you know? | |
2. What do you understand by COALESCE function? | |
3. How would you calculate a sum of positive numbers from a column? | |
SELECT SUM(CASE WHEN var>0 THEN var ELSE 0 END)SUM_POS FROM column; | |
4. Given following results of SQL queries: | |
sql> SELECT id,email FROM contacts; | |
+----+---------------------+ | |
| id | email | | |
+----+---------------------+ | |
| 1 | [email protected] | | |
| 2 | [email protected] | | |
| 3 | [email protected] | | |
| 4 | [email protected] | | |
| 5 | [email protected] | | |
+----+---------------------+ | |
sql> SELECT id,type,contact_id FROM details; | |
+----+----------------+------------+ | |
| id | type | contact_id | | |
+----+----------------+------------+ | |
| 1 | simple | 2 | | |
| 2 | simple | 3 | | |
| 3 | complex | 2 | | |
| 4 | advanced | NULL | | |
+----+----------------+------------+ | |
What's the result of following query? | |
sql> SELECT email,id FROM contacts WHERE id NOT IN (SELECT contact_id FROM details) | |
5. Write down an example of a query to set values of a column2 opposite to values of column1 as following: | |
+---------+---------+ | |
| column1 | column2 | | |
+---------+---------+ | |
| 1 | 0 | | |
| 0 | 1 | | |
| 0 | 1 | | |
| 1 | 0 | | |
| 1 | 0 | | |
+---------+---------+ | |
(assume data type is numeric): | |
UPDATE table SET column2 = 1 - column1; | |
(assume data type is non-numeric): | |
UPDATE table SET column2 = CASE WHEN column1 = '1' THEN '0' ELSE '1'; | |
6. What is composite index and when to use it? | |
7. What are normalized and denormalized forms and when they're used? | |
8. What are main differences between SQL and NoSQL databases? | |
9. What are migrations and how are they implemented in SQL & NoSQL? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment