Skip to content

Learning general software interview problem-solving skills

Notifications You must be signed in to change notification settings

hchiam/learning-interviews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 

Repository files navigation

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

About

Learning general software interview problem-solving skills

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published