paint-brush
Software Engineer interview at Facebook :  Tips and Tricksby@niksib
1,592 reads
1,592 reads

Software Engineer interview at Facebook :  Tips and Tricks

by NikolayNovember 15th, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Nikolay is a web developer who attended a Facebook coding interview. In Facebook interview usually divided into 4–5 parts: coding interview, design interview, coding interview and behavior interview. Nikolay shares his experience at a Facebook meetup for web developers. He explains the goals of a coding interview: How you think and tackle hard problems, how you consider engineering trade-offs and how you communicate in English about technical problems. He also gives his tips on how to get a job at Facebook.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Software Engineer interview at Facebook :  Tips and Tricks
Nikolay HackerNoon profile picture

Hello there, my name is Nikolay, I am a web developer.

In this article, I want to share my experience of visiting “Interviewing at Facebook: Crush your coding interview” meetup.

In Facebook interview usually divided into 4–5 parts.

Interview parts

  1. Coding interview(Online)
  2. Coding interview
  3. Design interview
  4. Behavior interview

Goals of coding interview

  • How you think and tackle hard problems
  • How you consider engineering trade-offs(memory vs time)
  • How you communicate in English about technical problems
  • Limits of what you know
  • Don’t feel bad if you don’t get all the answers right

Data Structures and algorithms

  • Implement, not memorize
  • Discuss complexity(space and time trade-offs)
  • Common library functions are fair game

Specific questing about concepts are rare

  • Unless you claim to be an expert or need the concept

Format of a coding interview

Intro

  • Learn about your interviewer and share your past experiences

Coding

  • Majority of the time spent completing coding questions
  • Don't worry if the interviewer stops you in the middle of a question to move on!
  • Questions might have to follow up components based on your implementation
  • Be prepared to test your code, discuss how it works and analyze its performance
  • Phone screens use an online collaborative editor(but we don't run any code!)

Steps to a successful interview

  1. Repeat the question back to your interviewer to ensure you fully understand what’s being asked.
  2. Ask questions about edge cases.
  3. Take your time to think about a solution before coding
  4. Start coding while explaining your entire thought process. It's encouraged to talk out loud. Don't worry if you run into trouble! Feel free to ask your interviewer for a hint.
  5. Run through your solution with test cases. Continue talking out loud.
  6. Iterate - how can you do better with runtime/memory.

A few examples of coding tasks

  1. Given an array in which every number is between 1 and N, determine if there are any duplicates(Task level - Easy).
  2. Given a tree, determine if it is a binary search tree(Task level - Medium).

Example of coding interview

Final Tips

  1. Practice on a whiteboard
  2. Leave whitespace between questions
  3. Time yourself
  4. For phone screens, go somewhere quiet with a good internet connection
  5. Use headphones to free your hands for coding


    Follow me on Twitter - https://twitter.com/sybrikN
    Have a nice day :)

  6. (Photo by Charles 🇵🇭 on Unsplash)