This document provides an overview of preparing for and succeeding in a technical interview process. It discusses finding job openings, the typical interview stages including phone screens and in-person interviews, common technical interview questions, and tips for each part of the process. The key advice is to practice coding problems daily, focus on breaking problems down step-by-step, ask clarifying questions, and follow up after interviews by thanking interviewers.
4. 01 Allabouttheinterviews
FIND AN OPENING
APPLY FOR POSITION
PHONE SCREEN /
IN-PERSON
INTERVIEW
FOLLOW-UP
REVIEW / ACCEPT
OFFER
Find public postings
or network to find
open positions
Positions should
match your current
skill set
The hard part –
showing what you
know
Don’t forget to thank
the team or ask for
feedback
You win! Time to put
that negotiation hat
on
5. 01 Allabouttheinterviews
1. The average job opening attracts 250 resumes
2. Only 2% of applicants will be called for an interview for the average job opening
3. 42 days is the overall average time it takes to fill a given position
4. The interview process takes an average of 23 days
5. It takes five to six weeks on average to get a job offer
Getting totheinterviewishalfofthebattle!
WhatcanIexpect?
Source: https://www.ebiinc.com/resources/blog/hiring-statistics
6. 01 Allabouttheinterviews
• Understand that anyone can fall prey to the “Interview Anti-Loop”, i.e. for every qualified candidate, there is
at least one set of interviewers who would not hire that person
• Interviewers may not be trained in good interviewing skills and processes
• Many interview exercises do not have a set rubric to weigh out performance, leading to interviewer
bias
Notallinterviewsandinterviewersarecreatedequally
Source: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html
7. 01 Allabouttheinterviews
• Technical screening
• In-person interview
• Coding exercise – 60 mins
• Code review exercise - 45 mins
• Break – 15mins
• Debugging exercise – 30 mins
• Technical Discussion – 30 mins
• Chat with Director of Technology – 30 mins
• NO take-home test
We have a rubric – a set of instructions and a set of things to look for and how to weigh out each
candidate in the same way.
We train our interviewers – each engineer that proctors an exercise has taken the exercise
themselves.
Theprojekt202’stechnicalinterview
Source: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html
9. 02 Beforetheinterview
Most technical phone interviews will focus on questions that can be answered on the fly – you won’t
have to spell out a function that reverses an array.
You may be asked:
• About your engineering career
• Ex. Tell me about your current role and your responsibilities as part of your team
• Questions specific to the role, technology, and tools
• Ex. Describe the Android Activity Lifecycle
• Personal drive / self-learning questions
• Ex. How do you stay up-to-date on the latest iOS news?
• To explain best-practices for general engineering activities
• Ex. What are the Agile ceremonies that matter the most to you?
Preparingforaphoneinterview
10. 02 Beforetheinterview
Some common reasons why someone did not seem like a good match after a phone interview:
• “Candidate had a decent breadth of experience but not a lot of depth.”
• Don’t just answer questions, dive into as much detail as you know
• “Candidate wasn’t passionate about his work”
• Focus on your extra-curricular activities that showcase your passion for engineering
• “Candidate could not elaborate on software engineering basics like the SDLC”
• Polish up on best practices, even if you have never used them in a work setting, read up on
some of these things so you can speak about them
• “Candidate applied for a senior position but did not have matching technical skills”
• Make sure to introspect and apply to positions that fit your skillset or a good phone screener
will rule you out quickly
Preparingforaphoneinterview(cont.)
11. 02 Beforetheinterview
Before a technical call make sure you:
• Find a quiet place to talk without being disturbed
• Use headphones so you can have your hands free
• Have paper and pen ready to write down your thoughts and questions
• Read up on the company, their work, and check out the interviewer on LinkedIn
• Write down a list of questions you may have for the interviewer
Preparingforaphoneinterview(cont.)
12. 02 Beforetheinterview
Most in-person or online interviews will center around trying to get a rough understanding of your:
• Knowledge around Computer Science basics
• Algorithms
• Basic data structures like arrays and linked lists
• Binary Search Trees
• Big O Notation
• Software development best practices in teams
• How to use version control systems
• Performing code reviews
• Advanced technical concepts
• Scalable system architecture designs
• Describing pieces of the SDLC
• Analytical thought process
• Tell me about a difficult problem that you were able to resolve after trial and error
• Describe a complex problem in easy to understand smaller chunks
• Soft Skills
• What has been your experience working in multi-disciplinary teams
• Explain a technical concept to non-technical people
Preparingforanin-personinterview
13. 02 Beforetheinterview
What you should practice:
• Coding algorithmic and data-structure exercises
• Reviewing code that someone else wrote
• Whiteboarding or discussing open questions
• Computer science and engineering best practices
Preparingforanin-personinterview(cont.)
14. 02 Beforetheinterview
How do you prepare?
• Study the fundamentals
• Solve coding questions every day
• Practice white-boarding
• Participate in mock interviews
Howmuchyoupractice is reallyuptoyou –butdailypracticeisthenextbest thingtoafull-timejob
Preparingforanin-personinterview(cont.)
15. 02 Beforetheinterview
What pitfalls you should avoid when trying to prepare:
• Know what you know
• Cramming the day before the interview is not the way to go
• Choose sleep over studying – being alert and coherent is more important than that last sample
problem!
Preparingforanin-personinterview(cont.)
17. 03 Duringtheinterview
On the technical side of things:
• Focus on the breaking down every problem into smaller pieces
• Lay everything out in pseudo-code if you can before you start coding
• Treat everything like it should be production ready
• Run your code
• Include tests if you can
• Watch out for edge cases
• Ask clarifying questions when you need to – not getting caught up in rabbit holes is essential
Practiceeachof thesesteps inyourdailyexercisestoo!
WhatshouldIdowithmyhands?
Source: https://medium.com/@nickciubotariu/ace-the-coding-interview-every-time-d169ce1fd3fc
18. 03 Duringtheinterview
The most important non-technical things to remember during an interview are:
• Be engaged – don’t give 1 word answers, interviewers are looking for as much information as they
can usually in a short amount of time
• Know your audience – most likely, the person interviewing you will be another very technical
person, use technical terms and make sure you use them correctly
• Speak your mind – interviews are not about coming up with the right answer out of the blue, the
reason why they are proctored is to have someone follow along with your train of thought, so
make sure to walk the interviewer through your thought process
• Dress for the part – make sure you know if the office has a casual environment before you head in
with a suit and tie
Nooneishiredpurelybasedontechnicalskill,trainingyoursoft-skills arejustas important
WhatshouldIdowithmyhands?(cont.)
20. 04 Aftertheinterview
Make sure that you don’t forget the little things
• Send a follow up email thanking each of the individual interviewers
• Make sure you ask about next steps and when you should hear back
• Ask any questions that you may have regarding:
• the culture
• the company’s focus on personal / technical growth
• the engineering process
• work / life balance
• benefits
Howdoyousetyourselfapart?