Answers/Notes to Cracking the Coding Interview, 6th Ed.
See all my LinkedIn Data Structures & Algorithms posts.
Join our Slack group LinkedIn Junior Engineers.
We don't have weekly meetings now. If I have time in the future, I may restart this study group.
See all my LeetCode solutions. My Codility solutions. My Project Euler solutions. My HackerRank solutions.
In January 2020, we began solving the 150 coding questions from this course: Grokking the Coding Interview, as I explain here and here. Buy the course for $79 to see it all. It's optional to buy the course. See all my coding answers for it.
See our YouTube channel for video of our group meetings. I don't update this much. You should come to our meetings.
See my 2.5 hour YouTube video interview: How to be competitive for software jobs, which covers my 5 LinkedIn articles for bootcamp grads.
This group codes through company code challenge problems and all 189 coding interview questions in Gayle McDowell's book "Cracking the Coding Interview" together. We’ll try to solve 1+ company code challenge per meeting. To post code challenges for our group to solve, put them in our private Zoom Slack channel. Use any computer language you wish.
Gayle McDowell's crowdsourced CTCI solutions, by programming language.
Most software engineers study this book to interview at FAANG companies: Facebook, Apple, Amazon, Netflix, Google, Microsoft, etc.
I made these Slack channels for us. Please join them all:
-
#system-design-interviews System Design Interviews
-
#leetcode LeetCode Problems
-
#hackerrank HackerRank Problems
-
#project-euler Project Euler Problems
-
#ctci-big-o Big O Time/Space Complexity. Chapter VI.
-
#ctci-ch01 Arrays, Strings, and Hashes
-
#ctci-ch02 Linked Lists
-
#ctci-ch03 Stacks and Queues
-
#ctci-ch04 Trees and Graphs
-
#ctci-ch08 Recursion and Dynamic Programming
-
#eloquentjavascript on JavaScript and that book.
-
#java Java
-
#python Python
-
#ruby Ruby
-
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.
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 git@github.com: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 don't want to type all these lines, I added them 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 git@github.com:rayning0/ctci.git
once.
In the future, as I add new code to my /ctci repo, 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