Technical-interview

advertisement
Mastering the Art of the
Technical Interview
Cecilia Aragon, Lawrence Berkeley Lab & Univ. of Washington
Erin Chapple, Microsoft
Tamara Holden-Gurin, County of Alameda, California
Ellen Spertus, Google & Mills College
Taylor Van Vleet, YouTube

•
•
•
•
•
Understanding the company's perspective:
Taylor Van Vleet, YouTube
How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
How to approach questions:
Ellen Spertus, Google & Mills College
Non-technical considerations:
Tamara Gurin, County of Alameda, CA
Mock interview:
Erin Chapple, Microsoft, and Ellen Spertus
Q&A
Hiring from the Company’s Perspective
• It’s a numbers game.
– 1000 resumes : 100 phone screens : 50 interviews : 1
job offer (and not every offer is accepted!)
• Hiring process is time and labor intensive.
• Employees routinely paid referral bonuses.
– Don’t underestimate the power of your social
networks; it could help you or your friends in the
future.
• Companies hire to backfill from attrition as well
as for new positions.
– Many (larger) companies are always hiring.
Hiring from the Recruiter’s Perspective
• The main point of contact throughout the hiring
process.
• Feeding and scheduling the hiring pipeline.
–
–
Run in conjunction with a Hiring Committee.
Can often accommodate external deadlines.
• Hiring process can be chaotic.
–
–
–
Challenging “N-Body” problem for recruiters.
Don't be surprised by a snafu or two.
Hiring process != life at the company.
Hiring from the Interviewer's
Perspective
• Expect range of interviewers:
–
–
Peers and senior.
Intra-team vs. inter-team.
• May do one several interviews a week.
• Generally find interviewing to be one the more
stressful day to day activities.
–
But most also want the candidate to succeed.
• Interviewers should be polite; don’t take
discourteous interviewers personally.
Hiring from the Hiring Manager’s
Perspective
• Hiring managers usually represent a specific job
opening.
• They are in the best position to tell you the job's
exact responsibilities and expectations.
• You may encounter 0, 1 or more hiring managers
in your interviews.
– Depends if candidates are assigned to positions
before or after job offers have been made.
• Interview them as your future boss.
Hiring from the Hiring Committee's
Perspective
• Managers, recruiters, senior technical staff.
–
Interviewers may only provide written feedback.
• Delay between last interview and “the decision”.
• May meet on demand or several times a week.
–
15-30 min/candidate; dozens of candidates.
• Hiring false positives is expensive for companies.
–
At least one strong endorsement from an
interviewer is usually required before making an
offer.


•
•
•
•
Understanding the company's perspective:
Taylor Van Vleet, YouTube
How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
How to approach questions:
Ellen Spertus, Google & Mills College
Non-technical considerations:
Tamara Gurin, County of Alameda, CA
Mock interview:
Erin Chapple, Microsoft, and Ellen Spertus
Q&A
My Experience
• Industry, government, and academia
• Research labs
• Software developer
• Employee and Contractor
• Founded own business
• 1st and 2nd level manager
• CEO
• Have screened thousands of resumes and interviewed over a
hundred people
Long-Term Preparation
• What material do you need to learn in class or on
your own?
• Know what kind of job you want
• Informational interviews
• Create a resume that looks like the job you want
– Don’t just list all your skills
– Tailor the resume for your dream job or a waypoint
Medium-Term Preparation
• Interview skills to develop
• Material to review
• Programming Interviews Exposed by John Mongan
and Noah Suojanen
– Programming problems
– Puzzles
– Knowledge-based questions, non-technical questions
• Story: Data Structures TA
Short-Term Preparation
How to prepare for interview with a particular
company?
• Company website
• Ask your friends about the company
• Review your resume & bring copies with you
• Arrive early
Understanding the company's perspective:
Taylor Van Vleet, YouTube
 How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
 How to approach questions:
Ellen Spertus, Google & Mills College
• Non-technical considerations:
Tamara Gurin, County of Alameda, CA
• Mock interview:
Erin Chapple, Microsoft, and Ellen Spertus
• Q&A

