Interviewing for Engineering


1. Phone Screening

Goal: Get a feel for high level technical background and culture fit

Leave time for candidate to ask questions at the end

2. Technical Interview

General

Pair Programming

White Board

reference: https://www.tryexponent.com/blog/how-to-whiteboard-for-system-design-interviews (in particular video on facebook messenger app design)

Text Messaging App (like Facebook Messenger)

How would you design the database to store required data?

Requirements to add and see how db design changes (perhaps design it out in sql with all requirements and then see difference in design for no sql)

Architecture and Technical Goals - Interviewers can draw a simple architecture of users => load balancer => api servers => db - they can add to the architecture if needed

Low Latency - what are some strategies you could use to make sure users get new messages quickly? - try and get them to give pros and cons of each strategy - short polling (pulling data periodically) - long polling (server holds request until response is available) - web sockets (signal r, for server to client communication)

3. Collaborative / Team Interview

Goal:

Who is in this interview?

Introductions

Feature walkthrough

General Questions

4. Follow Up