Live data from Hacker News

Facebook senior software engineer interview

daqo.medium.com

241–250 of 524 posts

Re: Facebook senior software engineer interview

#241
post #46

Earlier quoted context omitted.

The author mentions CLRS. It’s an introductory level algorithms book and is used in Junior/Senior years of undergrad. Expecting a senior engineer to be well versed in undergrad level algorithms is not a monoculture problem.

Only if the role you're hiring for requires directly applying those algos. A high level understanding is good but implementation knowledge isn't. I've been in this industry for almost 15 years. I've never once had to write a low level algo implementation. On the few occasions I had to dig that deep into code I looked up what I'd forgotten. If someone asked me to whiteboard bubble sort I'd choke. There's no need to kn…

You rarely need to write your own sort or hashmap, but you should absolutely understand at a high level how those algorithms work, how to analyze them, and the key concepts that go into their design.

The point of the undergrad CS syllabus is not to teach you specific algorithms, but to give you a toolkit for solving problems. The goal of a SWE interview should be to test your ability to apply that toolkit to a "new" problem.

Re: Facebook senior software engineer interview

#242

Earlier quoted context omitted.

My ex girlfriend is a pediatric cardiologist who recently passed her boards. When I talked to her about it, she was very much on the side that she wished she didn't have to study for it because it didn't have much to do with her job at all. She just wished she could spend her time getting better at the skills she actually used rather than a wide range of academic material that didn't matter to her day to day. Her fri…

> "What the student thought was it temporary concession to the system-"I'll play along just enough so that I can get what I want from the system"-turns out to be the beginning of it forced, permanent adjustment to the system." This is common to all professional disciplines. https://www.amazon.com/gp/aw/d/B008GRDKPG

Nice affiliate link there. Is that your own book you're flogging, too?

Re: Facebook senior software engineer interview

#243
post #46

Earlier quoted context omitted.

The author mentions CLRS. It’s an introductory level algorithms book and is used in Junior/Senior years of undergrad. Expecting a senior engineer to be well versed in undergrad level algorithms is not a monoculture problem.

Only if the role you're hiring for requires directly applying those algos. A high level understanding is good but implementation knowledge isn't. I've been in this industry for almost 15 years. I've never once had to write a low level algo implementation. On the few occasions I had to dig that deep into code I looked up what I'd forgotten. If someone asked me to whiteboard bubble sort I'd choke. There's no need to kn…

Disclaimer: I'm in a position at FB where I participate in candidate reviews.

> If someone asked me to whiteboard bubble sort I'd choke.

I came in to FB just shy of 20 YOE, and I consider "Google" to be a valid answer to that sort of question. Writing low level algorithms is a waste of time, not a skill. That said, I think it's ok to expect people to be aware of them.

Could you describe the algorithm for it, though? What about traversing a tree? Would you be able to talk it through and then be able to implement it? What about proactively verifying that your algorithm was correct for standard and edge cases? Can you evaluate your solution for time & space complexity?

If the answer to these is yes, that's sufficient to pass the coding interview. This is also where I think think more experienced candidates really shine. Aside from handcrafting algos that are best left to libraries, the others are things that senior folks who have been there and done that just do intuitively.

Interviewers definitely want code that works, but being able to do the other things is equally important. The review process itself also doesn't allow one bad interviewer to sink the candidate.

Re: Facebook senior software engineer interview

#244
Firstly, the OP didn't say that you had to do what they did to get through the interview, they said what they did. If you think you don't need to do that much work, great, go for it and hope for the best. However, if you really want to work somewhere fang or not, the preparation might well be the difference between getting in and not. Too many recruits I have interviewed barely bothered going onto our website - are they really going to be bothered in the job?

Secondly, these kind of posts always start the "technical interviews are terrible" bandwagon. As someone who has been on both sides of it, on the one hand, I was disappointed when I didn't make the grade at one agency but I have also wasted countless days of my life on candidates that claim to have what it takes but really don't. They might have LOTS of experience but objectively score very low in ability - honestly, people who take 5 minutes to write a 1-liner to split a string on a comma! They might be young and keen, but again, that in itself doesn't really count either way - unnaturally gifted or just over confident?

