Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 2.04 KB

scratchpad.md

File metadata and controls

55 lines (42 loc) · 2.04 KB

For coding Interviews

  • Prepare short and to the point Introduce yourself
  • stay calm and first read the question and asked about it and see the input ranges and edge case
  • start with brute force solution and the start the conversation
  • Always go with the simple solutions which is easy to code
  • Explain your thoughts and ask them if you're going to the right direction or not
  • Proper variable names, method names and use modular approach
  • Dry run
  • Discuss the time complexity
  • At the end ask questions about project that your team/company is currently doing

Stick to Basics. I would classify the following data structures as must know

  • Array
  • Linked List - Single and Doubly
  • Stack
  • Queues
  • Binary Search Trees or general Binary Tree
  • Heaps
  • Basic Graph Traversal and Shortest Path
  • Hashing

Following data structures may be asked. I would say that their probability of being asked is between 50 to 75% -

  • Tries
  • Advance Graphs like flow and min-cut etc.
  • Bit Manipulation

You will probably crack interviews with sufficient knowledge of above. Following have very low probability of being asked ( < 25%) :

  • Segment Trees / Binary Indexed Trees
  • AVL Trees
  • B+ Trees
  • Suffix arrays and trees

Other hard data structures are absolutely unnecessary. Following Algorithms / Tricks / Topics may also be important :

  • Memory Management
  • Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair
  • Divide and Conquer
  • Greedy
  • Dynamic Programming - Extremely important
  • Probability and basic Number Theory
  • Sorting and Searching

Following topics is important for Knowledge / Experience based questions :

  • OS - Threads, Processes and Locks using Mutex, Semaphores (Operating systems Archives - GeeksforGeeks)
  • Scalability Issues, RPCs, Rate limiter, etc.
  • OOP Concepts
  • Databases - SQL, NoSQL, Writing simple Queries, Transactions, ACID
  • Linux Commands - sed, grep, ps, etc.