Contacted by a recruiter over linkedIn, expressed my interest towards facebook...
I am a MS CS graduate (Feb 2020) with 5 years of experience, 3 offers were postponed in march due to covid, was interviewing with Amazon at that time.
Currently - Have offer from Amazon for SDE2 seattle.
Interview with Facebook: (Each round has max time of 45 min)
Phone Screen 1:
Phone screen 2:
as both question were easy, interview concluded within 20 min including discussion, i thought there will one more question but he said he do not have any more quetions.. good for me
Virtual onsite:
Interview 1:
find a path in a matrix (any length) if exist to reach from top-left to bottom-right, if does not exist return -1, matrix has few cell with status blocked means you can go into those cells
Done using dfs as any path would suffice and I can build the path with dfs traversal
Follow up of the first one now find me the sortest path instead of any.
Used BFS, and with bfs moved on generating child to parent links using dict(), once bfs stops, generate the path from dict()
https://leetcode.com/problems/find-the-celebrity/ (premium)
Famous person, if you have given list of pairs such as (u,v), which denotes u knows v, (directed edges), find a person if exist where everyone knows him and he dont know anyone
It was a simple graph question which can be done using indegree and outdegree
Interview 2:
Interview 3:
it was a behaviour round with situational and past experience based quesitons,
one coding question:
dont worry about the cases where compressed string will increase the size instead of reducing,
did in python, which interview did not had a experience working with, so end up expalining a basic python stuff like range, append, if input, when will it be true etc
Interview 4:
System design:
Design a system which host contests, think of it as design leetcode.
Don't consider it as component design on top of existing platform, its a new application so you have to handle everything like user base, questions base, registration to contest and to applications etc etc
Restriction:
Only 10000 users can participate in a contest
There will always be only one contest running at any moment
Note: Asked about the other requiements like do you want me to keep past contests submission, Interviewer told me to think about it and tell him what will I do, any question I could think of to clarify the requirment has expanded my scope, which caused a huge issue while working on database schema's and tables
completed high level design, components, Tables and database, did not get time to completed API design.
Current state:
Recruiter told me they wont be considering me for E5 (which I had not intentions to anyways, but I believe it was due to average perfomance on design round), feedbacks are with hiring committe, lets see...
Update:
Got the offer, and I declined it due to salary negotiations, but I told the recruiter I would like to retry for E5 in 6 months.
Salary negotition took hit due to design round average performace, will be working on it.
Hope it helps.