The Time a FB Recruiter Called
It began with a nice email. Is it embarrassing to say my heart actually started racing? We chatted briefly and set up a time to talk.
The first question I was asked was about CSS specification and different element weights. “Like, describing the algorithm css engines use to compute which style across the mess-which-is-css is applied?” I asked. “Because, to be honest, I don’t really care or worry about this. Tags, classes, and ids have various weights, but a few years ago, after being a frustrated css newb trying to memorize this and appease the specifications, I started employing css methodologies that severely limit the cascade and makes this a non-issue (eg, BEM, SUITCSS, CSS in JS, etc).” “Hm”, he said, “well to start, the correct weighted order is …” I honestly don’t remember, because I honestly don’t care.
The third question was about the difference in when you would use apply vs call. I haven’t used apply/call since the dawn of arrow functions. I searched my brain as to what would be a compelling difference today. “Well, with bind you could curry arguments to the function, whereas with call the function is invoked immediately.” Feeling the pressure to salvage the quiz, I had mistaken the question to be about bind vs call. “No. Apply is used with an array; call is used with individual parameters.”
The last question, “what is the big O of a balanced dom tree.” “I’m not sure the big O of a balanced tree.” Hint, always say log(n), even if its wrong it sounds smart. Because, lets be serious, that is what this type of question is about — how well did you engrain your notes from the academy — and not, “How have you solved perf a issue”, or “How do you evaluate data structures at work?” Or, “When is keeping a tree balanced a performant decision? Or, when is it not.”
“Well, I think we can both agree you’re not ready to move on. Maybe in a few years an occasion will arise.” And so was my experience with FB’s screening — old trivia questions and me tripping over my feet. Given the prominence of FB, I expected a screening that assessed more than rote trivia — can he/she solve problems, think critically, add value, bring out the better in others, be a team member, fail, succeed, overcome obstacles, write performant/modular/stable/testable code, take direction, subscribe to others’ best practices/architectural paradigms, know how/when to question them, etc. But here’s the thing — FB probably doesn’t care about this in the screening. So what if it has a high false negative, as long as it moves through *some* of the top of the crop (As an aside: And, wow, does it! I am blown away by some of the folks at FB!).
This isn’t to say I consider myself “top of the crop” — or anywhere near it. This isn’t the post of first tier developer who was the victim of a false negative. This is the post of someone who mistook FB for being a company that in hiring processes saw developers as persons on a path, not simply outside-of-time troves of trivia — to indicate success.