Live data from Hacker News

Facebook senior software engineer interview

daqo.medium.com

311–320 of 524 posts

Re: Facebook senior software engineer interview

#311
As a person working in Facebook for 7 years I feel like this post is incorrectly portraying FB's process and culture:

- First, Facebook avoids titles, so there's no such thing "senior software engineer". Levels are generally unknown by people so ICs get judged by their ideas, and not their title. - If there was such a thing as "senior" in Facebook, it's not starting at the E4 level. (If you look at levels.fyi and align the Facebook levels with Google you might get that an E5 is a senior) - This entire list of chapters of CLRS chapters is ridiculous. It's a great book and I'd recommend it for people into theory and who will be around Computer Science. But if you didn't go through a college degree and algorithms course, and need to interview, do yourself a favor and go directly for LeetCode or Cracking the Coding Interview. YMMV as to how much you need to learn. Some people I know can easily breeze through these interviews with no prep, those people are also super smart. Some smart people I know have a harder time, no system is perfect. - To actually get hired in one of higher levels at Facebook you will need to go through the design interview, which is a very different type, and the career experience one. No matter how well you ace the coding, you will not get an offer for a high level if you didn't succeed adequately in these. - All of my coding questions in the last few years required knowledge I learned in my first year learning programming. This is usually the norm.

Of course, this is my personal experience at Facebook, but it is based on quite some time and a lot of interviewing.

Re: Facebook senior software engineer interview

#313

I think we have a thread about software interviews every week, with the same discussion topics. Isn't this a problem solved by technical certifications? I mean, if the Top 100 companies do the same tests over and over again, with a very similar mindset and process, why not delegate that to a third-party? Then you just hire people that have Certification X, which matches your lust of algorithmic puzzles or whatever. I…

There are several problems with certifications.

The first is that the certifying authority gets paid by the candidates. Therefore the trend over time inevitably is to make the certification easier and easier to get so that the candidates keep paying them.

The second is that the field tends to move more rapidly than the certification. What does a certificate from 10 years ago about how well I know Python and JavaScript tell you about my current skills as a developer? Not a whole lot.

There are reasonable certifications out there put out by companies for those who wish to work on their technology stack. (Open source, not so much.) The company has the resources and motivation to make sure that people who are certified for their technologies are going to be reasonably competent. But now the certification becomes a sales pitch. The company shows you how to use the latest version of all of their tooling with all of the optional side products. You go out into a real company and they are a couple of versions behind and didn't license all of those optional add-ons. You, the certified expert, are likely to become the person asking for everything to be upgraded and for a ton of new licenses for stuff that is only marginally useful. This isn't necessarily in the company's interests.

True story. Many years ago I worked at a large FAANG. To limit how much time was wasted on bad candidates, they built a machine learning system to filter out bad resumes. In practice it was better than a recruiter at identifying promising resumes, but worse than a developer. But it limited how much recruiters had to bug developers with bad resumes.

The machine learning system picked up all of the things that you'd expect. For example someone who thought it important to list Microsoft Word as a skill probably isn't a viable candidate for a senior software engineer.

But the single strongest signal that it picked up was kind of interesting. At the time the MCSE (Microsoft Certified Solutions Expert) was one of the most popular certifications around. Anyone listing that was unlikely to be worth interviewing.

Re: Facebook senior software engineer interview

#314
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.

Here's an honest answer

* spread of misinformation on the platform/genocide in Myanmar/election integrity - this to me is the scariest thing about FB, but also something the company is dealing with and working on and trying to get right. It's not an easy problem to solve either.

* Targeted ads - This really doesn't bother me. Tracking user interests/behavior and using it to serve ads they are way more likely to engage with, is creepy true, but also quite innovative and effective and the reason the company makes billions of dollars. It's hard for me to get worked up about showing users more effective ads. There are some interesting nuances around whether this should be opt in or opt out and giving users control over how their data is used. Some of this will be determined by laws which seems better to me then having it fall on individual companies. FB does give users control btw.

* Too much/not enough censorship - this topic is a complete shit show and no one agrees anyway on how much is or isn't enough. FB's stance is basically to remove hate speech and calls to violence and allowing anything else. I'm fine with that.

* buying out competitors like IG and What's App - it's normal for companies to do this and for the government to step in when it's too much

* Other misc. shady things - there's other things that come up from time to time. I agree that some of it is shady, but imo is standard for what you find in American capitalism: ruthless competition and cutting corners to get ahead as opposed to evil maliciousness towards users and subverting the law.

* Leetcode style interview questions - I have no problem with this whatsoever. The goal is not to ask difficult questions that trick candidates. It's to ask medium difficulty questions and hire people who can quickly and effectively solve them. Not everyone who fails the interview is bad, but the people who pass should be decent.

* Users getting addicted to FB and IG/it makes them unhappy - I don't have a strong opinion about this topic. I don't really use the products since they don't appeal to me. They do appeal to (a growing) many and I think it's a bit presumptuous to point to those people and say "but really it makes you unhappy." I'm open to studies and scholarship that say otherwise.

I'm not sure if I covered everything the OP had in mind, since they were not specific. Probably there are some other objectionable things I missed.

Re: Facebook senior software engineer interview

#315

Earlier quoted context omitted.

Yea, to keep the Jews out. https://www.businessinsider.com/the-ivy-leagues-history-of-d...

This hasn't been the case for decades. Go look up how many Jews are in the Ivy Leagues now.

Yes, now it's used to weed out the Asians.

Re: Facebook senior software engineer interview

#316
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.

Turns out you got to pay bills even if you are on a moral high horse. Besides if one has to have a clear conscience to match everyone's standard here, one should stop working at FAANG, stop using FAANG products, maybe stop using big oil products, stop using big pharma products, is it ok to pay taxes to a govt if you don't agree with something they did or should one pick up and move too? what else did I miss? HN is so…

