Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vslipchenko/e52f95dabde203d2d78ad4bdf027e074 to your computer and use it in GitHub Desktop.
Save vslipchenko/e52f95dabde203d2d78ad4bdf027e074 to your computer and use it in GitHub Desktop.
Following is a list of both technical and non-technical interview questions that you may expect to be asked during interview. It was compiled after a series of interviews and extended with a few questions of friend of mine who was also undergoing interviews. P.S. Provided a brief context in a round brackets where it was needed
Technical:
1. OOP principles
2. Differences between abstract class and interface
2. Software Development Principles (SOLID, DRY, KISS, YAGNI, etc.)
3. Event loop, micro and macro tasks, queueMicrotask(). Difference between queueMicrotask() and Promise.resolve()
4. What is call stack. How it works ?
5. Data structures (hashmap, linked list, etc.)
6. Architectural and design patterns in JS
7. Diferences between local storage, session storageand document cookie. When to use each ?
8. What is Flux (architectural pattern) ? Describe it's core concepts
9. How do you deal with storing complex data structures on the client ? What state management libs do you know ? (Redux, Mobx, etc.)
10. What is WebSockets ? How it works ? Difference between socket.io and WebSockets ?
11. What is SPA ? Examples of SPA apps (Google Maps, Facebook, Twitter, etc.)
12. What is PWA ? How to turn your app into PWA ? (web app manifest)
13. What is Accessibility, WCAG ? Core principles of accessibility and its purpose
14. Nuances of dealing with rtl (right to left) content flow (dealing with arabic, hebrew and other rtl languages)
15. What is responsive design ? Why to use it ?
16. What utility and ui libraries have you used ? What libraries do you know ? (underscore.js, lodash, bootstrap, material, etc.)
17. What is 'this' ? How it works ?
18. What is context binding ? How to bind context ? (.bind())
19. Differences between .call(), .bind() and .apply()
20. Name methods to iterate through array (.forEach(), .map(), .filter(), .reduce(), .reduceRight(), .etc)
21. What frameworks have you used to write test ? What is unit testing ? What is end-to-end testing ?
22. What is object descriptor ? Name properties of the object descriptor (configurable, enumerable, etc.)
23. What is prototype in JS ? How it works ? Difference between __proto__ and .prototype
24. What are generators in JS ? Had you an opportunity to use them ?
25. What is arrow function ? How it's different from function declaration ? (() => {} vs function() {})
26. What are async / await keywords ? Difference between async / await and Promise
27. What are boxing and unboxing in JS ?
28. What are Map, Set, WeakMap, WeakSet ? When to use each ?
29. Whare is closure ? What is its purpose ?
30. What practics are usualy used when dealing with user input sanitization ? What are XSS, XFS, SSRF, CSRF ?
31. How do you deal with a user authentication ? What strategies do you use ? (jwt (access + refresh token), sessions, etc.)
32. Ways to clone object (Object.assing(), using spread syntax, JSON.parse() + JSON.stringify()) ? What is shallow and deep cloning ?
33. What is memoization ? When to use it ?
34. Have you had an opportunity to setup communication between parent and child windows in a browser ? How you managed to do that ? (window.postMessage())
35. What are web workers and service workers ? What are their difference ? When to use each ?
36. How can you tell that local storage data has changed if multiple app tabs are open in a browser ? ('storage' event)
37. What is event capturing and bubbling ?
38. Difference between .stopPropagation(), .stopImmediatePropagation(), .preventDefault()
39. What are CORS and same-origin policy ?
40. How object is compared against array in JS ? (Comparison by reference vs by value)
41. How to make element invisible to user ? Name all possible ways to achieve this without using JS (opacity, visibility, display: none, z-index, margin, absolute positioning, etc.)
42. What is CSS preprocessor ? What its purpose ? What preprocessors do you know ? Difference between mixins and functions ?
43. Reason behind why table markup is still popular (tabular data representation in modern emails)
44. What is RxJS ? Name its general concepts. What operators do you know ?
45. What are cold and hot observables ? What are differences between them ?
46. What are bundlers ? Reasons to use them
47. What is execution context ?
48. What is scope in JS ?
49. Differences between var, let, const
50. Classes in JS and their peculiarities. What is super() and when to use it ?
51. What are TCP and HTTP ? Difference between HTTP and HTTPS. Difference between HTTP 1.1 and HTTP 2.0
52. Advantages of Promise over callbacks
53. What is currying ?
54. What is garbage collector in JS ? How does JS manage memory ?
55. How do you debug your code ? What is blackboxing ?
56. What are CI / CD ? What are their concepts ? What is CI / CD pipeline ?
57. What is memory leak ? How to prevent it ?
58. What are the most recents ES features that you know ? (There might be questions about previous versions as well, for example about ES5)
Non-technical:
1. Tell about yourself, previous work experience and projects
2. Why did you leave your last job ?
3. Why do you want to work for us ? What caught your attention ?
4. What are your career aspirations ? Share your vision of your future self
5. What accomplishment are you most proud of ? (In your professional activity)
6. Have you ever had conflicts and problematic situations at work ? How do you handle it ?
7. Do you have mentorship experience ? What activities did you partake in besides the code writting ?
8. What is your primary stack / instruments of choice ? (Angular, React, MEAN, etc.) What technologies did you use at previous projects ?
9. What processes and workflow did you have at your previous jobs ? (Scrum, Agile, sprints, demo's, groomings, retrospectives, etc.)
10. How did you estimate ? (planning poker, etc.) What metrics did you take into account ?
11. Did you do code refactoring ? Was it your initiative ?
12. Did you have a code review ? What was the process of it ?
13. Do you have experience of setting up CI / CD yourself ?
14. How do you ensure code quality ? (linters, prettier, etc.)
15. What are your salary expectations ?
Tip:
Prepare non-technical questions for HR and technical ones for a tech interviewer (if you successfuly pass HR intro interview)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment