Live data from Hacker News

Facebook senior software engineer interview

daqo.medium.com

171–180 of 524 posts

Re: Facebook senior software engineer interview

#171

Earlier quoted context omitted.

>in most cases doctors have many, many thousands of hours under their belt in training before still needing to study a ton to pass their boards The difference is that what the doctors put so much time into learning can actually be quite useful for their job. The vast majority of competitive coding stuff isn't. Interview procedures based around it completely fail to assess some of the most important abilities in softw…

Very good point. I completely agree that being good at designing new APIs is one of the most valuable qualities of a programmer and I have never seen a job interview or test that could check this.

It's one of the questions I ask when I interview people.

I could care less whether you remember some algorithm you could look up in Knuth. I want to know if you can put yourself in your customer's place and design an API that meets their needs.

Re: Facebook senior software engineer interview

#172
post #85

Earlier quoted context omitted.

After 20 years in software, I had a phone interview with an Amazon guy who sounded half my age (at most). Asked me to write some kind of function to do something, sort some stuff or some such. I described verbally how I would do it, almost line by line, in pseudo-code. He said "I need you to write it out in [some language]". I said "But why? I just told you how I'd do it." But he needed me to literally write the code…

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

This is the answer right here.

Re: Facebook senior software engineer interview

#173
post #30

How can anyone work at Facebooks nowadays and have a clear conscience. Is it just the salary? It is, isn't it? Just money. How depressing.

An effective way to change a culture is to participate in it.

I could agree if by "participate" you mean come in as the CEO and clean house, like what happened with Uber when Dara took over from Travis.

You might possibly be able to do something as a high ranking HR person, but as a L5 engineer, the amount of cultural impact you can realistically impart isn't that big.

Re: Facebook senior software engineer interview

#174
post #93
post #85

Earlier quoted context omitted.

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

And it proves what exactly? Except that they have lost out on a good hire only because that hire is not familiar with that particular programming language that the interview is.

These types of interviews are very similar to the Confucian Imperial Examination tests (Keju) of China [0]. The Keju's main purpose was to exclude peasants while giving the imperial bureaucracy the image of a meritocracy and therefore legitimacy. They also helped enforce a common culture, script, and style of writing for the large empire. To be clear, the Keju changed a lot as China's history evolved and it changed with China and is not a unified 'thing'.

The expense and time for study excluded many people and I have heard that whole villages would pool resources for just one son to buy the exam materials and take the time to study for the exam. Richer families didn't have need to sacrifice as such, of course. Typical success ratios were ~1:50 exam sitters. The Taiping rebellion was a direct result (among many) by such a man that failed his exams a few times (later declaring himself the brother of Jesus, but that's whole other story).

Though exam subjects changed over time, it typically included recitations of Confucian poetry, calligraphy, instrumental music, and other such gentlemanly subjects. You know, things you really need your bureaucrats to know to run an empire well.

Similarly with FAANGs (and previously with GMC/Ford/Chrysler, or in academia), the interview/exam is geared not towards the actual specifics of the job, but rather in the 'pruning' of the people and the appearance of legitimacy. They are selecting for people that will go through the hoops and the nonsense without questioning it and will make good bureaucrats (loyal, command-able, lacking vigor). Boat-rockers are selected out before they even start the irrelevant studying process.

[0]https://en.wikipedia.org/wiki/Imperial_examination

Re: Facebook senior software engineer interview

#175
post #132

> Day 12 — CLRS (ch 22, 23, 24, 25, 26) > When studying CLRS or PP, it’s essential to solve the exercises at the end of each chapter. I spent the last 2-3 weeks of 2020 going through these exact chapters, 22-26 (solving every exercise and problem) and it took me about 15 hours a day. Toward the end of chapter 26, it got extremely difficult (Goldberg and Tarjan's push relabel algorithm for max flow).

The suggested schedule is ridiculous, and I am not convinced it’s a good way for preparing for the interview. Still, the author didn’t say that he actually got the job.

The author is already employed at Facebook.

Re: Facebook senior software engineer interview

#176
post #20

Every time I read these posts I find them very depressing. Crunch through an enormous bunch of algorithm problems in order to perform well on some unrealistic whiteboard programming (I think the system engineering problems are actually more useful though) - as usual we've focused on the easy to measure metric rather than anything actually useful. Maybe these things are meant to be a proxy for how good you are at othe…

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?

Re: Facebook senior software engineer interview

#177
post #93
post #85

Earlier quoted context omitted.

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

And it proves what exactly? Except that they have lost out on a good hire only because that hire is not familiar with that particular programming language that the interview is.

lot of paper tigers out there

Re: Facebook senior software engineer interview

#178
post #31
post #23

Earlier quoted context omitted.

> If a doctor posted a plan for passing the medical boards would your first thought be "Wow, look at that massive medical monoculture problem!" If the exam was used to determine seniority of both dermatologists and anaesthesiologists, instead of basic competency heck entering the field, it would indicate a problem.

The OP doesn't say it's for all technical roles at Facebook, it mentions one specific job title.

Senior software engineer is specific?

Re: Facebook senior software engineer interview

#179

Earlier quoted context omitted.

>in most cases doctors have many, many thousands of hours under their belt in training before still needing to study a ton to pass their boards The difference is that what the doctors put so much time into learning can actually be quite useful for their job. The vast majority of competitive coding stuff isn't. Interview procedures based around it completely fail to assess some of the most important abilities in softw…

Very good point. I completely agree that being good at designing new APIs is one of the most valuable qualities of a programmer and I have never seen a job interview or test that could check this.

Language design is one of the hardest skills to master, and as the qualities of a good language include maintaining backward compatibility and longevity, most people who do master it never get to apply what they learned. Instead we only get to see their practice pieces. Their almost but not quite masterpieces.

It’s why I could immediately see that XML was going to fail in the long run. Everyone is a language designer? Sure, that’s going to work out.

APIs are tiny languages, so learning to do it well is a microcosm of language design. You don’t have to be good at all parts, but if the API you need isn’t in your wheelhouse, everyone will know. And if you build enough of them you’ll discover the limits of your skill.

Re: Facebook senior software engineer interview

#180

Earlier quoted context omitted.

> That all makes sense for hiring people to work on big existing systems, but many of these large companies are also trying to innovate and build new products with smaller, more agile teams. Which innovation of Facebook are you describing? Instagram, WhatsApp, or the stories?

Not products in the typical sense, but these are some interesting technologies coming out of Facebook that I can list off the top of my head (many of which I have used personally): * https://engineering.fb.com/2014/06/10/web/open-sourcing-haxl... * https://osquery.io/ * https://rocksdb.org/ * https://fbinfer.com/ * https://flow.org/ * https://prepack.io/

You just listed a lot of tools where a deep knowledge of data structures is extremely important :)

Most of these things need to be created to scale and stabilize the existing system.

Post reply on HN