META Experience QA - rs-hash/GETTHATJOB GitHub Wiki

FRONT END

  1. For a recursive description of DOM elements i.e. var dom = { type:'div', props:{id:'hello', children:[{type:'h1', children:'HELLO'}]}}. Define a function that prepares a actual dom elements.
  2. Prepare a setTimeout and clearTimeout and clearAllTimeouts . Should be global and have a garbage collection system for all running timeouts on demand.
  3. create a function to clearAllTimeouts. And create a render function that takes a nested object of dom elements and appends them to the document body
  4. the difference between apply/call - balanced BST complexity
  5. Tell us about your JS experience?
  6. Improve a given JS snippet, find particular node in dom tree.
  7. What is this in JavaScript. Asked about Queue and Stack in web.
  8. what's the data structure of DOM, what's the difference between apply and call.
  9. How to mimic stack and queue in javascript
  10. What does apply function do?
  11. covering JS fundamentals like "this", event delegation, event listeners. At the end I was also asked some straightforward data structures questions about queues, stacks, and implementing them in JS
  12. What data structure is the DOM based off of
  13. Assuming the DOM has a balanced number of nodes in the tree, how many levels will it have for n nodes
  14. Describe the difference between a queue and a stack. What’s the simplest way to implement a queue in JS?What methods would you use?
  15. What’s the simplest way to implement a stack in JS? What methods would you use?
  16. Given two identical DOM tree structures, A and B, and a node from A, find the corresponding node in B.
  17. Write a throttle and/or debounce function.
  18. Given two Identical DOM tress A and B, check if a Node in A also exists in B
  19. understanding of timeouts, prototypes, the DOM, and your knowledge about different javascript collections.
  20. The second coding round was an algorithm and data structure problem with a front end slant, you need to have a good understanding of the DOM
  21. runtime for search algorithms
  22. It was a tree traversal question. Given a tree with specific nodes to visit, traverse another tree with the same structure and visit the nodes in same positions.
  23. (difference between call and apply, map and forEach, etc
  24. what is 'this', what is closure, var vs const vs let, DOM tree
  25. Basic graph algo & DS style whiteboarding question
  26. what is 'this' keyword and what's its behavior

GENERAL

  1. what are you looking for in your next role?

JavaScript Coding Questions

  1. 3. implement Array.prototype.flat()
  2. 6. implement basic debounce()
  3. 9. decode message
  4. 10. first bad version
  5. 16. create an Event Emitter
  6. 17. Create a simple store for DOM element
  7. 18. Improve a function
  8. 19. find corresponding node in two identical DOM tree
  9. 25. Reorder array with new indexes
  10. 28. implement clearAllTimeout()
  11. 57. create an Observable
  12. 103. implement Math.sqrt()
  13. 121. A number sequence
  14. 133. roman numerals to integer
  15. 140. Virtual DOM III - Functional Component
  16. 118. Virtual DOM II - createElement
  17. 14. Implement a general memoization function - memo()
  18. 113. Virtual DOM I
  19. 125. implement classNames()
  20. 83. create an interval
  21. 161. toBe() or not.toBe()

Front-End System Design Question

  1. 6. Design a Typeahead Widget
  2. 9. Design a Poll Widget
  3. 3. Design an Infinite Scroller

Front-End Interview Questions

  1. 5.var vs let vs const
  2. 1. What are the time and space complexity for sorting algorithms
  3. 2. What is Prototypal Inheritance? How does it work?
  4. 3. explain this keyword in JavaScript
  5. 4. what is Closure and how does it work?
  6. 6. Explain the concept of Promise to a 5-year-old
  7. 7. Map vs Object vs Set vs Array
  8. 8. difference between == and ===
  9. 10. what is the difference between block and inline?
  10. 15. Array.prototype.forEach() vs Array.prototype.map()