Los Angeles ● San Francisco ● Seattle

Building Successful Teams One Match at a Time

Preparing for the Phone Screen

#1 Know Your Resume.

You answer the phone and the first question the interviewer asks is: “Can you walk me through your work history?” Your minds goes blank. You’ve suddenly forgotten every job you’ve ever had.

The advantage of interviewing over the phone is that you can have your resume printed out in front of you, ready to reference at any time, in case you find your nerves getting the best of you. However, it’s important to know your resume inside and out, without feeling the need to read it off word for word like a script. The interviewer will have your resume in front of them, so when they ask questions about your work history, go beyond your bulleted list of duties and achievements. If you just read them off, you’ll sound like a robot, not an actual human.

Combat this by rehearsing quick summaries for each of your roles that highlight your specific achievements, projects you accomplished, and awards you won for each role. If you have gaps in your resume, be prepared to explain those as well.

Additionally, prepare a brief summary for the inevitable “tell me about yourself” question. This should be a short 1-minute “elevator pitch” that highlights your best qualities, experiences, goals and should be tailored to each company you apply for.

Remember: resume-based questions are designed to loosen you up and help shake off your initial nerves, so let them do that job.

#2 Research the company.

Going into an interview without knowing anything about the company can turn awkward quickly, especially if the interviewer asks something like “what attracted you to our company?”

Visit the company’s About Us page and social media accounts, and delve into company reviews to get a feel for the company culture. Any information you can gather about the company’s values and mission can help you tailor your interview answers to highlight achievements and past experiences that are in line with the company’s ideal candidate.

Interviewers like people who show that they care about the company’s mission and are ready to spend 40+ hours a week devoted to helping it reach its goals.

#3 Know the job description.

Going into an interview without knowing anything about the company can turn awkward quickly, especially if the interviewer asks something like “what attracted you to our company?”

Visit the company’s About Us page and social media accounts, and delve into company reviews to get a feel for the company culture. Any information you can gather about the company’s values and mission can help you tailor your interview answers to highlight achievements and past experiences that are in line with the company’s ideal candidate.

Interviewers like people who show that they care about the company’s mission and are ready to spend 40+ hours a week devoted to helping it reach its goals.

#4 Prepare your answers.

Going into an interview without knowing anything about the company can turn awkward quickly, especially if the interviewer asks something like “what attracted you to our company?”

Visit the company’s About Us page and social media accounts, and delve into company reviews to get a feel for the company culture. Any information you can gather about the company’s values and mission can help you tailor your interview answers to highlight achievements and past experiences that are in line with the company’s ideal candidate.

Interviewers like people who show that they care about the company’s mission and are ready to spend 40+ hours a week devoted to helping it reach its goals.

You may be asked a mixture of behavioral questions based on your past experiences, hypothetical questions, and technical questions that test your knowledge of CS concepts, including:

Going into an interview without knowing anything about the company can turn awkward quickly, especially if the interviewer asks something like “what attracted you to our company?”

Visit the company’s About Us page and social media accounts, and delve into company reviews to get a feel for the company culture. Any information you can gather about the company’s values and mission can help you tailor your interview answers to highlight achievements and past experiences that are in line with the company’s ideal candidate.

Interviewers like people who show that they care about the company’s mission and are ready to spend 40+ hours a week devoted to helping it reach its goals.

  • Why do you want to work for us?
  • Why should I hire you?
  • Why did you leave your previous job(s)?
  • What are your greatest strengths and weaknesses?
  • What’s one problem you wish you had handled differently at your last job?
  • What traits do you like most and least in a supervisor?
  • What salary do you expect in this position?
  • What makes you unique?
  • What do you have to offer this company?
  • What is your ideal company culture?
  • Do you code outside of work?
  • What new skill have you learned recently?

You should also prepare short stories and examples of a time when you:

  • Showed leadership or ownership.
  • Overcame a difficult technical problem.
  • Should have done something differently.
  • Overcame interpersonal conflict.
  • Learned something new.
  • Worked on a project outside of work.

Other Tips

Going into an interview without knowing anything about the company can turn awkward quickly, especially if the interviewer asks something like “what attracted you to our company?”

Visit the company’s About Us page and social media accounts, and delve into company reviews to get a feel for the company culture. Any information you can gather about the company’s values and mission can help you tailor your interview answers to highlight achievements and past experiences that are in line with the company’s ideal candidate.