Multiply that by 1000 for larger companies who must have hundreds or thousands of applications and how are they supposed to separate good from bad? By taking your word for it? By assuming that because you have worked for 10 years in the industry that you must be really good? Because you used to work on XYZ at a previous company? Unless you wrote it single-handedly, it is hard to know what value you added personally. They will test you in the best way they know how.

Also, the testing is not just about being able to do what you and they already do, that is not worth $150K, they want someone who is flexible, a fast learner, someone who can approach problems creatively, who can tackle something that has not been done before without needing someone else to tell you how. Confidence is good unless you are unnaturally gifted and things like working well as a team etc. are minimum requirements for most organisations, not nice to haves.

The technical tests then broadly fall into two categories - 1) find out exactly what you know about e.g. scalable systems by asking very specific questions. If you don't know how redis differs from SQL or the file system for caching, you are not suitable for a senior position in a company that operates only at scale. Most interviewer probably won't care if you have forgotten a subtlety or detail but phrases like "I know they are different, I can't quite remember why", don't sound so great. 2) The really strange questions where they are not looking so much for an answer as an approach - the one I heard about was, "how much would you charge to clean all the windows in Seattle". Any decent engineer should be able to reduce that to a set of assumptions or questions and then produce some kind of mathematical model in exactly the same way as being asked to write a complex program to serve one of your fang companies.

Re: Facebook senior software engineer interview

#245

got to last round for E6 and found it frustrating. Answering the technical questions required intimate knowledge of production systems that scale to billions of users with proprietary hardware (i.e. no cloud). It seemed to require previous experience at facebook, google, or amazon.

How was your overall experience through all of the rounds?

The first 3 were fairly standard and can be practiced using the booklet and/or leetcode. I found the facebook recruiting process to be very organized.

Re: Facebook senior software engineer interview

#246

Earlier quoted context omitted.

This may be an unpopular opinion, but I like how it is very objective, measurable, and somewhat specific. If I get fired and suddenly have my days free, I can simply study algorithms and leetcode and get a job elsewhere. It seems easier than worrying about everything else that could be asked during an interview.

I feel the same. It's also much more meritocratic. People from no-name schools and no-name companies study leetcode and get into FAANG all the time. Do people really think it would be better to base it on resume and YOE?

You know that the writer that coined the term "meritocratracy" thought it was a vary bad thing

Re: Facebook senior software engineer interview

#247

Ahh, so they're not actually looking for seniors then? Sounds like they want people who are "passionate" enough to spend months prepping for an interview so they can milk them dry without the risk of pesky things like "free time" and "family" getting in the way. Tongue in cheek analysis aside: - A phone interview to weed out timewasters. - A RELEVANT technical take-home task that could be done feasibly in a few hours…

I interviewed a bunch of fb E4s at previous gig and yeah imo not a lot of them would have senior title if you rewind industry say 10 years back. Once you deviate from their canned prep it all falls apart. They’re almost all very good with basic algo stuff tho

Re: Facebook senior software engineer interview

#248
post #2

There are two interesting things in this post. The first is that a senior developer at Facebook believes every single senior developer looking for a role at Facebook can revise the same things. Clearly the author believes that Facebook are looking for programmers who fit a very specific mould, to the point that they're willing to go out in public and state exactly that. I'd argue that points to a massive monoculture…

I think the real issue here is this post reads like a "person who's only been working for a few years" or "has only worked at one company" guide to getting into FB. It represents a very NARROW view of who wants to work there and how they got there.

Re: Facebook senior software engineer interview

#249
post #85

Earlier quoted context omitted.

"But why?" Because most people can't. And they want to make sure you can.

Most people with 20 years of experience can't write basic code? Come on.

I have been a tech interviewer for a decade, and this is spot on. The entire reason FizzBuzz-style questions are popular in screening interviews is that most people fail them.

Re: Facebook senior software engineer interview

#250

As someone who just went through the FB E5 interview process and got an offer, this is largely incorrect. Or, doesn't reflect how my E5 interviews goes and doesn't match up with what I've heard from friends. This is all anecdotal of course and based on personal experience. 1) DDIA is way too deep for E5, system design or product design. In general, the book is just too deep for any interview. It's a fantastic book bu…

Re 3 really seems over kill an unrealistic for an interview, and maybe some times you don't need optimal time complexity.

And TBH with a background in real technical computing I would probably look at buying in any required algos in from people like NAG.

Your not really testing for those that can think outside the box in this style of interview.

Post reply on HN