Cracking the Coding Interview, 6th Ed.
Answers/Notes toTo join our Slack CTCI study group, send me your email. See our YouTube channel, with video of our beginner group meetings.
Gayle McDowell's crowdsourced CTCI solutions, by programming language.
This group will code through all 189 coding interview questions in Gayle McDowell's book "Cracking the Coding Interview" together. I'll do them in Java, but use any language you wish.
We meet on Skype each Saturday:
12 pm-1 pm PST on Skype. To join, put your Skype name in a reply to this Slack post.
- Please install Skype, create your account, and add me. My Skype name is rayning3.
- Please add your Skype name in your Slack profile, so we can find you. Skype lets up to 50 people in 1 call.
Most software engineers study this book to interview at FAANG companies: Facebook, Apple, Amazon, Netflix, Google, Microsoft, etc.
I made 12 Slack channels for us. Please join them:
-
#leetcode LeetCode Problems
-
#ctci-big-o Big O Time/Space Complexity. Chapter VI.
-
#ctci-ch01 Arrays and Strings
-
#ctci-ch02 Linked Lists
-
#ctci-ch03 Stacks and Queues
-
#ctci-ch04 Trees and Graphs
-
#ctci-ch08 Recursion and Dynamic Programming
-
Use the #pair-programming channel to ask for help or offer to work together with others.
-
Please #introduce-yourself and talk about your #job-search. Don't use the #general channel to introduce yourself.
-
Our #eloquentjavascript channel discusses that book.
CTCI's official Facebook group.
CTCI's official Slack group.
VS Code is my code editor. I installed its Java Extension Pack.
I cloned Gayle's GitHub solutions and opened the /Java folder in VS Code. It instantly told me what to install and let me start running/debugging code with breakpoints, with NO configuration! Super easy.
If you forked this GitHub repo to your laptop, here's how to easily keep your fork up to date with mine as I add new code:
In directory of your /ctci
folder in the terminal, type:
-
git remote add upstream [email protected]:rayning0/ctci.git
-
git fetch upstream
-
git pull upstream master
-
git push -f
Line 1 adds a remote repo called "upstream" to your fork, pointing to my GitHub repo.
Lines 2-4 update what "upstream" means, pulls the latest code from my /ctci repo, then force pushes it up to YOUR repo.
Since I'm don't want to type all these lines, I added these lines to my .bash_profile
:
function grau { # update fork (part 1)
git remote add upstream $1
}
function gupdate { # update fork (part 2)
git fetch upstream
git pull upstream master
git push -f
}
You only need to type grau [email protected]:rayning0/ctci.git
once.
In the future, as I add new code to my /ctci repo, you just cd
to YOUR /ctci fork of mine and type gupdate
. It will automatically pull my latest code.
If you don't have a .bash_profile
, create this file in your home directory. After editing it, run the file by doing source ~/.bash_profile
.
By Raymond Gan