Interviewers like people who show that they care about the company’s mission and are ready to spend 40+ hours a week devoted to helping it reach its goals.

  • Set up your phone’s voicemail with a clear, professional greeting in case an interviewer tries to reach you at an unscheduled time.
  • Prepare your interviewing space: get a pen, paper, copy of your resume and cover letter, any notes you’ve taken on the company, the job description, and any points you want to highlight during the interview.
  • Find a quiet, comfortable area free from distractions.
  • For a possible phone coding challenge, use a headset or speakerphone for hands-free coding.
  • Answer the phone with a friendly, professional greeting and your first name.

Brush up on your computer science fundamentals

Programming Languages

We do not require that you know any specific programming language before interviewing for a technical position with, but familiarity with a prominent language is generally a prerequisite for success. Not only should you be familiar with the syntax of a language like Java, Python, C#, C/C++, or Ruby, you should be familiar with some of the languages’ nuances, such as how memory management works, or the most commonly used collections or libraries, etc.

Data Structures

Most of the work we do involves storing and providing access to data in efficient ways. This necessitates a very strong background in data structures. You’ll be expected to understand the inner workings of common data structures and be able to compare and contrast their usage in various applications. You will be expected to know the runtimes for common operations as well as how they use memory. Wikipedia is a great resource for brushing up on data structures.

Algorithms

Your interview will not be focused on rote memorization of algorithms; however, having a good understanding of the most common algorithms will likely make solving some of the questions we ask a lot easier. Consider reviewing traversals, divide and conquer, and any other common algorithms you feel might be worth brushing up on. For example, it might be good to know how and when to use a breadth-first search versus a depth-first search, and what the tradeoffs are. Knowing the runtimes, theoretical limitations, and basic implementation strategies of different classes of algorithms is more important than memorizing the specific details of any given algorithm.

Coding

Expect to be asked to write syntactically correct code—no pseudo code. If you feel a bit rusty coding without an IDE or coding in a specific language, it’s probably a good idea to dust off the cobwebs and get comfortable coding with a pen and paper. The most important thing a Software Development Engineer does is write scalable, robust, and well- tested code. These are the main criteria by which your code will be evaluated, so make sure that you check for edge cases and validate that no bad input can slip through. A few missed commas or typos here and there aren’t that big of a deal, but the goal is to write code that’s as close to production ready as possible. This is your chance to show off your coding ability.

Object-Oriented Design

Good design is paramount to extensible, bug free, long-lived code. It’s possible to solve any given software problem in an almost limitless number of ways, but when software needs to be extensible and maintainable, good software design is critical to success. Using Object-oriented design best practices is one way to build lasting software. You should have a working knowledge of a few common and useful design patterns as well as know how to write software in an object- oriented way, with appropriate use of inheritance and aggregation. You probably won’t be asked to describe the details of how specific design patterns work, but expect to have to defend your design choices.

Databases

Most of the software that we write is backed by a data store, somewhere. Many of the challenges we face arise when figuring out how to most efficiently retrieve or store data for future use. The more you know about how relational and non-relational databases work and what tradeoffs exist between them, the better prepared you will be. However, we don’t assume any particular level of expertise.

Distributed Computing

Systems have to work under very strict tolerances at a high load. While we have some internal tools that help us with scaling, it’s important to have an understanding of a few basic distributed computing concepts. Having an understanding of topics such as service oriented architectures, map-reduce, distributed caching, load balancing, etc. could help you formulate answers to some of the more complicated distributed architecture questions you might encounter.

Operating Systems

You won’t need to know how to build your own operating system from scratch, but you should be familiar with some OS topics that can affect code performance, such as: memory management, processes, threads, synchronization, paging, and multithreading.

Internet Topics

We do a lot of business online, and we expect our engineers to be familiar with at least the basics of how the internet works. You might want to brush up on how browsers work at a high level, from DNS lookups and TCP/IP, to socket connections. We aren’t looking for network engineer qualifications, but a solid understanding of the fundamentals of how the web works is a requirement.

This was a relatively long list of topics to review, and might seem somewhat overwhelming. Your interviewers won’t be evaluating your ability to memorize all of the details about each of these topics. What they will be looking for is your ability to apply what you know to solve problems efficiently and effectively. Given a limited amount of time to prepare for a technical interview, practicing coding outside of an IDE and reviewing CS fundamentals will likely yield the best results for your time.