Home

Awesome

Learning general software interview problem-solving skills

Just one of the things I'm learning. https://github.com/hchiam/learning

General strategies and mnemonics

Thought process is generally a more important signal than only whether you get the "right" answer in the time limit.

AEIOU

RCS and CARL (instead of STAR)

Visual reminders

Connections

Don't get stuck: In your own words. Aloud. Draw. Examples. Manually. Pseudocode. Brute force first. Ot(?) and Os(?). Best conceivable runtime. Patterns. Heuristics. Base case and build. Try with just one item first (even for an iterative solution). See if sorting helps you find a pattern. Run through the data structure "alphabet" (hash table, etc.). Put some key CtCI takeaways into your mind palace.

Aside tip for DP (besides likely won't be asked): recursion -> repeated work -> subproblems -> choices. Some heuristics for identifying DP problems: https://interviewing.io/dynamic-programming-interview-questions#heuristics-for-identify-dp-problems and https://interviewing.io/dynamic-programming-interview-questions#common-mistakes

Practice

NeetCode video explanations and tips

CtCI (Cracking the Coding Interview) and approaches and behavioral.

LeetCode: practice/explanations of fundamentals and simulated assessments/interviews. Otherwise filter by rating for quality questions, or find the topic lists curated by LeetCode staff, which also have official explanations and solutions. Or just use this curated list of 100 questions to cover core concepts/techniques per category: https://leetcode.com/discuss/general-discussion/419062/List-of-LeetCode-question-to-cover-all-the-concepts-and-type-of-questions/415034

CPH (Competitive Programmer's Handbook).

AlgoExpert: less questions, but more focus. No need to filter questions for quality questions/solutions/explanations like you would for LeetCode. Curated content, explanation videos, and tips for behavioural, etc. AlgoExpert = deeper into conceptual consolidation; LeetCode = wider practice.

Clean code and code review tips.

Random fun

Roots

Binary

Mental temperature conversion

Stop spinning your wheels at work: Can't figure out what's broken? Root cause tree. Suspect recent changes. Batch questions for hard-to-check possible causes.

Special data structures and algorithms like the splay tree, B-tree, skip list, Bloom filter, union-find data structure (for sets), suffix tree/trie/array, LZW compression, combinations vs permutations with/without repeats

An example usage of bucket sort Ot(number of buckets): "Campus Bikes" https://www.youtube.com/watch?v=HxYbpT3Qfy4&list=PLOAph0xkZvSv_CF1wQPeVzJ-9qXSZAIzQ

https://roadmap.sh/computer-science = interactive roadmap - click to see summary descriptions and further links to reading/learning