Please enable JavaScript.
Coggle requires JavaScript to display documents.
Cracking the Coding Interview - Coggle Diagram
Cracking the Coding Interview
Interview Process
Why
False negatives are acceptable
Problem-solving skills are valuable
Basic data structure & algorithm knowledge is useful
Whiteboards let you focus on what matters
How questions are selected
each interviewer selects their own questions
not really differ from questions in the past
not differ from question at similar companies
It's all relative
assess relative to
other candidates
Behind the Scenes
Microsoft
Amazon
Google
Apple
Facebook
Palatir
Special Situations
Behavioral Questions
Preparation Grid
Know your Projects
Responding
About yourself
Big O
Analogy
Time Complexity
Space Complexity
Drop the Constants
Drop Non-Dominant Terms
Multi-part Algorithms
Amortized Time
Log N Runtimes
Recursive Runtimes
Examples
Technical Questions
The Offer & Beyond
Interview Questions
Data Structures
Arrays and Strings
Linked Lists
Stacks and Queues
Trees and Graphs
Concepts and Algorithms
Bit Manipulation
Math & Logic Puzzles
Object-Oriented Design
Recursion & Dynamic
System Design & Scalability
Sorting & Searching
Testing
Knowledge Based
C and C++
Java
Databases
Threads & Locks
Additional
Moderate
Hard
Advanced Topics
Useful Math
Topological Sort
Dijkstra's Algorithm
Hash Table Collision Resolution
Rabin-Karp Substring Search
AVL Trees
Red-Black Trees
MapReduce
Additional
Before Interview
Right Experience
Get an
Internship
Start Something
Hackathons
Open source
project
Your
own
project
Build an
app
(mobile, web, desktop)
Companies want to see
smart
can code
Great Resume
Highlight
smart, code ability
one page
resume (10 seconds)
Employment history
only
relevant
positions (
impressive
)
Writing
Strong
Bullets
Accomplished X by implementing Y which led to Z
Show
what
you did,
how
you did and and what the
results
were (
measurable
)
Projects
the
best way
to present yourself as
more experienced
2-4
most
significant projects
what
the project was
which
languages
or
technologies
it employed
individual
or
team
project
completed for a course or
independently
(preferred)
open source
,
independent
projects
Programming Languages & Software
Software
be
conservative
about what to
list
what's
appropriate
for the
company
Languages
list
most of the languages
you've
used
and add your
experience level
Preparation Map
1+ Years
Expand
Network
Build
website/portfolio
Find
internship
, build
large projects
Learn
multiple
programming
languages
Build projects
outside of school/work
3 - 12 Months
Learn &
master Big O
Implement data structures & algorithms
from
scratch
Form
mock interviews
group with friends
Make a target
list of preferred companies
Create
draft of resume
and send it out for a
review
Read intro section
of CtCI
Continue to work on
projects
. Try to
add
on one
more project
1 - 3 Months
Do several mock interviews
Continue to practice interview questions
Do mini-projects to solidify understanding of key concepts
Create list to track mistakes you've made solving problems
4 Weeks
Begin applying to companies
Create interview prep grid (pg32)
Review / update resume
Re-read intro to CtCI, especially Tech & Behavioral section
Do another mock interview
Continue to practice question, writing code on paper
1 Week
Rehearse stories from interview prep grid
Re-read Algorithm Approaches (pg67)
Re-read Big O section (pg38)
Continue to practice interview questions
Do a final mock interview
Phone Interview: Locate headset / video camera
Day Before
Rehearse each story from interview prep grid once
Continue to practice question & review your list of mistakes
Review Powers of 2 table (pg61). Print for a phone screen
Day Of
Wake up in plenty of time to eat a good breakfast & be on time
Be Confident
Remember to talk out loud. Show how you think
Don't forget: Stumbling and struggling is normal!
After
Write
Thank You note
Haven't heard, check in
after 1 week
No offer, ask when U can re-apply.
Don't give up hope!
Get an offer.
Celebrate
!