Interviews are Artificial
•
•
•
•
Time pressure
Nerve-wracking
No computer or reference material
They test interview skills
Categories of Questions
•
•
•
•
•
•
Background
Programming
Puzzles
Algorithms
System design
Product and industry ideas
Background
Be prepared to discuss:
• Past projects (including lines of code)
• Debugging
• Leadership or teamwork experience
• Resolving difficulties with co-workers
Programming
• White board
– Practice on paper without an IDE
– It's okay not to remember library routines
• Interviewer wants to evaluate how you think
– Think aloud
– Balance confidence and humility
• Question may be ambiguous
– Make sure you understand
– Ask questions
Example
“Find a substring within a given string.”
• Make sure you understand problem.
• Consider time, space, and other trade-offs.
• Test your code.
• If you don't know how to proceed
• Work through an example.
• Start simple, then optimize.
• You're not expected to be perfect.
Puzzles
• Purpose is to test intelligence, logic,
problem-solving.
• Actually hit or miss.
• Approaches
• Study puzzle problems beforehand.
• Think aloud.
Algorithms
• Problems
– How would you sort/search/represent/solve ...?
– What is the efficiency of this data
structure/algorithm?
• Approaches
– Again, ask questions and consider trade-offs.
– Review undergraduate algorithms and data
structures.
– Listen carefully to the problem.
System Design
• Types of question
– Class structure
– Scalability
• Example: “Sort a million numbers.”
• Use previous techniques, especially:
– clarifying problem
– asking what to optimize
– discussing trade-offs
Product and Industry Ideas
• Sample questions
– “How could one of our products be improved?”
– “What could you contribute to our company?”
– “What should we be doing?”
• Approaches
– Be aware of what the company does and the state
of the industry.
– Don't say their products are perfect.
– Think ahead.
Understanding the company's perspective:
Taylor Van Vleet, YouTube
 How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
 How to approach questions:
Ellen Spertus, Google and Mills College
 Non-technical considerations:
Tamara Gurin, County of Alameda, CA
• Mock interview
(Erin Chapple, Microsoft, and Ellen Spertus)
• Q&A

Interview Starts Before the Interview
• You are interviewing them, too!
• Research the company
• Who to ask questions?
– Secretary or HR
• Parking?
• Dress code?
• How long is the interview?
– Hiring manager
• Job description?
• Size of the team?
• Who am I interviewing with?
How to dress
• Makeup – as long as it makes you comfortable
• A notch above the company’s dress code
• Black suit - at a shorts & t-shirt place?
Dealing with nerves
• Learn as much as you can before the interview
• Make yourself comfortable: water, comfortable
shoes, time of the day, etc.
• Give yourself ample time (arrive 15 minutes prior,
plan for 1 hr extra time after)
• If you don’t know the answer - slow down and think
• Get good night of sleep before
Interpersonal skills
Scan the room – am I in tune?





Confident and enthusiastic
Eye contact, smile
Be a team player
Humor - in moderation
General subjects (hobbies, interests) – in
moderation
Cultural fit
Probing for a cultural fit can be implicit:



Tell me about your project you are most proud of:
why? what was your contribution?
How would you document your design?
What do you do when a customer calls you with
<technical issue>?
Different Cultures
• Established software company: highly developed
SDLC process, variety of tools, high-tech, sales and
marketing dominate
• Startup: high-intensity, minimum bureaucracy, lack of
specialized job roles, often weak SDLC process, hightech, fun
• Internal IT department: software development is not
the company’s core competence, lack of specialized
job roles, direct interaction with the customer, often
bureaucracy
Inappropriate Questions
•
•
•
•
Age, race, pregnancy, etc.
Do not offer more information than you have to
Don’t be arrogant but don’t be apologetic
Non-emotional, matter of fact response, address the concern,
not the actual question:
– Whether I plan to have children in the future is not really relevant to
my career, I intend to ….
– Whether I am pregnant or not is not really relevant to my career, I
intend to …..
• DO NOTs in the technical interview:
– Ask about salary or benefits – wait until you get an offer
Understanding the company's perspective:
Taylor Van Vleet, YouTube
 How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
 How to approach questions:
Ellen Spertus, Google and Mills College
 Non-technical considerations:
Tamara Gurin, County of Alameda, CA
 Mock interview:
Erin Chapple, Microsoft, and Ellen Spertus
• Q&A







Understanding the company's perspective:
Taylor Van Vleet, YouTube
How to prepare for a technical interview:
Cecilia Aragon, Lawrence Berkeley Labs & UW
How to approach questions:
Ellen Spertus, Google and Mills College
Non-technical considerations:
Tamara Gurin, County of Alameda, CA
Mock interview:
Erin Chapple, Microsoft, and Ellen Spertus
Q&A
Download