Preparing for a technical interview

  • View
    4.957

  • Download
    0

  • Category

    Career

Preview:

Citation preview

Preparing for a Technical Coding Phone 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

• Relax.

• Know your fundamentals

• Have a good breadth of knowledge

• Know when to use each of your CS tools

Get a LOT of sleep. Don’t cram!

• Find a location for your phone interviews that

• Has good WiFi

• Has good reception

• Is quiet

• Listen

• Breathe

• Explain your thought process

• Ask a lot of informed questions

• Recruiters are your friend

• 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?

• Typically ~1 hour• 5 minutes for administrivia

• 10 minutes for you to ask us questions

• Leaves ~45 minutes for us to ask you questions

• 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

• 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

• Your programming language

• Your bread and butter

• Make sure you can answer fizzbuzz

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

• Know how they work

• Know how to implement them

• Know when to use them

• Know when not to use them

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

• Example Question – Print out a tree by level

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

• 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

• Algorithmic complexity analysis

• DFS and BFS

• BSTs

• Object oriented programming

• Inheritance, interfaces, subclassing, polymorphism

• OO Design Patterns

• Singleton, Observer, Factory, etc.

• Multithreading

• Threads, processes, semaphores, concurrency

• Compiled vs. interpreted

• Pros and Cons

• Know your fundamentals

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

• 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

• 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

• 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

• Review Algorithms and Operating Systems books and class notes

• Review your project classes

• Think through your projects

• Think through each of your design decisions

• 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

• Sequoia backed startup making games

• Building the world’s best mobile engineering team

• Becoming the global leader in mobile entertainment

• #1 and #4 Top Grossing apps of 2011

• 2 of the Top Grossing apps of 2013

• Over 150 million installs

• iOS and Android

• 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

• Competitive salary

• Brilliant people

• Challenging and meaningful work

• Delicious food

• $5000 external referral bonus (per referral!)

• Email us at ona@pocketgems.com

Ashik Raj Manandhar

Coding Blackbelt

Ashik.Raj@pocketgems.com