[deleted]

Re: Facebook senior software engineer interview

#317

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…

I have 20 years of experience myself, and I've interviewed and worked with a lot of people with same experience that couldn't code properly (and some of them were actually good engineers). Yes, they'd describe roughly how something should work, but the actual implementation would be super buggy, ignoring any corner cases, etc. People who stopped doing any hands on work more than a decade ago, and are just coasting wi…

I never stated that I felt "insulted". You're just projecting that, maybe based on bad experiences you have had.

There's an old saying: a job interview is a two-way street. You are interviewing them (or should be) every bit as much as they are you. If the applicant asks a basic question about the position, the interviewer has a duty to either answer the question or say "I'm not sure what role this is for; I've just been asked to check your technical knowledge, and then we'll get you to the actual manager who can give you a better answer. Okay?"

If the interviewer is immature, arrogant, rigid, etc., and regards the interviewer-applicant relationship as an antagonistic one, and views the applicant as incompetent and dishonest until proven otherwise, the interview will have that flavor. To me, that is a red flag about the organization. Indeed, I've heard from many sources that Amazon is a toxic environment; I have yet to hear anyone say "Amazon is a terrific place to work! [for engineers/programmers]" I suspect that if you're a high level product person who comes up with a clever idea like an AWS feature, and are able to pitch it to the top management, then you're a star, you're well paid, and life is good. But for the people in the trenches... not so great.

Re: Facebook senior software engineer interview

#318
post #74

Earlier quoted context omitted.

I'm quite sympathetic. I think there's a huge domain of experiences that engineers bring with them. However, I also see some wisdom here. I still don't full agree with it, but I see some sense too. These are core skills for an undergraduate Computer Science degree. They represent the bulk of our abstract knowledge of how to compute well, how to think about & break down problems. Without proficiency here, a coder risk…

> Without proficiency here, a coder risks creating potentially dangerously inefficient solutions, that, at Facebook's scale, may well literally cost the company millions of dollars in server costs, or which could make the difference between a successful on-time positive-PR roll-out, & a failed highly-negative public-relations roll-out. This is a common refrain, but juniors and mid-levels don't work on stuff like this…

my experience in the industry of coding has driven home to huge points:

1. that each individual & each team has an enormous amount of leeway & personal responsibility. teams are vested with what power they take & how far they & their environment let them.

2. complexity is everywhere & typically to work, to produce, is to add complexity & create new ways for things to go bad. indeed part of what is most notable about FAANG companies is that they have colossal staffs- & notably many of their senior engineer ranks- working to manage & reduce complexity, by inventing continuous integration/deploy systems, by devising trackers for cyclocmatic code & cyclomatic data-dependency/data-access-pattern complexity, by creating more resilient infrastructure & new ways to administrate systems.

i fully agree that there is a huge opportunity cost. i think it's madness how focused & specific these interview courses are, what a set path they are on. but i also think it's been underspoken that learning algorithms & data-structures & less so systems are fairly core material to the industry, that these are basic truths that underpin every single thing we do. and i think the knowledge is acquireable and important.

and i think just as much, it's unsaid, culturally, a lot of my first point: that individuals in this industry have enormous liberties, that they are sent off to incredible & weird tasks, to go drag something or other back to the company. notably, it's just so so so so hard for a company to take responsibility for "it's" code, to re-integrate, to handle, the new complexity that gets dragged in to base, by each individual contributor. there are so few repeatable processes, so few really good ways for a company to systematically remember what any given thing is, how it works, why it works, what it does. code-bases are bits of the wild, collected from all over, so often from one or a couple of individual contributors who set forth on some expedition. even, yes, the juniors. hacking new tweaks, changes, sometimes it doesn't feel like big stuff, but to software engineer is to set out upon wild land, most every time.

the sociology of this is fascinating to me, the dynamic is incredibly strong, incredibly asymmetric in how much responsibility is given to the developer, how wild the tasks are, & the difficulty & crudeness with which companies step up to re-integrate, take in, take responsibility for, manage the work that gets done.

Re: Facebook senior software engineer interview

#319

Has anyone outside US has had any success to be interviewed by one of these big companies? (it does not have to be a FAANG). I have worked a lot in my interview preparation but then I get stuck in the "We wont sponsor any visa" wall, especially grating in the case of Canada because that completes the circular requirement that in order to get an express visa you need a job offer. It seems to me the only realistic opti…

A lot of companies are still sponsoring H1B, but it definitely got more difficult.

One thing to note is that most companies only sponsor visas for senior level engineers (FB/Google level 5 or above). It's not easy to get that level, especially in bigger companies. I would say the best bet is interviewing for unicorn startups. They are hiring more aggressively and probably more willing to give senior level offers.

Re: Facebook senior software engineer interview

#320
post #195

Earlier quoted context omitted.

A better comparison is getting into Harvard. Do you really want to go to a school where getting in is a matter of acing a prescriptive test? There's a reason college applications value experience and diversity.

I can't speak for Harvard, but in the vast majority of the world, going to college is strictly on the basis of entrance exams, with some countries also using high school grades, nothing more. This is done to avoid bias and/or favoritism. I am not an expert in U.S. admissions but my understanding is that they give points for things like whether your parents are alumni or have donated, whether you play sports, whether…

High stakes entry-exams have their own problems. Among many other issues, they measure peak performance, rather than sustained performance.

US college admissions have many problems, so don't hear me say they don't need reform, but you are also assuming that academics are the sole thing that college is about. It isn't, at least not in the US. US schools value many things beyond pure academics. Among them being leadership (whether or not you were class president is one such indicator), personal initiative, success against the odds and many other things.

Post reply on HN