Technical Interviewing

19
Anthony Mays Software Engineer January 3, 2015 Technical Interviewing

Transcript of Technical Interviewing

Page 1: Technical Interviewing

Anthony Mays

Software EngineerJanuary 3, 2015

Technical Interviewing

Page 2: Technical Interviewing

● Raised in Compton, CA as a foster kid

● Ran into INROADS recruiter at school while walking around

aimlessly at lunch

● First interned at City National Bank after high school in 2001

● INROADS Intern of the Year 2005

● Software Engineer at Google working in Data Visualization

● Interviewer and coach

About the Facilitator

Page 3: Technical Interviewing

Contents

● Before You Apply

● Behavioral Preparation

● Technical Preprepation

● Tryouts

● Resources

Page 4: Technical Interviewing

Before You Apply

Page 6: Technical Interviewing

1. Be a “yes” (wo)man.

Take every opportunity to do new things.

2. Invest in genuine relationships.

People don’t care what you know until they know that you care.

3. Find the patterns.

Don’t stop at just learning how to do things. Understand the

“why” and the patterns will reveal themselves.

4. Never stop learning.

Remember Moore’s Law.

Before You Apply

Page 7: Technical Interviewing

Before You Apply

Page 8: Technical Interviewing

Before You Apply

5. Show me the numbers.

Make sure that your résumé includes lots of numbers.

6. Know thyself!

Keep track of your accomplishments and be prepared to speak

to your experience.

7. Keep LinkedIn up-to-date.

Don’t look for jobs, let jobs look for you!!

Page 9: Technical Interviewing

Behavioral Preparation

Page 10: Technical Interviewing

Behavioral Preparation

Project 1 Project 2 Project 3

Most Challenging

What You Learned

Most Interesting

Hardest Bug

Enjoyed Most

Conflicts With Teammates

* Source: Gayle Laakman Mcdowell, Cracking The Coding Interview (Fourth Edition)

Page 11: Technical Interviewing

Technical Preparation

Page 12: Technical Interviewing

Technical Preparation

● Know Big-O!!!

● Be an expert in a programming language - JavaScript, C++,

Java, Python, C#, Ruby are possible choices.

● Sorting in O(n log n) time - Quicksort, Mergesort

● Search in O(log n) time - Binary search

● Hashtables!!!

● Graphs and Trees - Basically the same thing.

o Depth-first and Breadth-first traveral

o A least one or two graph algorithms. Dijkstra?

Page 13: Technical Interviewing

Tryouts

Page 14: Technical Interviewing

● Write a function that computes the nth prime number.

● Given a string, output the reverse

● What does this function do?

o int doSomething(int n) {

return n << 1;

}

● Given a string, remove duplicate words

Tryouts (Software Engineer)

Page 15: Technical Interviewing

● If you were the size of a penny, how would you escape a

blender?

● Why are manhole covers round?

● How many golf balls fit on a bus?

* Note: Google doesn’t ask these kinds of questions anymore, though other companies

might. We generally don’t care about the answer, we care about how well you ask

questions, define the problem space, and explain your solutions.

Tryouts (General)

Page 16: Technical Interviewing

The Must Reads

Page 17: Technical Interviewing

● Introduction to Algorithms (The CLR book)

● Cracking the Coding Interview - Gayle Laakman McDowell

● Programming Pearls - Jon Bentley

● Wikipedia

● Glassdoor.com

● CareerCup.com

The Must Reads (Software Engineer)

Page 18: Technical Interviewing

The Must Reads (General)

● Glassdoor.com

● Geekinterview.com

● Wikipedia

● CareerCup.com

Page 19: Technical Interviewing

Thank you!