Slide 1

Slide 1 text

Technical Interview Tips @jasdev, @binroot

Slide 2

Slide 2 text

Interview Types • Phone (Are you the right fit?) • Skype, G+ (Stypi, collabedit, Codility, GDocs) • In-person (white board / pair programming)

Slide 3

Slide 3 text

The Phone Interview Google Voice. Think aloud through problems. Have a notepad or editor ready. Wear normal clothes (it makes a difference!) Reserve a UVa room.

Slide 4

Slide 4 text

Skype / G+ Interviews • Reasonable Skype ID (with exception of ‘yoloSwagMaster') • Practice in collaborative editors • Test call with a friend

Slide 5

Slide 5 text

The On-site • Write in the language you're most comfortable with. • You will likely whiteboard some code (with testing). • On-sites are typically done in loops with a lunch interview.

Slide 6

Slide 6 text

How to Prep Books, practice sites, and mailing lists

Slide 7

Slide 7 text

Books we recommend • Cracking the Coding Interview • CLRS (Focus on 4102 topics) • Bloomfield’s Lectures

Slide 8

Slide 8 text

Coding Sites • glassdoor • GeeksforGeeks • Project Euler* • TopCoder • HackerRank • --Insert shameless plug for UVa ICPC here--

Slide 9

Slide 9 text

One of the best mailing lists I've joined Coding for Interviews (check out their LinkedIn group to be extra pro)

Slide 10

Slide 10 text

Let’s jump into some problems

Slide 11

Slide 11 text

After the problem statement...! • Talk the problem through • Clarify input/output of functions • Any assumptions? (for possible simplification) • Any runtime requirements or scaling issues? • Pseudocode (especially for on-sites) • Start coding (don't sweat minor syntax issues)

Slide 12

Slide 12 text

After your first pass at the problem! • Take a step back. • Try some sample test cases • (if asked to try a specific one, you might have missed something). • Look for common pitfalls (floating point precision, string concatenation cost, off-by-one errors in indices)

Slide 13

Slide 13 text

Sample Problem Let’s write a min-stack

Slide 14

Slide 14 text

Ending the Interview • Will likely be given a chance to ask questions • Definitely have some ready, either personal or about the product / company • Be sure the end the interview by verbally thanking the person by name, this detail goes a long way