35

Preparing for a technical interview

Embed Size (px)

Citation preview

Page 1: Preparing for a technical interview
Page 2: Preparing for a technical interview

Preparing for a Technical Coding Phone Interview

Page 3: Preparing for a technical interview

Ashik Raj ManandharLead Mobile Engineer, Pocket Gems

• Graduated Berkeley EECS 2008 in Robotics

• Awarded Berkeley EECS 2009 Warren Dere Award for

Best Senior Engineering Design

• Worked on computer vision and media streaming

software for unmanned aerial vehicles for the defense

industry

• Joined Pockets Gems as Engineer #3

• Lead the engineering on Tap Pet Hotel – #4 Top Grossing

App of 2011

• Lead Platform at Pocket Gems

• Working on an exciting new title

Page 4: Preparing for a technical interview

• Relax.

• Know your fundamentals

• Have a good breadth of knowledge

• Know when to use each of your CS tools

Page 5: Preparing for a technical interview
Page 6: Preparing for a technical interview

Get a LOT of sleep. Don’t cram!

Page 7: Preparing for a technical interview

• Find a location for your phone interviews that

• Has good WiFi

• Has good reception

• Is quiet

Page 8: Preparing for a technical interview

• Listen

• Breathe

• Explain your thought process

• Ask a lot of informed questions

• Recruiters are your friend

Page 9: Preparing for a technical interview

• Quickly judge if you’re a good fit• How well do you know your fundamentals?

• What’s your thought process like?

• What’s your personality like?

• Any red flags?

Page 10: Preparing for a technical interview

• Typically ~1 hour• 5 minutes for administrivia

• 10 minutes for you to ask us questions

• Leaves ~45 minutes for us to ask you questions

Page 11: Preparing for a technical interview

• We could ask you super in-depth technical questions• We’d spend at least 20 min giving you the question

• You’d only have 20 min to answer the question

Page 12: Preparing for a technical interview

• We’ll focus on fundamentals• Things all software people should know

• Things we know you know

• Less time spent asking the question

• More time for you to show us how you think

Page 13: Preparing for a technical interview

• Your programming language

• Your bread and butter

• Make sure you can answer fizzbuzz

• Commonly used elements – strings, arrays, basic syntax and data types

Page 14: Preparing for a technical interview

• Know how they work

• Know how to implement them

• Know when to use them

• Know when not to use them

Page 15: Preparing for a technical interview

• Example Question – Reverse a singly-linked linked list in place

Page 16: Preparing for a technical interview

• Example Question – Print out a tree by level

Page 17: Preparing for a technical interview

• Example Question – Given a node in a graph, traverse the graph to find a specific node

Page 18: Preparing for a technical interview

• Example Question – Use a stack to reverse a linked list

• Example Question – Use a linked list to implement a queue

• Example Question – Implement a hash table

Page 19: Preparing for a technical interview

• Algorithmic complexity analysis

• DFS and BFS

• BSTs

Page 20: Preparing for a technical interview

• Object oriented programming

• Inheritance, interfaces, subclassing, polymorphism

• OO Design Patterns

• Singleton, Observer, Factory, etc.

Page 21: Preparing for a technical interview

• Multithreading

• Threads, processes, semaphores, concurrency

• Compiled vs. interpreted

• Pros and Cons

Page 22: Preparing for a technical interview

• Know your fundamentals

• Know when it’s the right time to use each of your tools

Page 23: Preparing for a technical interview

• Think out loud

• Ask questions on the level of detail required

• Think of test cases, and verbally walk through them before saying you’re done

• Front load your programming classes

Page 24: Preparing for a technical interview

• Write code • in Stypi and/or Google Docs

• on paper

• on a whiteboard

• Have a non-technical friend ask you programming questions• Answer the question on paper

• Explain what you’re doing as you’re doing it

Page 25: Preparing for a technical interview

• Review your Data Structures books and class notes

• Review the Head First book for your programming language http://shop.oreilly.com/category/series/head-first.do

Page 26: Preparing for a technical interview

• Review Algorithms and Operating Systems books and class notes

• Review your project classes

• Think through your projects

• Think through each of your design decisions

Page 27: Preparing for a technical interview

• Interview books

• Programming Interviews Exposed http://www.piexposed.com/

• Cracking The Coding Interview http://www.crackingthecodinginterview.com/

• Review websites

• TopCoder Algorithms Tutorials http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=S

tatic

Page 28: Preparing for a technical interview
Page 29: Preparing for a technical interview

• Sequoia backed startup making games

• Building the world’s best mobile engineering team

• Becoming the global leader in mobile entertainment

Page 30: Preparing for a technical interview

• #1 and #4 Top Grossing apps of 2011

• 2 of the Top Grossing apps of 2013

• Over 150 million installs

• iOS and Android

Page 31: Preparing for a technical interview
Page 32: Preparing for a technical interview

• Most people join with little to no knowledge in Objective-C and other languages we use

• Looking for people with solid fundamentals

• Learn from experienced engineers at Pocket Gems

Page 33: Preparing for a technical interview

• Competitive salary

• Brilliant people

• Challenging and meaningful work

• Delicious food

Page 34: Preparing for a technical interview

• $5000 external referral bonus (per referral!)

• Email us at [email protected]

Page 35: Preparing for a technical interview

Ashik Raj Manandhar

Coding Blackbelt

[email protected]