Here is the link.
My comment:
This candidate has weakness in terms of organizing things, present ideas. But overall he did good job to put important things into the sharing.
Facebook | E5 | London
Last Edit: January 7, 2021 5:06 AM
6.3K VIEWS
Education: bsc computer science and some others
Years of Experience: ~10
Prior Experience: Own company
Date of the Offer: Late 2020
Company: Facebook
Title/Level: E5 Senior Developer
Location: London
Salary: offered 101GBP, negotiated up a couple.
Relocation/Signing Bonus: managed to negotiate ~15-25GBP
Stock bonus: around 300-350K USD
Bonus: ~15%
Total comp (Salary + Bonus + Stock): ~ 190-210 GBP
Benefits: pay for relocation business class, temporary accomodation, and ~13GBP taxed cash
I don't think you can negotiate your offer (standard TC ~167 AFAIK) unless you have a competing offer in London (same market/region) (i.e. Google London can maybe can go high enough to counter if they like you), or if you show your existing salary. FB can match whatever other opportunity you have, but it's hard to get counter offers because FB already pays the top market rate of london & is probably the best opportunity/company (maybe i'm biased).
You could consider consulting to US companies for a bit / build your own company to up your compensation, or getting an offer from google which takes too long, google can take 3-6 months, perhaps it's best to just accept the standard offer as it's hard & stressful to negotiate, also saves you some time to spend enjoying your life.
some history:
I was rejected the first interview in 2019 due to failing a basic question (binary search, I used pythons bisect.bisect_left but they told me to implement it myself which lost me time as i didn't practice, I practiced only 20 leetcode problems, i also failed a math question (hint, know how to multiply / divide / add numbers from first principles). There isn't really much time for thinking or "figuring things out" in an interview, it's more like speed chess compared to untimed chess).
2nd time around, I interviewed remotely, and practiced 200-300 leetcode, particularly I made sure I could solve the top 50 FB questions in less than 10 minutes each which really takes the pressure off, this time i was reasonably confident and in one leetcode mock interview i got "beats 100%" solving 4 problems in ~20 minutes.
In my tech screen I solved two problems and they seemed happy, knowing DFS helps, then it seemed the interview was about to end but i asked if i could do another harder problem and solved that too since there was still 10 min left.
In onsite interviews, i got problems that can be found on leetcode, hint, learn tries, linkedlists, palindromes, and DP. Mine were easy/medium problems, one slightly modified to make it slightly harder IMO). I solved my easy questions in ~3-5 minutes, and mediums in ~10 min of coding. ~10-15 minutes was spent testing the code with example inputs and showing line by line with comments how each line works.
Interviewers were happy, although the last interviewer freaked me out a bit since she made me feel rushed (e.g. rushing the initial formalities, interrupting my coding to ask about something but in a rushed way, and at the end asking me to test my code on an example before i'd finished / before i got a chance to read over my code (hint, i should have asked if i can have a minute or two to read over my code before testing with an example, oops)).
One of my solutions has no known formula for the time/space complexity. I went to explain it in terms of partition formula, but interviewer cut me off with 10 minutes remaining in the interview which was a bit upsetting and Hiring manager told me i got the space complexity wrong.
After I checked my complexities using http://oeis.org/ and I was correct and there is no known formula but partition function does describe, at the end of the day it doesn't really matter & i realize i'm just nitpicking :), also, who knows, maybe my interviewer was having a hard day & it's good to have some empathy for an interviewer who doesn't give you the interview perfectly in the way you imagined.
System design
System design was to design an API for facebook timeline, i.e. JSON structures only, it threw me off as i didn't practice this, only practiced designing the overall system with google draw which wasn't required. They were very happy though, i think i went a bit slow since i was mentioning things above and beyond what they asked for, hopefully it helped not hindered.
I was a bit confused how to do basic database cursors / pagination since my design was based on layers / blocks of caching which means no pagination, but it seems part of their requirements was to see if i knew pagination, which was a bit odd as they're trying to ask for something that doesn't quite fit.
Behavioral interview
Behavioral interview, my CV is in the wrong order chronologically, so they only talked about my first two jobs, none of my recent 4 years experience, lol facepalm. However it was enough for E5, I asked to interview for E6, however they said there was no signal for E6, fair enough though as i haven't done enough leadership i guess.
Good luck to everyone out there on leetcode, I just wanna say thanks so much to this community for everything, and enjoy your time on leetcode. After my offer, I retired from leetcode for a few weeks but then solved another 20 problems for fun, i'm sure i'll continue to visit this community in the future.
Congratulations!! All the best!! Thanks a lot for sharing the offer details!!
Congrats :) Only one system design interview for E5 ?
January 6, 2021 5:53 PM
Congrats that seems like an amazing offer! How did you apply? Referral?
What means "~ 190-210 GBP" you mean 190k-210k? lol
Congratulations! and thankyou for you detailed post - I am sure this will help so many people
March 1, 2021 9:37 AM
thanks for this
hey, congrats on the great numbers! Can we connect? I needed some pointers on yelp's numbers, and i figured from the other post that you got yelp too :)
January 7, 2021 5:10 AM
Congratulations! can you please explain about the "JSON structures only" are you referring the response format of the api?