Elwin's Blog

an activist who likes to think

front cover

The Fundamental Of Coding Interview Question part 1 (Javascript)

Posted on

Arrays and Strings

  • if the order is not important, then the hash table might be a good candidate to reduce the time complexity.
  • be familiar with all the methods for arrays and strings.

Linked Lists

  • What is a SIngly Linked List and a Doubly Linked List?
  • How to implement a Linked List structure?
  • How to delete a node from a single Linked List?
  • How to reverse a Linked List?
  • The runner and dummy head techniques. Sometimes, it's possible to use more two-pointers.
  • be familiar with using recursion.

Stacks And Queues

  • How to implement a Stack structure.
  • How to implement a Queue structure.
  • Queues are generally being used at a breadth-first search algorithm or implementing a cache.

Trees And Graphs

  • The difference between Trees and Binary Trees.
  • The difference between Binary Tree and Binary Search Tree.
  • The difference between Balanced Tree and Unbalanced Tree.
  • What's the definition of Complete Binary Trees, Full Binary Trees, Perfect Binary Trees.
  • Three ways to traverse a Binary Tree: In-Order, Pre-Order, and Post-Order, what's the difference?
  • Binary Heaps: the definition of Min-Heaps and Max-Heaps.
  • What's Tries, where will this data structure be used commonly?
  • What is a Graph?
  • Common ways to search a graph: breadth-first search and depth-first search. There's also a search method call Bidirectional Search, what's it?