Facebook came to my university's career fair. I briefly talked to one of their engineers and gave the recruiter my resume.
They emailed me back within 1.5 weeks and invited me to a 45-minute interview one week later on my school's campus.
During the 45-minute on-campus interview, the interviewer asked me to briefly introduce myself and summarize a few highlights on my resume. Then, he gave me a few simple coding questions to do on the whiteboard. He allowed me to use any language I wanted.
Also, the night before the campus interviews, Facebook hosted a reception at a pizza place so that all the interviewees could casually meet our interviewers beforehand.
No need to dress up for a Facebook interview; they're very casual. My interviewer was wearing a t-shirt.
You have a single branch of a Git or SVN repository. At a commit number G, the code in the repo worked (G = good commit). At a later commit number B, you noticed that the code was broken (B = bad). The code may have become broken anytime at or before B, but after G. B was just the first time you noticed the code was broken. Both G and B are positive integers, and G < B. You have access to a function bool isCommitGood(integer) that takes a commit number and tells you whether the code at that commit worked or was broken. Write code to find the most recent working commit (i.e., the number/index of the last good commit before the code became broken).
You have an unsorted array of integers and a function string getCategory(integer) which deterministically returns one of three possible strings: "low", "medium", or "high", depending on the input integer. You need to output an array with all the "low" numbers at the bottom, all the "medium" numbers in the middle, and all the "high" numbers at the top. This is basically a partial sort. Within each category, the order of the numbers does not matter. For example, you might be given the array [5,7,2,9,1,14,12,10,5,3]. For input integers 1-3, getCategory(integer) returns "low"; for 4-10, it returns "medium"; and for 11-15, it returns "high". You could output an array (or modify the given array) that looks like this: [3,1,2,5,5,9,7,10,14,12].
The following metrics were computed from 25 interview experiences for the Meta Software Engineering New Grad role in United States.
Meta's interview process for their Software Engineering New Grad roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Software Engineering New Grad interview process in United States.