Skip to content

Welcome to Leetcode With Adam!

One in tech industry, especially those who want to get in FANG, have to grind Leetcode. I have been struggling with too until i decide to to "play" Leetcode instead of grinding them. I will be sharing my journey here, and hope you can find something useful.

Why Leetcode?

There are a couple of reasons why FANG-like companies use Leetcode as their interview process:

  • Google HR analytics department find out a positive pearson correlation between interview Leetcode performance and job performance. Those traditional IQ tests and brain teasers during interview show no such correlation at all.
  • FANG company is huge and have different teams using internal tools. It's hard to standardize the interview process as some team have preference of certain stack over another. The interview process might be skewed. Leetcode is a good way to standardize the process with the price of extra grind for the interviewee. They hire general DSA skills, and can afford to train you on the job.

Interview Rubrics

Anything could be quantified to some extend so does interview process. The interview rubrics for FANG-like companies are pretty standard.

Tip

Number 1 to ace the interview is to dance the interview dance.

One rubric they use could serve as a basis to understand what's important and how you Leetcode. 15 points metrics with

  • 3 for asking questions, discussing edge cases and planning out ur solution
  • 3 for communication
  • 3 for getting a working solution
  • 3 for time/space complexity analysis
  • 3 for code quality and cleanness

To score better during the rubrics, if you only have 20 minutes, you should following the following steps:

  • Understand: 5 mins for understanding questions, asking clarifying questions, discuss edge cases and planning out your solution
  • Plan: 5 mins for dry run of your solution, with example.
  • Execute: 5 mins for coding
  • Discuss: 5 mins for discussing potential optimal solution

Now, when you leetcode and practice, you should also follow the structures.

Roadmap

Stage 1

  • [x] complexity analysis
  • [ ] linked list
  • [x] stack
  • [x] queue
  • [ ] recursion
  • [x] enumeration
  • [ ] sorting
  • [ ] binary search

Stage 2

  • [ ] hashmap
  • [ ] binary tree
  • [x] heap
  • [ ] BF and RK string pattern matching
  • [ ] Trie
  • [ ] DFS and BFS graph traversal

Stage 3

  • [ ] 跳表
  • [ ] topological sort
  • [ ] Dijkstra
  • [ ] A*
  • [ ] B+ tree

Stage 4

  • [ ] 位图
  • [ ] BM
  • [ ] KMP
  • [ ] AC自动机
  • [ ] 哈希算法

Leetcode Idols

There are some Leetcode and CP idols that i admire and learn from.

Reference