I would know DFS and BFS like the back of your hand, many tree problems start with one or the other as the base and you can then focus your time on applying them to the problem.
Also strings, arrays, and hashtables.
You'll have 3 interviews: 2x DS&A similar to the phone screen, and 1x behavioral.
DS&A:
\- 2 medium level problems
\- 45 mins to solve them
\- no small talk
\- whiteboard style/noncompilable code requirement, be able to walk through throught process without running and guessing and checking.
Behavioral:
\- looking for red flags
\- try to show more unique things you've done in school projects or outside of school and not the same old thing they hear 10 times a day
(I worked at Meta 2009 to 2017 and did 400+ interviews and a lot of on campus recruiter)
u/SuccMyStrangerThings wrote (the comment Michael replied to):
Hi michael! If possible, Can you go thru my cv once? I’m INTL MSCS student looking for summer internships. I’ve applied at meta
u/michaelnovatireplied·
yeah I can give quick comments sure
u/ThanksAdventurous956 wrote (the comment Michael replied to):
Hi, this is really good insight and I really appreciate it!
I was curious at your approach for picking questions. I actually only have one interview, maybe its because I'm a sophomore, but like you said its a whiteboard style interview where I get 2 Medium level problems in 45 m
u/michaelnovatireplied·
This might have changed but they had question banks you could work from but ultimately you would choose your questions as an interviewer. When the recruiters, hiring managers, directors, and sometimes the CTO! looked over the "packets" they would see how experienced the interviewer was and how often they used the question they asked and take that into account.
So ultimately what Facebook strived for was FAIRNESS and CONSISTENCY. So the difficulty of the question wasn't as important as how well the interviewer was able to extract "signal" from using it. Some people had easier questions that they knew 100% strong no if the candidate didn't do well. Others had very medium questions that they expected to be solved perfectly and then had follow-ups they would use to build confidence that 1- person didn't memorize, 2- person really understood and could adapt on their feet to out of the box followups.
You never know what you're going to get but the common trend is they want to see "clean code" and "clean solutions" - good variable names, clear logic, no extra ifs or loops, or duplicated lines of code that could be solved in fewer - more readable - lines, etc...
If you overstudy and try to practice problems you'll get, you might pass through luck of the draw. If you focus on the meta (no pun intended) then you have a higher chance of passing on any question, even if your answer is not perfect.
One of the best engineers I ever interviewed solved binary tree by level with new line in not the most efficient way, but crushed the meta.
u/Anteater-Party wrote (the comment Michael replied to):
OP said no systems design, seems like you just comment this on every post you see
u/michaelnovatireplied·
correct, new grads don't do SD at Meta because they use it to determine people's level for E4/E5/E6
u/ThanksAdventurous956 wrote (the comment Michael replied to):
To follow up on the idea of not memorizing, what should you do if we see a problem we've completed to maximize our chances of moving forward with the interview? Chances are the interviewee will have seen some questions before given they've been preparing well.
How do you feel ab
u/michaelnovatireplied·
You need to have an idea of which tools are helpful right away but it's better to spend a few minutes talking those out and getting to the optimal approach.
If someone has a seen a question it can help you get a great answer fast, but if it's too fast asking unique followups always reveal if the person memorized or genuinely understands. Sometimes I asked followups that didn't make sense on purpose to see if the person flagged that.
u/printHiUnemployment wrote (the comment Michael replied to):
Hey Michael, ive seen some of your posts and always find them informative, especially the ones on the codingbootcamp sub. I wanted to ask, if you dont mind, a quick question.
I have a phone screener coming up for Meta, however i dont really Leetcode and havent used any DS&A sin
u/michaelnovatireplied·
I would postpone for a few weeks or a month until you feel comfortable with LC medium problems (particulatly trees and complex arrays)