[HN Gopher] Facebook senior software engineer interview
       ___________________________________________________________________
        
       Facebook senior software engineer interview
        
       Author : hpux
       Score  : 300 points
       Date   : 2021-01-06 14:36 UTC (8 hours ago)
        
 (HTM) web link (daqo.medium.com)
 (TXT) w3m dump (daqo.medium.com)
        
       | base698 wrote:
       | Been reading, "Disciplined Minds: A Critical Look at Salaried
       | Professionals and the Soul-battering System That Shapes Their
       | Identities"
       | 
       | https://www.amazon.com/gp/aw/d/B008GRDKPG/ref=tmm_kin_title_...
       | 
       | It's seems like qualifying exams seem to mirror tech interviews
       | in structure and purpose.
        
       | jorblumesea wrote:
       | 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 but it's dense and too detailed for a 45 min
       | interview.
       | 
       | 2) The system design interview is largely around communication
       | and thought process, _not_ spouting techniques and flexing. I
       | feel like candidates have a fundamental misunderstanding of what
       | the system design round is and why it 's used. It is not simply a
       | time slot to rattle off design concepts.
       | 
       | 3) The big elephant in the room are the coding questions. 2
       | med/hard per coding round, and you need to nail it all. Not only
       | that, but expectations are higher. So no bugs, test all your
       | code, perfect one shot solutions in optimal time complexity. This
       | is very difficult to do under pressure.
       | 
       | 4) At E5 level, I found the system design portion fairly easy. If
       | you've been through the sys design interview before or currently
       | work as a senior, it won't be a big deal. I think people are
       | blindsided by it because they are trying to up level themselves
       | from L4 or E4, and then hit the "senior wall".
       | 
       | 5) Behavioral is really important. Unfortunate to not see this
       | being mentioned.
       | 
       | tldr, E5 is hard because of the coding, not the system design.
       | The system design at FB was similar to design questions and depth
       | for all the major tech companies (MS, Amazon, Goog, Apple etc)
        
         | Mauricebranagh wrote:
         | 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.
        
           | jorblumesea wrote:
           | That's what I thought too, but I've heard from friends that
           | didn't get offers that not getting the optimal solution is a
           | reject. Even things like O(n) to O(log n). I don't agree with
           | it at all, just communicating what my experience has been
           | (and people I know that have gone through it).
           | 
           | Obviously this is completely anecdotal.
        
       | mberning wrote:
       | Facebook have been contacting me for years on linkedin and email
       | asking me to interview. This is exactly why I have never
       | responded.
        
         | gedy wrote:
         | Unless these skills that are interviewed for are directly
         | translateable to the job, it seems like this "prep work"
         | filters out busy candidates who are already working and have
         | families, kids, lives. Actually maybe that is the intention,
         | QED
        
           | WrtCdEvrydy wrote:
           | Working as intended.
           | 
           | We need people who are willing to be worked to the bone and
           | only bleed FB-brand blood :D
        
           | nyaloka wrote:
           | I'm absolutely distrustful of any companies where an
           | interview requires prep work. Who is woth more? That who
           | remembers 50% of a heavy algorithms book right after reading
           | it or that who remembers 20% of it after having used it as a
           | display riser for the last 5 years?
        
         | djipko wrote:
         | While this may not be inviting to you, I think there is a flip
         | side to the "wide-net" that big companies cast on LinkedIn and
         | such. Instead of just hiring from a pool of "well-established"
         | candidates, they give a chance to a wide variety of people from
         | different backgrounds - as long as they can pass the
         | interviews.
         | 
         | This may not sound like much to anyone who is established in
         | the industry or happened to be in the right places for a good
         | career head-start, but for people coming from non-traditional
         | backgrounds, industries and especially places where there's no
         | tech - being able to study-up and land a job at some of the
         | most well known names in the industry can be life-changing. I
         | think this is a very under-appreciated side effect of the
         | "recruiter spam" from FAANG that everyone seems to dislike if
         | they can afford to.
        
       | driverdan wrote:
       | This just confirms how terrible FB's hiring process is. If you
       | ask candidates questions about things they won't use on a weekly
       | basis you're doing it wrong. No one should have to study for an
       | interview.
        
       | jonnypotty wrote:
       | I'm not interested as I think it would be hypocritical and
       | immoral for me to persue a job at Facebook. Considering Facebooks
       | current issues I'd be interested how people would justify this
       | career path to themselves.
       | 
       | It's like wanting to sign up for the UK armed forces in the
       | middle of the Iraq war. Like, it's a really bad idea. What are
       | your principle, are they summed up as "I want as much money as
       | possible and who cares how"
        
         | joe_fishfish wrote:
         | I'm surprised how far down I had to scroll before I found a
         | comment like this. I was approached by a Facebook recruiter
         | twice in the last year, both times I gave a polite "not
         | interested", with a list of reasons why.
        
         | chillacy wrote:
         | Some people probably _did_ sign up for the armed forces in the
         | middle of the Iraq war. Not that I agree with them, but they
         | probably saw themselves as patriots. Sometimes people just have
         | different morals, try speaking to people who work in the MIC
         | and you'll notice that they all think they're doing good.
        
       | donatj wrote:
       | > The big tech companies will not get pedantic on the language
       | that you decide to use in your interviews.
       | 
       | Ten+ years ago, but I received an email minutes before my second
       | phone interview with Facebook that they were passing on me for
       | not being adept enough with JavaScript.
       | 
       | I was supposed to be going over a take home project with the team
       | on that call. They never even saw the project I'd spent the
       | entire weekend on, and I'm still salty.
        
         | davidw wrote:
         | I'd try and view it positively: you dodged a bullet in that you
         | avoided working with a shitty organization that does things
         | like that.
        
         | paxys wrote:
         | If it's a front-end position then that makes sense, considering
         | there is really no alternative to JavaScript (or rather wasn't
         | 10 years ago).
        
           | donatj wrote:
           | While it was indeed a front end project. I was not
           | _unskilled_ or unfamiliar with JavaScript, and had been
           | working with it since the late 90s. I made this abundantly
           | clear going in. It just had not up to this point been my
           | focus, but I was very excited to grow into the position.
           | 
           | They could have at the very least _looked at_ something they
           | had me spend hours on. Honest to god, if they 'd had a single
           | person cast eyes on it for 15 seconds I wouldn't hold this
           | grudge.
           | 
           | I still have the code in a private repo on GitHub and looking
           | at it now it's very clean and with small exception not unlike
           | code I would write today.
        
         | sjg007 wrote:
         | They passed on the WhatsApp guy too and that cost FB $20
         | billion. So moral of the story is start a startup!
        
       | DaiPlusPlus wrote:
       | Facebook stopped being a /cool/ company to work for about 4 years
       | ago.
       | 
       | How can they expect to attract the best when they're so lacking
       | in corporate ethics? Don't say it's the almighty dollar because
       | anyone with the chops to make $200k/yr from Facebook could start
       | their own SaaS and make $400k/yr without too much effort. So
       | what's left to be proud of about working at FB? You don't even
       | get a private office anymore.
       | 
       | Downvoted.
        
         | thrwyoilarticle wrote:
         | And, for all that money, they can't seem to keep any of the
         | features working.
        
           | chiefalchemist wrote:
           | Their biz model and revenue aren't based on user features
           | working. The priority is on keeping what we can't see
           | working. Most everything else is window dressing.
           | 
           | Put another way, the engineering heavy-weights work on the
           | important stuff. Interns and such gets the rest.
        
         | Avalaxy wrote:
         | Please tell me more about these SaaS ideas that will make me
         | 400k/year.
        
         | stdbrouw wrote:
         | > anyone with the chops to make $200k/yr from Facebook could
         | start their own SaaS and make $400k/yr without too much effort.
         | 
         | Or, I mean, they could start their own SaaS that for any one of
         | a thousand reasons ends up making them $0k/yr.
        
           | sumtechguy wrote:
           | That is the rub of it. Making software and selling it are
           | different skill sets. Not everyone has both. Selling things
           | about getting others to think your incentive is good enough.
           | Not everyone has that skill set.
        
         | st1x7 wrote:
         | I was with you until the third sentence. The better argument is
         | that talented developers can get jobs at companies with
         | similarly great engineering culture and good compensation but
         | with better corporate ethics than Facebook's.
        
         | icedchai wrote:
         | This sounds naive. I've been involved with several early stage
         | SaaS companies. You'd be surprised how difficult it is to make
         | any real money from it. Even if the business has good margins,
         | the growth is often so slow, you'd do better getting a regular
         | job and investing on the side.
        
         | nrmitchi wrote:
         | > anyone with the chops to make $200k/yr from Facebook could
         | start their own SaaS and make $400k/yr without too much effort.
         | 
         | I'm sure some can.
         | 
         | But "coding well enough to get a job at Facebook" and "being
         | able to sell something to someone willing to pay for it" are
         | two _completely_ different set of skills.
         | 
         | Some people have both. Most do not.
        
       | derivagral wrote:
       | > People must avoid using less mainstream languages in their
       | coding interviews as it's possible that your interviewer might
       | not be familiar with those languages
       | 
       | You'd think the CS knowledge would be prized more than the
       | application, but I suppose that's not what these roles are for...
        
       | NeverFade wrote:
       | Besides the usual advice, this observation is very interesting:
       | 
       | > _Applying for senior engineering positions ( >E4) in FANG
       | companies is one of the best ways to get into them._
       | 
       | This comment by a veteran senior engineer confirms to me that
       | Facebook, just like most other FANGs, does a poor job of
       | promoting from within.
       | 
       | There are multiple comments to the same effect from many other
       | FANG employees: It's much easier to get recruited for senior
       | roles from the outside, then get promoted from the inside.
       | 
       | The result of this failure is that job-hopping is the most valid
       | career strategy for aspiring seniors.
        
         | crorella wrote:
         | This is a major issue that causes major frustrations to the
         | people working on such companies.
        
           | NeverFade wrote:
           | I have heard similar comments from multiple FAANG employees.
        
           | notacoward wrote:
           | It's worth noting that Facebook has a _separate_ recruiting
           | team for higher-level hires, starting at either IC5 or (more
           | likely) IC6. In any case I know because it included me. From
           | what I can tell, hiring at IC7 and above is so hard that the
           | process for _most_ candidates deviates in some way from what
           | 's usually described. I saw some really great hires (that
           | might otherwise not have happened) that way, and some that
           | were ... less great. Basically it increases the variance that
           | the standard process is constructed to minimize at lower
           | grades.
        
           | [deleted]
        
         | programmertote wrote:
         | > The result of this failure is that job-hopping is the most
         | valid career strategy for aspiring seniors.
         | 
         | The same is true at my work which is not FAANG, but one of the
         | big four in its industry. I guess it's just the nature of
         | corporations.
        
         | borvo wrote:
         | working at different organizations builds engineering and
         | emotional maturity, no?
        
           | NeverFade wrote:
           | Perhaps, but rampant job-hopping as a norm is definitely not
           | the outcome these tech companies aspire for.
        
         | hpux wrote:
         | I don't necessarily agree with your observation. The issue here
         | is that companies like Facebook hire a ton of entry-level (E3)
         | engineers each year that come from their intern pool. Although
         | many of them get promoted, not everyone can pass the bar. The
         | need for more senior engineers is persistent in the company.
         | Another thing to mention is that typically there is no
         | headcount for E3 engineers at Facebook (besides returning
         | interns) for external hires.
        
           | tudelo wrote:
           | Not sure the source of downvotes, what you are saying seems
           | true. From my experience they will generally not even
           | interview a new grad who has experience for E3 jobs with an
           | internal referal.
        
           | myhf wrote:
           | What do you mean "pass the bar"? Promotion is a process of
           | supporting and grooming someone for advancement once they
           | have been selected by the promoter. There is no bar to pass.
        
         | kylestlb wrote:
         | Either this or junior/non-senior engineers at FB are already
         | long gone before they have a chance to be promoted to senior
         | because they job hopped somewhere else.
        
         | jordan_curve wrote:
         | I think you're misunderstanding the author. The sentence after
         | the one you quoted is
         | 
         | > _Most of these companies have solid internship programs, and
         | almost all E3 (entry-level) positions are offered to returning
         | interns._
         | 
         | The author is saying that getting an entry-level position
         | without an internship is very difficult at these companies and
         | so if you want to work at one, applying as a senior engineer is
         | a much easier route.
         | 
         | FWIW, I work at one of those companies and have found senior
         | roles and promotions to actually be pretty biased toward
         | longtime employees
        
         | sj3k wrote:
         | I interviewed at FB and Amazon last summer and I asked how long
         | people stay once they are hired. At both companies I was told
         | the average tenure is about 1.5 - 2 years. That was a big
         | yiiiiikes moment for me. People don't stick around long enough
         | to get promoted.
        
           | NeverFade wrote:
           | > _People don 't stick around long enough to get promoted._
           | 
           | Why do you think that is? Perhaps because the odds of getting
           | promoted are smaller than hopping to a better position in a
           | different company, which is what I argue.
           | 
           | If the odds of internal promotion were good enough, why would
           | these employees take the risk and hassle of hopping?
        
             | sj3k wrote:
             | Very good point and definitely something I can personally
             | relate to.
        
           | avl999 wrote:
           | RSUs from your signing bonus vest fully at 2 years (atleast
           | at Amazon). A lot of people bail as soon as that vesting
           | happens.
        
             | sj3k wrote:
             | I don't remember the fully vest time at amazon but at FB it
             | was 4 years.
        
             | driverdan wrote:
             | That screams terrible job. If it's a good place to work
             | people wouldn't immediately leave.
        
               | pnw_hazor wrote:
               | It also says something about the people that are willing
               | to stick around. Not good things.
        
             | mattjp wrote:
             | This is not true. RSUs vest fully after 4 years. They begin
             | vesting (meaningfully) after 2 years.
        
       | alkonaut wrote:
       | Imagine studying for an interview. Not about the company or its
       | products, but bloody algorithm textbooks.
        
       | ProdigyFinance wrote:
       | Azole Kondlo is a toxic deadbeat who despite being a mediocre at
       | best software developer, no longer applies those limited skills,
       | and instead freeloads on the backs of his colleagues. The one
       | area in which he still excels is in using meetings and processes
       | to postpone active development, screwing over not just his
       | colleagues but also his employer, who admittedly deserves this
       | for enabling his behaviour in the name of diversity.
        
       | shiohime wrote:
       | Posts like this remind me immediately why I stopped bothering to
       | apply for software jobs at other companies and stayed at my
       | current place of employment to climb the ladder. The interview
       | process is almost universally terrible and consistently tests you
       | on a nearly useless subset of computer science that doesn't
       | correlate well to actual implementation practices in the event
       | you are hired. It really is a painful process, and probably
       | needlessly so for most cases.
        
       | avl999 wrote:
       | Even the ethical questions about working at facebook aside, as an
       | engineering environment fb doesn't seem like that great of a
       | place. Kent Beck was fired from fb, he worked there for a few
       | years and shared his experience of the culture there
       | https://softwareengineeringdaily.com/2020/12/10/facebook-eng...
       | It doesn't sound like a place I'd want to work at.
       | 
       | Edit: Updated the link to the right podcast.
        
       | johnnujler wrote:
       | Sleep well, Eliminate stress from life, get a decent job that
       | allows you to explore things you want to do on side, spend time
       | with family and lead a happy life. Note that this is a very
       | ambitious route to follow, most people never understand this or
       | get to live like this. But if you are super ambitious and have a
       | domain that you are interested in, go create a product, become an
       | entrepreneur. There is nothing as rewarding. Please don't stress
       | and burn yourself out for a job.
        
       | objclxt wrote:
       | This definitely _isn 't_ the only post you'll need to read,
       | because it doesn't talk _at all_ about the behavioural interview.
       | Which at Facebook is actually one of the most important factors
       | in terms of job levelling.
       | 
       | The more senior a level you're aiming for the more important the
       | behavioural interview becomes (because the less the job becomes
       | about pure technical skill, and the more it becomes about
       | people).
       | 
       | Unfortunately - or fortunately, depending on your perspective -
       | the behavioural is also one of the harder interviews to prepare
       | for.
        
       | oarabbus_ wrote:
       | I'm not at the level of a FB Senior SWE, but how does one do
       | anywhere from 1-5 chapters of CLRS each day? Doing a single
       | chapter of CLRS would take me multiple days.
       | 
       | Is it that I'm just that far off from the level of a senior SWE?
       | Can most of the experienced, talented programmers here cover
       | multiple chapter problem sets of CLRS in a day?
        
         | almog wrote:
         | Exactly so, if they can actually read, understand, internalize
         | and apply the dense content that CLRS delivers, 5 chapters a
         | day (and mind you, he mentioned some of the more dense chapters
         | in one of these 5 chapters days), that would have made for a
         | much more interesting post.
         | 
         | I would never recommend anyone to try and read CLRS in two
         | weeks, or even a month. Even if you could do that, I think it
         | would be much better to get through a chapter then try to apply
         | the algorithms of that chapter to Leetcode/Codeforces question
         | and cycle through the subjects as you advance through the book
         | in a spaced repetition technique.
         | 
         | For me and for many other people the linear approach for
         | studying that they suggest is far from ideal.
        
       | orsenthil wrote:
       | If you can read CLRS in a month thoroughly, the developer
       | deserves more than a Senior Software Engineer position at FB.
        
       | abj wrote:
       | The question for those of us that aren't leetcode fans - what are
       | we going to do about it?
       | 
       | We should make it easier for people to get a job without
       | leetcode. Here's a job board I made for jobs without leetcode.
       | https://say-no-to-leetcode.netlify.app/
        
       | lbriner wrote:
       | 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.
        
       | leowoo91 wrote:
       | I deeply regret clicking this. I've never worked with FAANG
       | however I've been through 5-6 interviews. The way I see it, it's
       | material that can be studied/recalled but you can make much more
       | difference in your life with that amount of energy, unless you're
       | a new graduate OR your job is interviewing other people. I
       | understand the side effects that study can bring on to help ease
       | the pain, though it won't work if you only rely on knowledge
       | alone. That's where experience/context helps. Just be aware that
       | fangs are not a measure of what a best software engineering can
       | be, they're the ones make use of their branding well as a high
       | entry wall. So please do yourself a favor and don't take the
       | harsh to your heart, keep enjoying what you do.
        
       | nicebellvue wrote:
       | It is worth noting that interviews vary a large amount within
       | Facebook depending on which organization you report up through.
       | While I'm no longer at Facebook, I used to interview a number of
       | senior engineers within AR/VR, and cramming CLRS would not really
       | help with our Ninja loop at the time. Maybe it is different now?
        
       | ericbarrett wrote:
       | I passed a Facebook Infra interview three times: 2007, but I
       | declined the offer (whoops); 2009, accepted, worked there for 4
       | years as an IC5; 2016, returned for 6 months (whoops).
       | 
       | The 2016 interview was much harder due to the influx of leetcode-
       | style questions. I don't think I'd pass one in 2020.
        
       | spamizbad wrote:
       | A warning from a Python developer & hiring manager: The Python
       | used in _Elements of Programming Interviews in Python_ is NOT
       | clean or idiomatic. Perhaps they designed it for whiteboard-style
       | interviews, but if you walk into a Python shop that does stuff
       | with coderpad /screen-shared you code like in the book you're not
       | going to make the best impression.
        
       | k__ wrote:
       | I read some devs simply did 1-2 months of interview training to
       | get such a job.
       | 
       | Learning what they ask and how to solve it.
       | 
       | Had nothing to do with their work there, but it sure was a good
       | filter against unmotivated people and idiots.
        
       | jakearmitage wrote:
       | 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'm fine with meaningless tests that don't prove anything, as
       | long as I don't have to do them for every single interview. I
       | would gladly study for a certification, because it means I get to
       | do it once and then I can prove everything you want me to prove
       | in order to get a job to change button positioning.
        
         | btilly wrote:
         | 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.
        
         | throw_me_2020 wrote:
         | That seems like something you could build. There's a handful of
         | YC companies working on that.
         | 
         | I don't think FANG companies are likely early adopters of that.
         | They are all relatively conservative with hiring. Navigating
         | the organization to find an internal champion who's incentives
         | are aligned seems really tough. Internal established recruiting
         | teams seem disincentivized to use a 3rd party certification.
         | Using that might reduce the number/importance of the internal
         | recruiting team.
        
           | sjg007 wrote:
           | The advantage is that it would reduce total recruitment cost
           | and burden. I mean filtering on a CS degree and school should
           | be enough but apparently it isn't. There are also non-
           | traditional programmers. There's a finite set of reasonable
           | problems so there will be some difficulty in hiding the
           | answers when you have access to Google vs in person.
           | 
           | Outside of that, the most important skill is gathering
           | requirements, gathering requirements and gathering
           | requirements. In the startup world this is called finding
           | product market fit.
           | 
           | System architecture design and computational thinking are
           | also necessary but I don't think any software engineer can do
           | those well without gathering requirements which is basically
           | about identifying product market fit within your corporation.
        
       | Aeolun wrote:
       | The biggest thing I came away with is that their interview
       | process is just as dystopian as at other places.
        
       | fred_is_fred wrote:
       | Interviewing at some of these companies has become less about
       | skill and more about having an abundance of time free from other
       | responsibilities (work, family, etc). Perhaps that's the
       | selection criteria intended since it indicates ability to work
       | long hours?
        
       | dmarchand90 wrote:
       | It seems to me to be almost superhuman to read multiple chapters
       | and solve all the exercises in a single day. Maybe that's just
       | the normal level of ability for FAANG staff?
       | 
       | EDIT: maybe it's more reasonable if you're doing this full time.
       | 1hr/question and checking the next day if you get stuck, as he
       | writes in his blog, seems a lot more reasonable.
        
         | war1025 wrote:
         | > Maybe that's just the normal level of ability for FAANG
         | staff?
         | 
         | Based on personal experience, I think you certainly need to be
         | "above average" to get hired by the big tech companies, but
         | it's more like "top 20% of graduating class" and not "only the
         | very best."
        
       | sg47 wrote:
       | Yes, please join Facebook and destroy what little is left of our
       | democracy.
        
       | openfinch wrote:
       | 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.
       | 
       | - A long, informal, in-person chat to determine "culture fit" and
       | personality.
       | 
       | - Actually checking references.
       | 
       | That's all you need, anything more is just self-importance - or
       | worse - time wasting.
        
         | bra-ket wrote:
         | technical take-home task is mostly time wasted for the
         | candidate, working for hours just to be ghosted again and
         | again, you will be selecting for people who have nothing better
         | to do.
         | 
         | I'd skip that (and leetcode) entirely and during in-person chat
         | put emphasis on discussing prior projects in detail.
         | 
         | As for "system design" ask a question on your current
         | architecture, how would they approach solving a particular
         | problem you actually have/solved, and see what questions they
         | ask.
         | 
         | That's how good people who built the tech industry used to get
         | hired in the old days (i.e. when they were not friends of
         | friends)
        
           | blamestross wrote:
           | "Prior projects in detail" is a great idea until most of your
           | desired candidates can't do that because of NDAs. Most of my
           | NDAs do not permit me to discuss anything except the broadest
           | strokes of my past projects.
        
         | dilyevsky wrote:
         | 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
        
       | conorh wrote:
       | 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 other development tasks, but it
       | has never seemed to work out that way to me. Some of the very
       | successful people I know at FAANG companies have told me that
       | they would not pass the algorithm interviews without months of
       | preparation and that they don't really use those skills.
        
         | gonzo41 wrote:
         | It is a proxy or how good you are at other development tasks. I
         | think it's a bad proxy. Mostly because I've read and studied
         | CLRS at school. And I don't use the fun parts much in the wild.
         | I'm also not expected to be able to recall things that you can
         | look up.
         | 
         | One 'slightly' shameful things I noted about myself reading
         | that list of system design interview questions is that I
         | actually don't use most of those systems or know their features
         | well enough. Other than YT of course.
         | 
         | I feel like the simpler interview process would be to just take
         | a person and do a hand wavy system design interview. Then if
         | they pass, hire em on probation for 2 months and slam them with
         | work. They get paid, you maybe get a feel for them.
         | 
         | They sink or swim. You keep em' or toss em' away at the end of
         | the two months.
        
           | dntrkv wrote:
           | That approach would work for a startup, but not when you're
           | hiring 100s of engineers on a weekly basis. Not to mention
           | the amount of bias that approach will introduce. At least
           | with the current approach, you know exactly what the criteria
           | is to land the gig.
        
           | wojciii wrote:
           | Hmm.. this is how I got hired last year. I told the employer
           | that I wanted to test them and to get me a short term project
           | we could use to determine if company/me are a good match.
        
         | davidw wrote:
         | I don't know that it's depressing, more that it's indicative of
         | a culture I don't want anything to do with, which is fine with
         | me. At least it's truth in advertising.
        
         | codingdave wrote:
         | > Maybe these things are meant to be a proxy for how good you
         | are at other development task
         | 
         | They are also a proxy for how hard you are willing to work to
         | join them. I don't find that a useful metric as it implies a
         | huge power imbalance in their minds... nevertheless, sometimes
         | hiring processes make you jump through hoops just to prove that
         | you are willing to do so.
        
         | highspeedbus wrote:
         | It's a game, some people are willing to play it.
        
         | blisterpeanuts wrote:
         | 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 out, as
         | though I couldn't easily copy-and-paste something for him. I
         | thanked him and hung up. All I learned from that encounter is
         | that I'd be very unhappy working with people like him. Bullet
         | dodged. Sure, I use my knowledge of algorithms, and I
         | frequently look such things up on StackOverflow and improve my
         | knowledge; we all do. But these interviews seem designed to
         | filter out experienced, pragmatic programmers and just bring in
         | more cookie-cutter software engineering BS/MS recent grads who
         | speak their language. A far cry from the startup environment
         | that most of these companies began as!
        
           | mrits wrote:
           | "But why?"
           | 
           | Because most people can't. And they want to make sure you
           | can.
        
             | jrd259 wrote:
             | We always allow the candidate to use any reasonable
             | language. We're not testing if someone knows
             | Java/Python/Lisp (I wish). We're testing if they know _any_
             | language. I can confirm seeing people with resumes who
             | nevertheless could not write any code even in the language
             | they professed to be  "expert" in.
        
               | jrib wrote:
               | Same. I learned through experience to ask for a candidate
               | to write a couple of lines of code.
               | 
               | Usually it's just some simple question that requires a
               | single loop. We explicitly tell them they can use any
               | language including one they want to make up as long as
               | they are ok explaining how it works. When possible, I try
               | to relate it to the conversation we've had up to that
               | point.
               | 
               | I've had someone start off by writing "four" on the board
               | when prompted to write a "for" loop and get stuck. I'm
               | still not sure if he was truly inexperienced or just
               | trolling. The resume looked solid to me and he spoke well
               | about his experience. I had almost decided to just skip
               | the coding question as a result.
        
             | Philip-J-Fry wrote:
             | If you can describe an acceptable algorithm with enough
             | detail in words, you can code it.
             | 
             | If some guy had a good employment history, maybe a GitHub
             | with some examples of their skills and described an
             | algorithm to me... Why would I doubt their ability to write
             | it in code?
        
               | AnimalMuppet wrote:
               | I can. You can. But apparently, not everyone can.
        
             | croo wrote:
             | Exactly this.
             | 
             | I interviewed lots of people for a small company and
             | multiple times I became convinced the person across a table
             | would be a good hire (based on past work experience and
             | soft talk) only to see them bleed to death on the first
             | technical question. Demonstration of technical skill is
             | absolutely crucial for an interview.
             | 
             | Personally I don't care about pseudo code vs real or syntax
             | errors, but the price of a bad hire is much higher than a
             | few more questions or round for a candidate. Also FAANG
             | will always have enough senior CV on their desk to miss a
             | few good hire...
        
             | vechagup wrote:
             | One of my biggest interviewing mistakes was voting "hire"
             | on a guy despite his seeming difficulty with coding during
             | the interview because he was such a great talker and had
             | great sounding experience. He came on board, couldn't
             | deliver on anything, and sapped the team's morale. There
             | are plenty of people out there who have bullshitted their
             | way through a career.
        
             | janoc wrote:
             | 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.
        
               | Balgair wrote:
               | 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
        
               | Analog24 wrote:
               | But that's not how it works. You are almost always free
               | to use why language you want. There are exceptions to
               | this but in those cases it would be clearly indicated in
               | the job description.
        
               | RobRivera wrote:
               | lot of paper tigers out there
        
             | driverdan wrote:
             | Most people with 20 years of experience can't write basic
             | code? Come on.
        
               | bcrosby95 wrote:
               | We hired one who couldn't. He turned out to be more of a
               | mentor/big vision/best practices guy. Which is probably
               | OK to have one or two of those if you're a large enough
               | org.
               | 
               | But we had 3 devs. I think he gave some great advice (and
               | looking back - still think so 12 years later), but it
               | just wasn't what we needed at the time.
               | 
               | The funny thing is, when we let him go (he knew it was
               | coming - he wasn't blind to the problems) he got hired at
               | a company we worked regularly with. Things worked out
               | much better for him there.
        
               | binarytox1n wrote:
               | You must not have tried to hire a software engineer
               | before. In a hiring cycle I encounter multiple "Senior
               | Engineers" who can't write basic code. Fizzbuzz. Can't do
               | it. Engineers should absolutely expect to write real code
               | in an interview. It's preposterous to think that someone
               | can claim to have 20 years experience writing code and
               | then be offended to spend 20 minutes doing it in an
               | interview.
        
               | paxys wrote:
               | 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.
        
               | driverdan wrote:
               | I imagine this problem is much worse at large, highly
               | paid, highly desirable companies. My experience in hiring
               | at smaller companies has not shown this. I've never had a
               | candidate with 10+ years of experience who couldn't code.
        
             | pklausler wrote:
             | This is the answer right here.
        
           | ratorx wrote:
           | I wouldn't blame the specific engineer for this too much (for
           | asking you to write down the code). If Amazon is the same as
           | Google, then there is a lot done to standardise interview
           | scoring. Part of the guidance given to interviewers is to
           | make sure that the candidate has produced actual "working"
           | code. The code is included in the interview feedback that the
           | interviewer writes.
           | 
           | Source: Interview trained at Google
        
           | Aunche wrote:
           | Companies like Amazon have standardized procedures for
           | interviews. At the company I work for, the person
           | interviewing isn't going to be the same person who hires you,
           | so they need more data that just the interviewer's notes.
           | Also, deviating from the standard procedure opens up the
           | effect of unconscious bias.
        
           | WhompingWindows wrote:
           | Maybe he had requirements to get actual code samples from
           | applicants. He probably trusted you could do it, but
           | companies have protocols, they probably would want to run
           | analyses on the answers, too.
        
           | LordHumungous wrote:
           | You have a hard time at Amazon
        
             | TameAntelope wrote:
             | For what it's worth, I don't think he'd disagree with you.
             | 
             | Additionally, I would probably translate that to be,
             | "Unwilling to put up with what appears to be needless
             | effort."
        
           | paxys wrote:
           | Why is the fact that the interviewer was half your age
           | relevant? I interview and reject senior engineers with 20+
           | years of experience every day. They are extremely good at
           | throwing out the right buzzwords and sounding smart, but
           | digging a bit further it's obvious that they have spent the
           | latter part of their career playing politics at large
           | companies rather than doing any real engineering work. A
           | simple FizzBuzz is enough to weed out most such candidates,
           | and if someone refuses to spend 5 minutes of the interview
           | writing actual code (in their language of choice) they are an
           | automatic fail.
        
             | blisterpeanuts wrote:
             | Yes, a simple FizzBuzz can certainly weed out people who
             | aren't very good at playing the FizzBuzz game.
        
           | avl999 wrote:
           | While I have sympathy for the idea that some of these
           | interviews can be ridiculous, however it doesn't seem like
           | the interviewer was in the wrong here. As an interviewee you
           | should have known what interview process is like, I worked at
           | Amazon and I know the recruiters brief the candidates on what
           | to expect in the interview, so you should have known going in
           | that you'd be expected to write code, you could have said no
           | right there and then in the email instead of hanging up on
           | the guy.
        
             | blisterpeanuts wrote:
             | They didn't brief me to expect that. Or, to be fair, maybe
             | they did and I missed it. I didn't mention above that he
             | refused to answer a couple of basic questions (what type of
             | work is it? what language? where will the job be? can I be
             | remote?) until he got through the script. It was like
             | talking to a machine. And he was rude. I got a negative
             | impression. I know, sometimes recruits are expected to put
             | up with some rudeness or brusqueness to show how flexible
             | they are, can put up with different personalities etc. But
             | this guy just came across as kind of immature and arrogant.
             | Sorry, but I'm quite glad I terminated the interview and he
             | also seemed unwilling to push at all, just said "okay!" in
             | a sing-song voice that implied "yeah whatever, go die". At
             | least be polite and try to convey some professionalism or
             | you're going to turn off people who prefer to work around
             | professionals.
        
               | VRay wrote:
               | Yeah, you're getting a lot of pushback from the corporate
               | drones on here, but you 100% made the right call. If you
               | want to be a part of the FAANG hive mind, you have to be
               | willing to jump through a bunch of hoops. The job itself
               | is mostly just cranking out/maintaining a bunch of boring
               | backend plumbing for boring stuff, with little to no
               | correlation between the value you bring to the company
               | and your compensation. Saved the company a million bucks
               | a year? "Great, here's a $25,000 bonus." Saved the
               | company a million bucks a year, but your VP lost a fight
               | with another VP? "You're just not a team player, no bonus
               | this year"
        
               | codingprograms wrote:
               | I know you'd like to believe this. But I see a constant
               | stream of challenging software problems at FAANG
        
               | vechagup wrote:
               | > he also seemed unwilling to push at all, just said
               | "okay!" in a sing-song voice that implied "yeah whatever,
               | go die"
               | 
               | Is the idea here that you wanted the interviewer to beg
               | you to stay on the call?
               | 
               | I interview for a BigCo. Most of us do it not because we
               | love interviewing but because 1) It's a way to check the
               | "citizenship" box on performance reviews. 2) A director
               | or VP sent a mass email exhorting us to join the
               | interviewer pool. Everyone I know in fact views
               | interviewing as a chore that takes away from one's day
               | job. But, there's standardized training and emphasis on
               | objective tests and rubrics to minimize bias. Given this
               | assembly line process and the fact that most interviewers
               | want to be elsewhere, there's very little reason to
               | expect a random interviewer to want to sell you on
               | continuing a process that you consider yourself above.
               | 
               | If a candidate proclaimed that they didn't agree to the
               | terms of one of my interviews midway through, I'd
               | certainly exchange a few words with them to try to make
               | them more comfortable, but in the end I would by fine
               | with bidding them farewell and being glad that writing up
               | that interview feedback would be easy.
        
               | blisterpeanuts wrote:
               | I mean, yeah, you're probably right. I might have stayed
               | on the call if he'd explained why the actual code was
               | necessary, could even have met me halfway by saying
               | "Yeah, I know it's kind of silly, but it's a requirement.
               | Would you mind doing this, and then we can get on to more
               | interesting stuff?" Or something like that, but he didn't
               | have any kind of friendly or diplomatic response, maybe I
               | was feeling impatient that day; I honestly can't remember
               | because this was like 10 years ago.
        
               | vechagup wrote:
               | Yeah, one consequence of hiring exclusively based on
               | technical skill is that you end up with some employees
               | that are empathy challenged. My employer recently added
               | one "are you a human?" interview to every loop presumably
               | for this reason.
        
               | nobodyandproud wrote:
               | My one face-to-face interview (put me off for life): Some
               | interviewers were there because they're committed.
               | 
               | Some were doing it because they had to (last-second
               | substitute) and it showed as they were rude about it or
               | highly disorganized.
               | 
               | You don't have to take it and it's okay to cut interviews
               | short as the interviewer (I've done it before), but it's
               | a mistake to be unprofessional about how it's cut short.
        
           | sfashset wrote:
           | If you're the one copy pasting code, aren't you the cookie
           | cutter software engineer?
        
             | EForEndeavour wrote:
             | They didn't say they copy-paste code. They pointed out that
             | the algorithm's actual code _could_ very easily be copy-
             | pasted from, e.g., Stack Overflow, without deeply
             | understanding it. By contrast, describing an algorithm in
             | natural language demonstrates actual understanding.
        
               | vlovich123 wrote:
               | Both are necessary but neither is sufficient. If you have
               | someone who perfectly understands the algorithm but can't
               | write the code, that's a different utility than someone
               | who can write code but doesn't know the optimal algorithm
               | solution. You can say "at work I'd look up a reference"
               | but in an interview setting that's not helpful where the
               | interviewer needs both. That's kind of why I really don't
               | like remote tests. It's really hard to filter out those
               | trying to cheat. I've observed how leetcode stuff tries
               | to track you looking stuff up and it's theater. Just get
               | a tablet or second laptop (or even use your phone) and
               | the site can't track if you're actually looking that up.
               | 
               | I get annoyed with those tests and interviews too, but
               | I'm aware of the challenge on the other side so I take it
               | with a grain of salt and would never let my ego make me
               | arrogant enough to take umbrage at being asked to write
               | down a piece of code. I can understand the frustration,
               | but this process is applied equally along all levels.
               | Hell, the most talented people I worked with were
               | regularly interviewed on coding by people more
               | inexperienced/less talented than them. I would have a
               | hard time any of them expressing anything other than mild
               | annoyance at the system that this is still the best we've
               | managed to do and no one would think to say "what right
               | does this young inexperienced person have to ask me
               | questions". If anything, that attitude would instantly
               | disqualify someone on the "fit" axis of the interview
               | even if they passed on the technical merits.
        
               | blisterpeanuts wrote:
               | Thank you, yes, that was my point. The interviewer gave
               | me a choice of languages, as I recall in fact he said
               | "use a language you're comfortable with" and I thought to
               | myself, what does this prove? I can google the answer and
               | paste it in without him knowing. Whereas, I can explain
               | instantly how I would do it, too fast to have googled it,
               | and he could maybe interactively ask me "what about this
               | condition? how would you check for errors?" etc. The
               | other thing is, he was unwilling to answer any of my
               | questions until we got through this exercise, and I felt
               | he was being rude and somewhat arrogant though I was
               | being quite polite. I'm more than happy to show off my
               | coding skills - I know lots of languages - just wanted to
               | cut to the chase. Maybe I was too impatient. Or, you
               | know, what they say about trusting the first impression
               | is true!
        
               | pnw_hazor wrote:
               | He may not have been able to understand your answer
               | without seeing it in code.
        
           | limaoscarjuliet wrote:
           | I am often on the other side interviewing the candidates for
           | company I work for. For junior positions we do ask them to
           | write some simple code e.g. matching parentheses or the like.
           | It makes it very clear how much experience writing code given
           | candidate has - typing speed, how they move around source
           | file, even if they can seamlessly copy paste their code,
           | etc., are all very telling.
        
             | est31 wrote:
             | > how they move around source file, even if they can
             | seamlessly copy paste their code, etc., are all very
             | telling.
             | 
             | This reminds me of the test for cooks. Make them slice up
             | some fruit or vegetable. If you have worked in kitchens for
             | years, you can do it really quickly. Fast and easy test,
             | and nothing to prepare weeks or months for.
        
             | scruple wrote:
             | For nearly 2 decades, vi(m) (or a vim emulator or
             | integration layer) has been my daily editor.
             | 
             | I recently had an interview where I had to use some remote
             | collaborative web application and it was genuinely a
             | horrible experience. The main interviewer (lead for the
             | team I was applying for) was visibly annoyed with me
             | because, for whatever stupid reason, some of the keyboard
             | shortcuts he kept trying to bark at me, as I was working
             | through some truly asinine leetcode-style questions, for
             | things like block indentation were not working on my end
             | and I had to manually tab multiple lines, etc...
             | 
             | The entire editing experience threw me really hard and was
             | so distracting that I was fumbling what would've otherwise
             | been trivial algorithm questions for me. Despite my 15
             | years of professional experience and a deep understanding
             | of their tech stack (which, of course, was _not_ a main
             | discussion point at any stage of my interview process --
             | one of many red flags for me), if you had watched this you
             | 'd have thought I barely know how to write code.
             | 
             | I don't know what the answer is here but I have decided,
             | and thankfully I have the privilege of making this
             | decision, that I am done interviewing for a while.
        
           | justapassenger wrote:
           | 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
           | without touching any code, by having more an
           | architect/mentor/org-expert role.
           | 
           | If someone feels "insulted" by having to actually write code
           | suggests that you're looking for a role where you aren't
           | expected to actually write code. That's fine, but probably
           | not what they're looking for.
           | 
           | Also, I'd advice you to be little more open to a fact, that
           | someone with less experience than you is asking you
           | questions. That's not a great attitude to find good jobs at
           | big IT companies, that are often full of young, often
           | brilliant people.
           | 
           | edit: typo
        
             | blisterpeanuts wrote:
             | 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.
        
               | cozos wrote:
               | Interviewers at most tech companies have to follow a
               | script, one that most definitely requires them to ask you
               | to code.
               | 
               | The interviewer has no choice other than to ask you write
               | code. You describe the interviewer as arrogant and
               | immature, but to me the candidate who hangs up fuming
               | because he was asked to do a little bit of typing is the
               | one who is antagonistic.
        
               | justapassenger wrote:
               | Original comment started by stating your many years of
               | experience and noting that interviewer was much younger.
               | Then complains about being asked to do coding. And then,
               | based on just those two, saying that you know you'd be
               | unhappy working with people like him.
               | 
               | Amazon isn't great environment in most of the pockets of
               | the company (haven't worked there, but worked with a lot
               | of people who came from there), so it's quite possible
               | that you "dodged the bullet".
               | 
               | But only when pressed, you start to complain how
               | interviewer is immature, arrogant, rigid. That's not what
               | you originally stated - you had issues with an
               | interviewer age and being asked to do coding. I'm not
               | trying to defend the interviewer - it's very possible
               | that they were bad interviewers - big tech companies push
               | people early to start interviewing. But things that you
               | complained about initially make it sound like you maybe
               | also not a very pleasant candidate to work with, that
               | comes into the interview with a lot of bias.
        
               | blisterpeanuts wrote:
               | I didn't state that I had issues with his age. I merely
               | observed that he was probably half my age; he talked and
               | behaved rather immaturely.
               | 
               | I work with younger folks all the time and 90% of them
               | are perfectly fine; actually I enjoy their energy and
               | drive (and there are plenty of older jerks out there).
               | This guy, I didn't enjoy. When I hung up the phone, I was
               | not angry, as I recall. Just disappointed that a great
               | company would have such petty people vetting applicants.
               | You don't have to agree with me. I'm not even sure what
               | we're arguing about at this point; if you're just trying
               | to prove I'm a jerk... fine, I was a jerk that day. Happy
               | now? Have a nice day. I don't work at Amazon and I'm
               | having a wonderful day :)
        
           | kevinventullo wrote:
           | I would not attribute the requirement of writing out code as
           | something your interviewer personally demanded. He was simply
           | following a template.
           | 
           | The point is that when you write out the code, there will be
           | several other people who will end up looking at it as part of
           | your "packet". This can actually be beneficial for the
           | interviewee: if you use some technique or library that the
           | inexperienced interviewer has never seen, they might be
           | confused and write negative feedback, but someone down the
           | line will be able to see what you wrote and say, "Oh, this is
           | actually really good."
        
         | sockgrant wrote:
         | HN loves to hate FAANG interviews. There's always a monthly
         | passion post about how flawed they are.
         | 
         | I don't think it's unfair to say that Google and FB are
         | considered to have strong engineering talent. So the interview
         | process has to have _some_ hand in that success, even if it's
         | also turning away some would-be strong performers.
         | 
         | I'm not saying the interview process shouldn't be criticized or
         | that it's beyond improvement. And, yeah, it's a little silly to
         | go memorize a bunch of algorithms so you can recite them on the
         | stop. Furthermore, so many interview questions are posted on
         | leetcode... and there's so many more flaws to be pointed out,
         | but in spite of that, they still manage to have a high
         | engineering bar.
         | 
         | But if you only read HN you'd think it's a total failure.
        
         | francisofascii wrote:
         | 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.
        
           | gcristofol wrote:
           | Even if you are not actively trying to find a job I find
           | leetcode/hackerank useful to do a bit of coding in case your
           | current position moved away from that or maybe you want to
           | repeat some of it with a new programming language.
        
           | LordHumungous wrote:
           | 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?
        
             | Mauricebranagh wrote:
             | You know that the writer that coined the term
             | "meritocratracy" thought it was a vary bad thing
        
             | Philip-J-Fry wrote:
             | It's not an "either/or" choice...
             | 
             | These companies treat it as though if you can't recite a
             | leetcode answer line for line then you're no good.
             | 
             | A software developer skillset is a lot more varied than
             | reciting 5 leetcode answers for algorithms you won't ever
             | use in production code 99% of the time. And that 1% of the
             | time you do? You're just going to Google the algorithm
             | again anyway.
             | 
             | It's an almost pointless interview exercise.
        
               | francisofascii wrote:
               | Partially agree. But developers have to often create
               | custom algorithms that are very specific to their
               | business requirements, and these algorithms cannot be
               | simply googled. I agree they would never write a "sort"
               | algorithm, I suppose interviewers use these generic
               | algorithms, rather than take the additional time needed
               | to explain a real world, custom set of requirements.
        
               | LordHumungous wrote:
               | The interview is not just about leet code. There's also a
               | behavioral loop and a system design loop, and both of
               | those are extremely important as well. In fact most
               | candidates vastly underestimate their importance.
               | 
               | In my experience the leetcode questions were quite easy
               | from an algorithm standpoint: string operations and
               | traversals and things like that. You are judged not just
               | on correctness but also your communication, requirements
               | gathering, ability to catch edge cases and bugs, and
               | general code quality. In other words, things that are
               | absolutely relevant to the actual job.
        
         | orangepudding wrote:
         | It's sad but yeah it's true that you have to prepare for
         | interviews. The reality is that the breadth of topics that you
         | have to have good knowledge on is larger than the scope of work
         | you've probably been working on in your current job.
         | 
         | I had work at a FANG before, but after a few years doing a
         | startup, I had to go over and learn topics that I had no
         | understanding on to get good offers again. I summarized what I
         | felt were useful tactics for prepping system design interviews
         | here (https://www.reddit.com/r/cscareerquestions/comments/kd13s
         | x/s...) and a summary on a list of core topics I put together
         | here (http://gum.co/sysdesign).
        
         | pvfffghhr wrote:
         | On the other hand, learning algorithms is probably more fun
         | than the actual work at Facebook.
        
         | rektide wrote:
         | 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
         | 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.
         | 
         | That you can gain this knowledge in a couple of months is
         | fairly remarkable in & of itself. Most engineering domains have
         | a much broader swarth of core knowledge. Computer science
         | literally has algorithms.
        
           | engineeringwoke wrote:
           | > 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 at FAANG. If there's anything those
           | guys are good at, it's making sure that you don't have too
           | many cooks in the kitchen. Interviews like these don't find
           | cooks, which is somewhat the point.
        
             | rektide wrote:
             | 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.
        
       | LordHumungous wrote:
       | Leetcode problems are good because they select for people who are
       | willing to put in the hours to get good at them. Aka, hard
       | workers. Above all else, what predicts success at a job is work
       | ethic. This is even more true at FAANG.
        
         | pseudalopex wrote:
         | The hardest workers I know put up with the least bullshit.
        
           | LordHumungous wrote:
           | Putting up with bullshit is also a desirable characteristic
           | for FAANG
        
             | pseudalopex wrote:
             | Sure. It just doesn't test work ethic.
        
       | alvarlagerlof wrote:
       | When I was a little younger, my dream was to land a job at a
       | FAANG company, although I was thinking Google. Nowadays, I'm
       | disgusted by the idea. Large and bulky internal processes,
       | levels, interviews testing useless shit and constant
       | controversies from management decisions. Now I'm actively
       | avoiding anything that's like these.
        
       | Technically wrote:
       | All to sell ads.
        
       | lightsurfer wrote:
       | Facebook is unethical, immoral and destructive to human nature.
       | No merit working there.
        
       | zls wrote:
       | I recently interviewed at Facebook with ~10yrs experience. I
       | didn't get an offer. Their process was really quite rudimentary
       | compared to the other companies I interviewed at, namely Google
       | who I see as their most direct competitor for engineering talent.
       | 
       | * Every single coding problem was about iterating over a string
       | or an array and doing something with it. Seemed like there was no
       | coordination at all on what's being asked from one interviewer to
       | the next. For a senior infra engineer interview I'd expect them
       | to touch on concurrency, or service architecture, or recursion,
       | or debugging, or... anything besides strings and arrays (which
       | I'm good at!).
       | 
       | * The system design question they asked me was about how to
       | design a frontend feature for live-updating comment chains. I
       | understand the ideal that the questions are so high-level that
       | it's an even playing field regardless of background, but the
       | reality is that every problem is going to be close to _someone's_
       | domain and far from someone else's. I wish they had chose
       | something at least related to infrastructure services, because I
       | don't even know the 101 on how social media frontends work.
       | 
       | * The interviews didn't include any time for me to ask meaningful
       | questions of the interviewers. I was assigned to engineers at
       | random, rather than based on where I'd likely be working.
       | 
       | * None of the interviewers conveyed any enthusiasm about giving
       | the interview. I could tell that speaking to me was a chore
       | distracting them from what they wanted to be doing.
       | 
       | Overall the process felt haphazard and low-effort, like I was
       | Candidate #24601 in the machine for the week. Stark contrast to
       | Google, where the interviews left me _more_ excited about working
       | there, despite Google being more than twice Facebook's size.
       | Fortunately I didn't get the job so I didn't even have to ponder
       | any ethics questions :^)
        
       | orware wrote:
       | I arguably have a pretty good job currently in the public sector
       | which has a fair amount of autonomy and prestige that have been
       | earned within my current organization over ~13 years.
       | 
       | Last spring after COVID hit I was reached out to by a Facebook
       | recruiter with the conversation morphing after a few months (and
       | two other individuals on their end) until having a really
       | exciting conversation with a recruiter in early August that was
       | just refreshing since it actually seemed like Facebook's hiring
       | process wasn't that bad and that they might actually value me and
       | my existing experience.
       | 
       | Part of my challenge is that my current role is not completely
       | coding focused so I really don't have that "true" software
       | engineering background and find it hard to figure out where I'd
       | fit in a typical tech company's role structure. Instead, I have
       | experience coding my own projects for my organization and taking
       | them from concept to production in weeks and maintenance over
       | timespans of years, along with management and tech leadership
       | experience within my own organization.
       | 
       | Since coding isn't a daily focus all the time, my programming
       | skills tend to need to be dusted off each time I take on a new
       | project, and I know I'm not the best algorithmic expert, etc. but
       | I'm reasonably intelligent (in my own humble opinion) and able to
       | learn from others when I have that opportunity available
       | (learning about extreme scaling techniques and certain advanced
       | topics that might only be encountered within a tech-focused
       | organization is unfortunately something I can't easily do within
       | my current organization, and team-wise I'm the primary person
       | interested in these sorts of topics so don't have others to
       | really discuss the ideas with, which leads to that interest in
       | potentially moving to a tech-focused company). I feel like my
       | existing experience and ability to work with others and learn
       | quickly would have some value (especially when you consider that
       | new graduates don't necessarily have a lot of these experiences
       | under their belt, but they are still considered for
       | hiring...their algorithm knowledge might just be a bit
       | fresher/recent).
       | 
       | Switching back to the interview...I spent a bit of time studying
       | for the initial coding interview and felt like I had done
       | decently well, but still received the "thanks but no thanks"
       | email a few weeks later.
       | 
       | After that rejection (along with others over the last several
       | years from companies I saw on the monthly "Who's Hiring" threads
       | that intrigued me) I'm kind of done with trying to apply for tech
       | jobs at the moment.
       | 
       | I'd love to earn more and work remotely from my current location
       | (now that the pandemic has made this a little more possible) and
       | be able to contribute my working days to contributing to the
       | success of a tech-focused company, but it's not easy to be
       | accepted by a tech company when you don't have the right
       | background or exact skills upfront, so at least for the time
       | being I need to be happy with my current work situation (even if
       | it isn't always the most glamorous, tech-wise, and doesn't pay
       | the same as a large tech company might).
       | 
       | This is just one personal anecdote of course, but I do wish there
       | was a different hiring process for folks wanting to break into a
       | tech company with existing experience that would be valuable,
       | albeit non-traditional to typical hires.
        
       | sebastien_b wrote:
       | Actually, I don't need to read it, as I would never work for a
       | company like Facebook - Facebook itself least of all.
        
       | onion2k wrote:
       | 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
       | problem at Facebook, but I'm massively anti-Facebook so I'm
       | biased.
       | 
       | Secondly, the author believes that senior developers, who likely
       | have 10+ years under their belt if they're senior, need to spend
       | a solid month revising in order to be successful landing a role
       | there. Maybe that's worthwhile as FB pay well, but that's a hell
       | of a time investment if you're not planning to stay at FB for a
       | long time. That would certainly make me think twice if I was
       | going to apply.
        
         | [deleted]
        
         | arihant wrote:
         | 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.
        
           | janoc wrote:
           | The problem is not the expectation but that something like
           | that can even come up during an interview for a _senior_
           | position!
           | 
           | It is like testing a surgeon's suturing skill during a job
           | interview. Of course, it is an essential skill for them to
           | have, but that's something for a school exam and not job
           | interview for someone with verifiable credentials. Or do you
           | think that surgeon didn't suture in their previous job and
           | just "winged it through" for years? What exactly do you hope
           | to achieve with such an interview question?
           | 
           | That's exactly what is wrong with software engineering hiring
           | and interviewing. It is focusing on examining nonsensical
           | minutiae instead of whether the person has any sort of design
           | skills, is capable of teamwork or has any sort of project
           | management skills.
           | 
           | These are way more important for a senior engineer than
           | whether or not they have crammed algorithms for a month and
           | can reproduce them on the spot in front of a whiteboard (and
           | will promptly forget them in a week or two again). That
           | algorithm can be looked up in 5 minutes if needed, lack of
           | project management skill could pretty much doom the company
           | in the worst case.
        
             | scottlamb wrote:
             | > It is like testing a surgeon's suturing skill during a
             | job interview. Of course, it is an essential skill for them
             | to have, but that's something for a school exam and not job
             | interview for someone with verifiable credentials. Or do
             | you think that surgeon didn't suture in their previous job
             | and just "winged it through" for years?
             | 
             | Yes, absolutely, I think that some surgeons can be less
             | skilled at suturing after years of experience, and it'd be
             | wise to have them demonstrate these skills in an objective
             | way during a job interview rather than relying on
             | credentials. eg:
             | 
             | https://www.sciencedirect.com/science/article/pii/S18788750
             | 1...
             | 
             | > Most methods currently used to assess surgical skill are
             | rather subjective or not adequate for microneurosurgery.
             | Objective and quantitative microneurosurgical skill
             | assessment systems that are capable of accurate
             | measurements are necessary for the further development of
             | microneurosurgery.
             | 
             | and
             | 
             | https://well.blogs.nytimes.com/2013/10/31/a-vital-measure-
             | yo...
             | 
             | > To the researchers' surprise, there were huge variations
             | in operative skill between the practicing surgeons, with
             | the lowest ranked surgeons working at what the reviewers
             | considered a level only slightly better than a trainee at
             | the end of residency, and the highest-ranking surgeons
             | working like "masters" in their field.
             | 
             | Software engineer interviews are absolutely imperfect, but
             | I don't think other professions have this figured out
             | either.
        
               | janoc wrote:
               | And you want to say that such assessment is actually done
               | during a job interview and not during, you know, actual
               | surgeries? With a more senior doctor on the team
               | evaluating (and likely mentoring) the new hire?
               | 
               | Seriously?
        
               | scottlamb wrote:
               | I was going for brevity. You might be missing my point
               | here, which is: relying on credentials isn't working out
               | as well as people might think for surgeons. They have a
               | much stronger credential requirement, so if it isn't
               | working for them, it probably won't work for hiring
               | software engineers either.
               | 
               | But to answer your question, of the two links I included:
               | 
               | * the first is an artificial test that can be taken any
               | time. Yes, it could be actually done during a job
               | interview, and maybe it should. Alternatively, maybe it
               | should be done yearly, whether that's enforced by the
               | medical licensing board, the hospital, or insurance
               | (either the patients' insurance forces it or the doctor's
               | malpractice insurance).
               | 
               | * the second mentions criteria for ranking performance
               | from a video of an actual surgery. No, I'm not suggesting
               | applicants perform unnecessary surgery on a live patient
               | during the job interview. They can bring a video of their
               | most recent surgery instead.
               | 
               | The details of the best method for surgeons might not be
               | that relevant to hiring software engineers, but I do
               | think for both it's better to evaluate current skill
               | rather than rely on exams from school years ago. Software
               | engineering does this better than most fields, even if it
               | sometimes leads to really bad results like not hiring Dan
               | Luu. [1]
               | 
               | [1] https://danluu.com/algorithms-interviews/
        
             | hackinthebochs wrote:
             | >that's something for a school exam and not job interview
             | for someone with verifiable credentials
             | 
             | The problem is the "verifiable credentials" vary widely in
             | rigor. There is no analogous standardizing and
             | credentialing body like their is in medical fields. So the
             | "basics" need to be tested repeatedly at every new
             | interview. The solution is to have an analogous
             | standardizing body, but people in this field seem to be
             | reflexively against it.
        
               | janoc wrote:
               | That's BS. Verifiable credentials mean that you pick up a
               | phone and call the references the candidate gave you.
               | 
               | What you are describing is essentially "it varies widely
               | in rigor - so we must subject every candidate to a full
               | CS exam, because we don't trust anyone."
               | 
               | Even in medical field the schools and standards vary,
               | especially between countries. And there are good and bad
               | doctors. Heck, some have even got their diplomas
               | fraudulently.
               | 
               | However, that doesn't mean you will have the prospective
               | hire sit in for an multiple hours/days of redoing
               | university examinations during an interview - as it seems
               | to be the rule in software engineering (and pretty much
               | nowhere else). You would be laughed out if you tried
               | that.
               | 
               | Especially for a _senior_ position, where the candidate
               | has a past experience you could ask about (i.e. not a
               | freshly out of school student).
        
               | TeaDrunk wrote:
               | A standardizing body has its own downsides. The medical
               | credential stigma is real- nurse vs traditional school vs
               | osteopathic school, many of which have been closed to
               | specific races or gender identities historically.
               | 
               | EDIT: Of course, that and the fact technology is
               | extremely rapid. Does this mean software people need to
               | re-credential regularly?
        
           | driverdan wrote:
           | 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 know it all by heart and recall it on
           | demand _unless the job you 're doing requires it._
        
             | sagarm wrote:
             | 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.
        
             | fatnoah wrote:
             | 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.
        
         | amazoniananon wrote:
         | These are very basic/generalist things, not a specific mould.
         | Refreshing your skills here and making sure you're comfortable
         | with everything on this list will help you be confident that
         | you can pretty much do the kinds of work available to you as a
         | senior engineer. And if you are lacking in any of these, it
         | almost certainly will show up when you're trying to function in
         | the role. I run into this every day with entry level engineers
         | - they have to rely heavily on others and also have to spend a
         | lot of time ramping up on exactly these kinds of things.
         | 
         | Put another way: if you did get hired for this role and managed
         | to keep it, you'll be a master at this stuff within a couple of
         | years. This is because these skills are generally useful no
         | matter what specifically you are doing.
        
           | gotosleep wrote:
           | "if you did get hired for this role and managed to keep it,
           | you'll be a master at this stuff within a couple of years." I
           | wholeheartedly disagree. I have a total of 14 years of
           | experience. I've been at Google for the past 6 years. I'm an
           | L5 (Senior Engineer) and I get good performance reviews. I
           | interview candidates on a fairly regular basis on behalf of
           | Google. I am fully confident that if I had to re-interview
           | for my job today, without extensive pre-prep like the author
           | suggests, I would have a very slim chance of passing. The
           | fact is, these algorithm quizzes have nothing at all to do
           | with our job. On the off chance once ever 5 years you
           | actually do need to apply an algorithm, you would do
           | extensive study into the possible options and solutions,
           | write a design doc, have it peer reviewed, and then go down
           | that path - not pull something out of your ass in 15 minutes.
        
         | wendyshu wrote:
         | You're saying applicants have to revise their skill sets but I
         | don't think brushing up on algorithms is a very big change.
        
         | hn_throwaway_99 wrote:
         | I couldn't disagree more with your post. The author is
         | basically just putting out a detailed study plan for passing an
         | exam. If a doctor posted a plan for passing the medical boards
         | would your first thought be "Wow, look at that massive medical
         | monoculture problem!" That seems like a ridiculous stretch in
         | my opinion.
         | 
         | To your second point, I hear this all the time in threads about
         | tech interviewing: "Tech interviews are biased and make no
         | sense" and also "I'm too busy to have to do a lot of work for
         | this interview." If you don't want to put the time in to
         | prepare, fine, don't, and then see how you do. Again, in my
         | mind it's very similar to studying for the medical boards - 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.
        
           | redisman wrote:
           | > If a doctor posted a plan for passing the medical boards
           | would your first thought be "Wow, look at that massive
           | medical monoculture problem!" That seems like a ridiculous
           | stretch in my opinion.
           | 
           | This analogy doesn't work. It's basically the final part of
           | your education in that field (and others). If every hospital
           | / medical center made you quit for a few months to study for
           | their interviews when you switch jobs it would be an analogy.
           | Oh we only hire people who can find a vein in 15 seconds
           | under a suboptimal lighting situation.
        
             | pc86 wrote:
             | If every hospital felt the need to interview doctors
             | _assuming they didn 't know how to practice medicine_,
             | doctors would definitely take time off between to study.
             | But they don't, because they know everyone has a base level
             | of knowledge. On the flip side I've interviewed people who
             | simply cannot do basic coding tasks.
        
           | [deleted]
        
           | vincentmarle wrote:
           | That's a great analogy but doctors will work on saving lives
           | and Facebook's software engineers will work on ... ads
        
           | logicchains wrote:
           | >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 software engineering, like
           | API design. As anyone who's ever used any of Google's open
           | source libraries would have noticed, hiring people who do
           | well at competitive coding problems is no guarantee they'll
           | be able to produce decent software.
        
             | UncleMeat wrote:
             | Is that true? I don't know anything about medical
             | licensing, but after having a few friends take the
             | California bar exam, I've heard endless complaints about
             | having to study things like divorce law in order to become
             | a privacy advocate.
        
               | pc86 wrote:
               | Medical boards are at the specialty level, so there is no
               | equivalent. An OB is not going to have to answer primary
               | care questions, for example. They'll all be very
               | specialized.
               | 
               | Futhermore, you actually practice for several years prior
               | to taking your boards, at which point you submit a
               | representative subset of your cases from actual work, and
               | a bunch of folks toward the end of their career grill you
               | on them, then decide if you pass.
        
               | programmertote wrote:
               | I agree with your comment. My wife took USMLE exams (all
               | three steps) and she would complain to me that most of
               | the stuff she memorize there, she'd forget them in a year
               | or so (and eventually resort to Google and/or
               | https://www.uptodate.com/home to refresh/review). :)
        
               | SaltyBackendGuy wrote:
               | Law might be different. An anecdote my Dad (Lawyer) used
               | to tell me.
               | 
               | > I went to school to learn the law. After school I had
               | to teach myself how to be a lawyer.
        
               | nunie123 wrote:
               | Yes, the bar exam requires you to learn much law you'll
               | never use. They are a general test that covers all areas
               | of the law.
               | 
               | Boards are for specific specialties. You don't take a
               | board to be a doctor, you take a board to be a
               | podiatrist, etc.
               | 
               | Personally, I think both exams are about protectionism
               | more than anything else.
               | 
               | Source: have taken a bar exam, have a wife that's a
               | doctor.
        
               | hinkley wrote:
               | But in the case f doctors and lawyers, they pass it once,
               | not every time they interview for a new job. Software
               | doesn't have licensing, so we do this bullshit every
               | single time.
        
               | pc86 wrote:
               | We would still do it if there was licensing. Doctors and
               | lawyers still interview for jobs.
        
               | dragonwriter wrote:
               | > We would still do it if there was licensing. Doctors
               | and lawyers still interview for jobs.
               | 
               | People interview in most jobs, but people in licensed
               | professions don't generally have exams testing minimal
               | professional competency in interviews because assurance
               | of minimal professional competency is delegated to the
               | appropriate professional licensing body, which implements
               | entry exams, continuing education requirements,
               | professional complaint/discipline processes, etc.
               | 
               | Minimal competency screening is abstracted out to a
               | reusable, memoizing, component.
        
             | adrian_b wrote:
             | 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.
        
               | jrd259 wrote:
               | 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.
        
               | hinkley wrote:
               | 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.
        
             | jordan_curve wrote:
             | The content of the boards exam is actually quite comparable
             | to the content of these interviews. They both cover general
             | knowledge and fundamental concepts that very few working
             | programmers or doctors will ever use, but absolutely should
             | know.
        
             | meesles wrote:
             | I tend to be on your side of the fence but I have to
             | nitpick your argument:
             | 
             | At these companies, algorithms and the basics are
             | fundamentally important. Because you tend to work on tiny
             | parts of a massive whole, there is no tolerance for cowboy-
             | coding and not following best-practices. IMO the interviews
             | test that you can fall in line and follow the patterns that
             | have been in place for decades.
             | 
             | With regards to using API design as something that is not
             | assessed: System design questions do test this. Also at a
             | company like FB, there's a handful of people designing APIs
             | that are at the top of the pyramid, and even then long-
             | standing conventions around API design at those companies
             | will short-circuit the need for most devs to think about
             | how to organize and name their endpoints.
             | 
             | At my small startup where most of us write an API endpoint,
             | it's important to know. For a UI dev or someone optimizing
             | DB lookups at massive software companies, API design is not
             | something that needs to be tested.
             | 
             | Personally I can admit to feeling frustrated that passing
             | these types of interviews is not my forte. It sucks that I
             | would have to study for weeks to not flop these interviews
             | even though I consider myself a good software engineer. But
             | that doesn't 100% invalidate their interview process.
        
               | danenania wrote:
               | 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.
               | 
               | Sure, you'll still need to integrate with established
               | APIs and focus more on scalability than you would at a
               | startup, but the kind of people who excel in each type of
               | role will have _very_ different personalities and
               | skillsets. Grading them on the same curve in interviews
               | seems like a pretty bad idea.
        
               | chris11 wrote:
               | > but the kind of people who excel in each type of role
               | will have very different personalities and skillsets.
               | Grading them on the same curve in interviews seems like a
               | pretty bad idea.
               | 
               | I haven't interviewed for senior level positions with
               | FANG. But aren't interviews usually different based on
               | the job? I assume that interviews for job families like
               | front end/backend/sre should all test different skills.
               | And if you are interviewing with a specific team the
               | manager can judge your background and interviews for fit
               | with their team. The interview bar for algorithms is
               | probably too high at some places, but those skills are
               | relevant for all engineers.
        
               | xiphias2 wrote:
               | > 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?
        
               | cstrahan wrote:
               | 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/
        
               | xiphias2 wrote:
               | 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.
        
               | Kranar wrote:
               | I mean you listed several database libraries, static
               | analyzers, and a code optimizer.
               | 
               | Is it your suggestion that those kinds of applications do
               | not require solid knowledge of a variety of different
               | data structures and algorithms?
        
               | cstrahan wrote:
               | > I mean you listed several database libraries, static
               | analyzers, and a code optimizer.
               | 
               | Correct.
               | 
               | > Is it your suggestion that those kinds of applications
               | do not require solid knowledge of a variety of different
               | data structures and algorithms?
               | 
               | No -- precisely opposite.
               | 
               | Your response confused me quite a lot, but after some
               | thought, I think I've realized how things have become
               | mixed up. I took this for sarcasm:
               | 
               | > Which innovation of Facebook are you describing?
               | Instagram, WhatsApp, or the stories?
               | 
               | Why did I take that for sarcasm? Because it is apparent
               | to me that Instagram, WhatsApp and stories are _not_
               | innovative. So I thought the main point of the poster I
               | was replying to was to take a dig at Facebook. I didn 't
               | realize that we were in agreement about the importance of
               | data structures and algorithms, but then I also didn't
               | realize that we were still on that topic: my intention
               | was purely to refute the [what I believed to be the
               | implied] notion that nothing innovative was happening at
               | Facebook.
        
               | Kranar wrote:
               | Thanks for the clarification. We're in total agreement.
        
               | xiphias2 wrote:
               | I listed the most innovative things that happened. They
               | were product innovations that could have killed Facebook
               | as a company, not RocksDB or React.
               | 
               | I use instagram and WhatsApp, no Facebook anymore (except
               | messenger), as young people went there (and I'm
               | following).
               | 
               | TikTok is a bit too much for me though, I think creating
               | videos for it takes too much time, while for Instagram
               | it's easy to take nice photos while I'm travelling.
        
               | fsociety wrote:
               | Overall I agree with your point, I just wanted to add
               | that my experience with small startup vs FAANG is that it
               | was the opposite experience for me.
               | 
               | Small startup involved wearing many hats, but in general
               | was a more specialized role than FAANG.
               | 
               | FAANG was significantly more breadth than startup (and
               | why I'd say it's a great experience for beginners to gain
               | a breadth of knowledge).
               | 
               | I could see how some teams are very specialized in FAANG
               | however.
        
             | tuvistavie wrote:
             | > The difference is that what the doctors put so much time
             | into learning can actually be quite useful for their job.
             | 
             | I'd be curious to hear what a doctor would think about
             | that. My intuition would be that, as for almost any exam, a
             | lot of time is spent on things that will not be useful for
             | any other purpose than the exam itself.
        
               | cableshaft wrote:
               | Even if it isn't, do doctors have to retake these exams
               | multiple times (as developers have to do this for
               | multiple interviews) every two years when wanting to
               | switch jobs (doctors often don't have to switch jobs,
               | they often have their own practice).
        
               | reidjs wrote:
               | In somewhat of a parallel, you don't have to switch jobs
               | either, you can start your own software company at any
               | time ;)
        
               | cableshaft wrote:
               | I've tried doing freelance before, and I was a terrible
               | marketer for myself. While that's definitely an option
               | for people in this industry, I'm not sure it's a great
               | path for me.
        
               | [deleted]
        
               | dntrkv wrote:
               | They also have to go to school for 10 years before
               | they're even allowed in the job market.
               | 
               | I'll take our sometimes silly interview processes over
               | that.
        
               | filoleg wrote:
               | >They also have to go to school for 10 years before
               | they're even allowed in the job market.
               | 
               | Not to mention that during that time they are accruing
               | loans in insane amounts (we are talking about $200-300k)
               | and get worked in insane shifts (24-36 hour shifts are
               | not unheard of during residency rotations).
               | 
               | Oh, and they don't get paid at all until they start
               | residency rotations which is AFTER 4 years of med school,
               | and their pay during residency is on the order of
               | $30k-50k for what effectively amounts to 80-100 hours a
               | week. Mind you, that's on top of the fact that in the US,
               | you only enter a med school after you already got a
               | college degree. So you enter a med school at the age of
               | 23.
               | 
               | I have respect for the doctors, but I definitely do not
               | envy their position. Their real work doesn't even start
               | until their 30s, at which point they are already really
               | deep in student loan debt. Of course it is manageable,
               | since they get paid handsomely. But their work-life
               | balance and the entire process where you start your "real
               | work" after the age of 30 with $200-300k in loans, at
               | that point, isn't something that a lot of people consider
               | when they think "those doctors are having it nice."
               | 
               | It isn't even a second thought to me that I would much
               | much rather study for interviews every single time i
               | switch a job as a software engineer than deal with what
               | doctors deal. And that's not even mentioning that
               | studying for a typical software dev interview is
               | absolutely nothing compared to the studying that med
               | school students have to do in order to pass their board
               | exams.
        
             | gamerDude wrote:
             | 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 friends from residency thought similarly. That's just a
             | few data points and maybe some doctors are helped, but it
             | definitely isn't every doctor.
        
               | base698 wrote:
               | > "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
        
               | reaperducer wrote:
               | Nice affiliate link there. Is that your own book you're
               | flogging, too?
        
               | [deleted]
        
               | base698 wrote:
               | No unfortunately, didn't even see that when I pasted.
        
               | gowld wrote:
               | This is not appropriate behavior for HN.
               | 
               | There was no affiliate link in the original post.
               | 
               | ref= is not an affiliate tag, it's an Amazon ref tag.
               | 
               | tag= is an affiliate tag.
               | 
               | https://google.com/search?q=amazon+affiliate+code+url
               | 
               | https://medium.com/feedium/how-to-tell-if-a-link-is-an-
               | amazo...
        
               | reaperducer wrote:
               | I checked before I posted and found two web sites that
               | stated that ref= is an affiliate tag.
        
               | ttam wrote:
               | https://www.amazon.com/gp/aw/d/B008GRDKPG expands to
               | https://www.amazon.com/Disciplined-Minds-Professionals-
               | Soul-...
               | 
               | are you really claiming that "redir_mobile_desktop" or
               | anything afterwards is an affiliate tag?
        
               | reaperducer wrote:
               | I made no such claim. Here is what I stated, so you can
               | read it again: "I checked before I posted and found two
               | web sites that stated that ref= is an affiliate tag."
               | 
               | You can choose to believe what I wrote, or not. But it's
               | inappropriate to try to put words in my mouth.
               | 
               | Either way, I'm not interested in arguing with random
               | griefers in the internet.
        
               | lhorie wrote:
               | Similarly, I spoke to a pharmacist recently, and they
               | said the same thing: the board exams expected the person
               | to know information about medication that was no longer
               | even in use.
        
               | sillysaurusx wrote:
               | I've wondered about this for forever. Thank you!
        
               | mathattack wrote:
               | Is it that they need to create some objective barrier to
               | entry?
        
               | gowld wrote:
               | Yes. It's a way to artificially limit supply, to prop up
               | wages for people on the inside. It's common to most
               | "licensed" professions.
        
               | mbbutler wrote:
               | > 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.
               | 
               | I assume you're referring to your ex's exam to become
               | Board Certified in her specialty, which, if you are,
               | makes this statement incredibly hard to believe.
               | 
               | A specialty's Board exam is comprised of simulated cases
               | from that specialty. Your ex wouldn't have to prep for
               | geriatric internal medicine or stroke rehab in pm&r.
               | Basically everything asked in the exam for board
               | certification is related to one's specialty.
               | 
               | It is not a general exam like the STEP exams.
        
               | vishnugupta wrote:
               | > just wished she could spend her time getting better at
               | the skills she actually used
               | 
               | I can so relate to this when I look back at 4 years I
               | spent studying for a CS degree. The first year had _just
               | 3 subjects_ out of 17 that had something to do with CS.
               | The rest were wildly off the mark. Like engineering
               | drawing, metal workshop, and what not. The second year
               | was slightly better but just. It was crammed with
               | electronics; and only from the 4th semester did things
               | took a definitive turn towards CS topics. I 'm sure the
               | curriculum designers had a certain plan in mind but this
               | was devised something like ~60 years ago, when
               | engineering meant mostly civil engineering.
               | 
               | This was all 20 years ago, and I recently checked the
               | syllabus out of curiosity, and no it's not changed one
               | bit. One precious year of learning period down the drain.
        
               | AnimalMuppet wrote:
               | My third daughter was delivered by the anesthesiologist,
               | because the ObGyn was stuck in traffic and the
               | anesthesiologist was the only doctor on the floor.
               | Doctors don't need that stuff outside their specialty...
               | until the day they do.
        
               | thaumasiotes wrote:
               | If you pulled someone off the street, odds are that that
               | person would also be able to successfully deliver your
               | daughter.
               | 
               | How much did the anesthesiologist help, above that
               | baseline?
        
               | AnimalMuppet wrote:
               | He made an incision that was needed for a successful
               | delivery. I don't want a random person off the street
               | doing that, no.
        
             | dntrkv wrote:
             | Virtually every FANG interview I've done has covered API
             | design as part of system design.
             | 
             | My brother is currently in med school, a huge chunk of his
             | time studying is spent on rote memorization. Their Leetcode
             | equivalent is Anki (flash cards) which they spend hours on
             | every day, for years. At least with Leetcode, it's taught
             | me to quickly recognize algorithms and implement my own
             | when needed.
        
           | jimktrains2 wrote:
           | I don't think that a comparison to a doctor is warranted:
           | 
           | 1) Every employer of a doctor doesn't force them to sit
           | boards for every interview, or ask a cardiologist to know the
           | same as an oncologist. (Sure, there is a good deal of
           | overlap, but there is a good deal that isn't either.)
           | 
           | 2) Doctors are a licensed profession and have specific
           | requirements.
        
           | lapcatsoftware wrote:
           | The US Medical Licensing Examination is mainly for medical
           | _students_ not  "senior" physicians, and the pass rate is
           | extremely high for U.S. M.D. medical school graduates, over
           | 90%. https://en.wikipedia.org/wiki/United_States_Medical_Lice
           | nsin...
           | 
           | In other words, it's not a standard job interview technique
           | for doctors, it's a one-time requirement for licensing.
           | 
           | The other difference of course is that doctors are legally
           | permitted to open up your guts with a knife, unlike Facebook
           | engineers.
        
             | jac241 wrote:
             | There are specialty board exams that you take once you're
             | done with residency. Some are written exams. Surgical
             | specialties do oral board exams where they present cases to
             | you and question you on management. Pass rates for those
             | are not as high. Many specialty boards make you take
             | recertification exams every x number of years.
        
               | lapcatsoftware wrote:
               | But again, these are not job interviews, they're
               | professional licensing requirement imposed by the
               | government, not by employers.
               | 
               | Ironically, the last thing that Facebook engineers want
               | is for the government to regulate them. Just wait until
               | they face the professional ethics boards. ;-)
        
           | jrimbault wrote:
           | This feels like a troll post : comparing a final exam with a
           | job interview. One is the end, total sum, of 10 years of
           | study, the other is just... a job change. It's important, but
           | not worth a month of my lifetime. I've only got a few
           | hundreds of those.
        
           | ori_b wrote:
           | > _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.
        
             | endtime wrote:
             | The OP doesn't say it's for all technical roles at
             | Facebook, it mentions one specific job title.
        
               | pseudalopex wrote:
               | Senior software engineer is specific?
        
           | RHSeeger wrote:
           | Doctors don't need to pass the medical boards for every job
           | they apply to. I don't see how there's even a comparison
           | there.
        
             | vechagup wrote:
             | They do need to retake their boards periodically to stay
             | certified. My surgeon father was pulling out his textbooks
             | periodically into his 60s.
        
           | onlyrealcuzzo wrote:
           | Isn't this just one person's opinion? It's not like this was
           | posted on Facebook's blog - right?
           | 
           | At a company Facebook's size - a random Senior Engineer
           | doesn't carry that much weight.
        
           | onion2k wrote:
           | _If a doctor posted a plan for passing the medical boards
           | would your first thought be "Wow, look at that massive
           | medical monoculture problem!" That seems like a ridiculous
           | stretch in my opinion._
           | 
           | It's more like an oncologist posting that every doctor needs
           | to revise cancer treatments for a month before applying for a
           | role in a hospital without realising that other doctors have
           | spent 10 years specialising in different areas of medicine,
           | and then the hospital being _amazing_ at treating cancer but
           | wondering why they 're absolutely terrible at mending broken
           | arms.
           | 
           | In this analogy cancer is advertising, and broken arms is
           | privacy.
        
             | hn_throwaway_99 wrote:
             | Really bad analogy. Look at the post, these are basic
             | computer science topics he is recommending for study,
             | things like data structures and algorithms, not any
             | specific technological subspecialty. A better analogy is
             | that all doctors need to pass licensure exams in basic
             | medical knowledge (e.g. anatomy, physiology, etc.)
        
             | Aunche wrote:
             | I'm sure many people from Facebook switched from the
             | advertising department to the privacy department.
        
             | georgeglue1 wrote:
             | this is off topic, but medical training (at least in the
             | US) is unfortunately about as dysfunctional as you
             | describe.
             | 
             | there's are years of inefficient labor from students,
             | residents, fellows, and junior doctors on procedures
             | they'll never do again (because they relatively cheap)
        
               | dvdbloc wrote:
               | I'm not sure exactly what you're describing but sounds
               | like they could be getting practical experience? Like a
               | junior dev doing some scripting grunt work that no one
               | else wanted to do but they are gaining other skills along
               | the way possibly?
        
               | llimllib wrote:
               | But at least when you're 10 years into your career you
               | aren't judged based on your boards any longer
        
               | tobmlt wrote:
               | You do need to take them every so often to stay
               | certified. This cartel isn't for slackers, come now. (I
               | jest - half my family is in the medical business. I
               | studied economics for a while)
        
               | hn_throwaway_99 wrote:
               | First of all, I'm not sure where this "10 years" is
               | coming from. I know many/most "senior" developers who
               | reached that level long before 10 years out of
               | university.
               | 
               | Secondly, programming doesn't _have_ a standard licensure
               | process like medicine. If it did, I think a lot of these
               | kinds of interviews that companies do would not be
               | necessary. But as it stands I 've interviewed _many_
               | engineers with years of experience who couldn 't
               | competently program, and I'm talking about maybe a tad
               | above FizzBuzz level proficiency.
        
               | caymanjim wrote:
               | > First of all, I'm not sure where this "10 years" is
               | coming from. I know many/most "senior" developers who
               | reached that level long before 10 years out of
               | university.
               | 
               | That's because it's a near-meaningless title that has
               | been watered down. Everyone is a "senior" now by their
               | second year working.
        
               | onion2k wrote:
               | _But as it stands I 've interviewed many engineers with
               | years of experience who couldn't competently program, and
               | I'm talking about maybe a tad above FizzBuzz level
               | proficiency._
               | 
               | I've interviewed close to 400 developers over the past
               | couple of decades, and I've not met many who can't code.
               | Some are great, and some are clearly at the bottom end of
               | the distribution, but most are just OK. They can get the
               | job done, they can do good work given a good team to lean
               | on, but they're not force multipliers or anything
               | special. My experience is what you might expect given an
               | normal distribution of skill levels.
               | 
               | If you've come away from _lots_ of technical interviews
               | thinking the candidate can 't code I reckon it's more
               | likely due to you. Perhaps you can't put a candidate at
               | ease and find areas where they can talk about their
               | ability in a positive way. That seems more likely than "
               | _many_ engineers with years of experience who couldn 't
               | competently program". I guess it's also possible that you
               | simply work somewhere that good candidates don't bother
               | applying to though. Either way, I don't think your
               | experience aligns at all with mine.
        
           | sombremesa wrote:
           | 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.
        
             | Kranar wrote:
             | 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 you were
             | school "president" or other tests of popularity, and a host
             | of things that in my opinion are pretty poor indicators of
             | whether one should be admitted.
        
               | compiler-guy wrote:
               | 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.
        
             | Simon_says wrote:
             | Yea, to keep the Jews out.
             | 
             | https://www.businessinsider.com/the-ivy-leagues-history-
             | of-d...
        
               | Dirlewanger wrote:
               | This hasn't been the case for decades. Go look up how
               | many Jews are in the Ivy Leagues now.
        
               | jimbokun wrote:
               | Yes, now it's used to weed out the Asians.
        
           | xienze wrote:
           | > The author is basically just putting out a detailed study
           | plan for passing an exam.
           | 
           | My issue is that someone at a senior level (yes I realize at
           | some of these companies "senior" means "two years of
           | experience") should have to study for 30 days to pass an
           | interview. It should not require the equivalent of preparing
           | for an advanced CS course final exam to evaluate the
           | abilities of someone who has presumably been in the industry
           | for many years.
        
           | drchopchop wrote:
           | Agreed, just because you're a senior engineer with decades of
           | experience doesn't mean you shouldn't brush up on general
           | fundamentals every once in a while. Leetcode, while being
           | pretty useless in the real world, does get your brain into
           | "answer hard questions under pressure" mode. Systems design
           | questions prompt you to architect things which may be
           | considerably different than you deal with during your day-to-
           | day.
           | 
           | Preparing for an interview, for more senior developers, is
           | mostly mental - even if you know the information required,
           | can you retrieve it quickly? Do you get flustered under time
           | pressure? Are you in hour 4 and getting tired/sloppy? A bit
           | of studying can help make some answers automatic, and help
           | you present your best self.
        
             | pseudalopex wrote:
             | The interview pressures and the job pressures are
             | completely different.
        
         | spoonjim wrote:
         | FB pays astronomically well. You don't have to work there, but
         | if you do, this is what you have to do. Saying that it creates
         | a "monoculture" is like saying that soccer teams only hiring
         | people who can run this fast, jump this high, and kick the ball
         | this hard get to be on the team. Sure, they might miss the
         | occasional great talent who is unathletic but has some great
         | gift for the game, but it's not a bad set of hiring standards
         | for the task at hand.
        
           | driverdan wrote:
           | This is a poor analogy. It's like making a soccer / football
           | player answer a test on the history of the sport, how the
           | ball is made, the geometry involved in kicking the ball, the
           | mesh size of the goal net, etc.
           | 
           | There may be some relevance but in the end if they're a good
           | player none of that matters. You'd be testing the wrong
           | things to know if they're a good player.
        
             | compiler-guy wrote:
             | Sports scouting and evaluations are also notoriously
             | unreliable. For every Messi or Ronaldo there are literally
             | thousands of players who were scouted as having potential
             | but washed out almost immediately.
        
             | Hydraulix989 wrote:
             | I'm an athlete-turned-software engineer at FAANG. This is
             | the NFL scouting combine:
             | 
             | 40-yard dash, Bench press (225 lb repetitions), Vertical
             | jump, Broad jump, 20-yard shuttle, 3 cone drill, 60-yard
             | shuttle, Position-specific drills, Interviews - each team
             | is allowed 60 interviews in 15-minute intervals, Physical
             | measurements, Injury evaluation, Drug screen, The Cybex
             | test, The Wonderlic test
             | 
             | I would consider this set of proxy tests to be roughly
             | analogous to the FAANG interview loop for screening world-
             | class engineers. They're representative tests with
             | predictive validity for the separate, more meaningful task
             | of Game Day athletic performance -- since you obviously
             | can't hold a real Super Bowl as a scouting combine.
        
               | driverdan wrote:
               | Other than Wonderlic everything you listed is directly
               | related to athletic ability and are things athletes do on
               | a regular basis. You're supporting my point. I'm saying
               | testing should be directly related to the position.
               | 
               | If someone doesn't need to do binary math or write
               | complex sorting algos from scratch you don't test those,
               | just like how you wouldn't ask an athlete the mundane
               | questions I posted above. You might ask high level
               | questions to demonstrate knowledge of sorting, but not
               | ask someone to implement that algo from scratch.
               | 
               | If someone is trying out for the NFL they're not going to
               | have to demonstrate baseball skills, how their shoes are
               | made, engineering questions about how the stadium is
               | built, what software should be used for the ticketing
               | system, or any other questions unrelated to the position.
               | You have them to demonstrate skills directly related to
               | the talents they need to fill their role, like standard
               | field drills.
        
               | spoonjim wrote:
               | But the engineers at FB do need to be able to write
               | sorting algorithms from scratch rather than just have
               | knowledge of sorting. The reason is that the engineers
               | have to be reasonably fungible so that they can be easily
               | moved between projects as projects are started and
               | stopped. So they could easily be tomorrow thrown into an
               | environment where a sorting algorithm is needed, they are
               | the ones responsible (so they'll need to build it, not
               | just have a high-level idea of how to do it), and at FB
               | scale every bit of squandered efficiency is very
               | expensive (if their photo search algorithm, let's say,
               | takes 5% more memory than it needs to, that will end up
               | costing the company much more than their salary).
        
             | pc86 wrote:
             | I think this is an equally poor analogy as it assumes
             | Facebook wants to hire all the good people it can, which
             | isn't the case at all. Facebook is trying to limit false
             | positives. They would rather deny 10 world-class developers
             | than hire one person they need to fire 6 months later.
             | 
             | Facebook, who is paying a lot of people to optimize its
             | hiring processes, has found a correlation between the
             | objective of "lower short-term attrition / first-year PIPs"
             | and "quiz people about the mesh size of the goal net." I'm
             | not saying it's the best long-term or that I agree with
             | false positive bit as a business decision, but I find it
             | hard to believe they're doing stuff like this just because
             | they feel like it without any data to back it up.
        
               | spoonjim wrote:
               | Also the big tech companies only need "world class"
               | developers in under 10% of their positions. Reducing
               | latency on Oculus Rift? OK you need a Carmack. Building a
               | compliance portal for some new law passed in
               | Kerblachistan? A lot of people can do that, and a company
               | like Facebook has a lot more of the second type of
               | problem than the first.
        
               | Hydraulix989 wrote:
               | That's a real understatement. Privacy and legal
               | compliance toward evolving laws in a massive codebase +
               | many datasets spanning multiple complex systems is a
               | company-wide effort that takes some serious system
               | engineering ingenuity. Some of the smartest people at
               | these FAANG companies are currently working on privacy
               | engineering.
        
             | spoonjim wrote:
             | I'm sure it's not optimal. But it's worked for Facebook
             | very well so far. Why would they change? They don't need
             | every talented developer under the sun. They just need a
             | large group of developers who can do the work, and a small
             | group of developers who can push the envelope on the most
             | cutting edge stuff.
        
         | addicted wrote:
         | 1) This isn't unique to FB. 2) The kind of interview being
         | described has been critiqued by many people, many times on HN
         | itself (I am definitely one of those). The problem is that
         | there are no good alternatives. One suggested alternative, take
         | home exercises, became a mess because a lot of companies, and
         | individuals at companies, started treating them as free labor.
         | Beyond that, they need to be more complex to the point that an
         | interviewee is doing actual work. 3) The best way to look at
         | these interviews for senior engineers is them testing your
         | ability to learn something "new" at a very fundamental level.
         | It's the equivalent of them selecting people based on their
         | success in a badminton tournament. You will most likely need to
         | pick up the game and it doesn't have much to do with your day
         | to day job, but it does say a lot about your ability to pick up
         | new skills/tech ologies. The difference is that these
         | interviews, unlike a game of badminton, actually have something
         | to do with your job.
         | 
         | To be honest, it's not ideal, and I particularly hate it
         | because I find it hard to find time to study and prepare when I
         | have a family that I don't want to neglect, and also a full
         | time job that i would find immoral to take time away from. But
         | it's simultaneously hard to find better alternatives.
        
         | robjan wrote:
         | From the article it would appear that anyone with a computer
         | science background and a decent amount of experience as an
         | engineer should pass the technical test without the need to
         | spend the whole month revising.
         | 
         | If you don't have a computer science foundation it's probably a
         | good idea to learn the basics anyway, rather than learning just
         | to pass the interview.
        
           | closeparen wrote:
           | Algorithms was one of 18 courses in my CS major.
           | 
           | You want to check my _computer science_ background, ask me
           | about: regular languages, LR0 grammars, interpreters,
           | compilers, system calls, threads, virtual memory, concurrency
           | control, TCP, consensus protocols, raytracing, scene
           | segmentation, sensor fusion, database indexes, block cipher
           | padding schemes, etc.
           | 
           | But no one cares about the other 17 courses, they just want
           | me to have internalized a crazy level of detail on one in
           | particular, as if I had studied nothing else for 4 years.
           | 
           | The performance problems I've been called on to solve, I
           | solved by having a vague idea of what's going on at the OS
           | and network level, something that apparently makes me a
           | wizard at a company that allegedly selects for "CS
           | fundamentals."
        
           | caconym_ wrote:
           | For me, at least, there's a big difference between having the
           | knowledge of how to approach these problems and having the
           | _practice_ fresh enough in my mind to solve them quickly
           | under pressure. The latter is what the month (or whatever) is
           | for, and it's absolutely necessary for me personally. I think
           | you have to be pretty dang smart for it not to be.
        
           | wan23 wrote:
           | The bar for Facebook is something like being able to solve
           | two medium-difficulty problems in 45 minutes.
           | 
           | If you want to test yourself, you could try these, which are
           | popular questions:
           | 
           | https://leetcode.com/problems/find-all-anagrams-in-a
           | 
           | https://leetcode.com/problems/subarray-sum-equals-k/-string/
           | 
           | Note that it's not enough to present any solution - you need
           | to present a solution that is efficient. Also, you should be
           | able to write the solution correctly without looking up
           | anything and without running the code before declaring that
           | it is complete.
        
             | vlovich123 wrote:
             | As someone who interviewed people applying to Facebook (or
             | Oculus anyway), the coding tests were intentionally told to
             | be structured as one easy question (so that the candidate
             | could build some confidence and provide some signal) and
             | one medium/hard coding question (ie can they write more
             | substantial solutions and solve harder problems). That's
             | for the traditional "CS" coding interview. The other
             | technical part is an open ended design question
             | (whiteboard/hand-waving diagrams/explanations with no
             | code).
        
             | baq wrote:
             | > Also, you should be able to write the solution correctly
             | without looking up anything and without running the code
             | before declaring that it is complete.
             | 
             | That's the bullshit part. This doesn't happen in any other
             | context in software engineering except interviews. This
             | just test the ability to memorize algorithms. People with a
             | life are at a disadvantage by either accident or by design,
             | not sure which is worse.
        
             | philliphaydon wrote:
             | Those links get 404?
        
         | dec0dedab0de wrote:
         | _that 's a hell of a time investment if you're not planning to
         | stay at FB for a long time._
         | 
         | I think that right there is a good enough reason for them to do
         | it. They probably want to weed out anyone that is not planning
         | on staying for a long time. In general, I imagine the more
         | applicants you have, the more difficult you have to make it to
         | get through.
        
         | fatnoah wrote:
         | 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.
        
         | mylons wrote:
         | Your points are basically true across $MANGA as well.
         | (Microsoft, Apple, Netflix, Google, Amazon)
         | 
         | I think it's more a symptom of interviewing being broken than
         | just being a monoculture. They're probably very related,
         | though. Bad interview practices produce bad results, etc.
         | 
         | Why is interviewing so broken? Why isn't there something like
         | certifications? Do things like unions address this? They seem
         | to in construction, plumbing, and trade jobs as well as even
         | acting.
        
           | MajorBee wrote:
           | > $MANGA as well. (Microsoft, Apple, Netflix, Google, Amazon)
           | 
           | I must say this is a new acronym (backronym?) for me. Why do
           | people insist on shoe-horning in Netflix in there? Yes, I'm
           | aware without the N these acronyms can collapse into a more
           | distasteful and off-topic term, but is that the only reason?
           | 
           | I'm sure Netflix is a "wealthy" company with a competent
           | engineering org, but surely they are nowhere near the scale
           | that the rest of the letters operate in? Netflix's competitor
           | is just one of many subdivisions in Amazon, after all.
        
             | ativzzz wrote:
             | Mostly because Netflix has very high compensation for
             | senior engineers.
        
         | wdb wrote:
         | Probably revising to remember it without needing to look it up
         | ;) I can't be bothered to remember specific details like algos,
         | I normally look them up.
        
         | hpux wrote:
         | On your second point, that's the reality for many established
         | tech companies. I know many solid senior engineers that can't
         | pass the entrance bar to FANG. That doesn't mean that they are
         | "bad" engineers. Overall I think you can replace Facebook with
         | Google/Apple/Microsoft/Netflix/... in the blog post and the end
         | result would be the same.
        
           | collyw wrote:
           | These days I honestly think that a developer who is
           | marginally above average but plays well as part of the team
           | is much more valuable than someone super smart who isn't a
           | team player. We rarely need to solve complex algorithmic
           | problems these days, just plug some components together and
           | work out why they aren't working.
        
             | wojciii wrote:
             | I have not seen any interview problems where you have to
             | debug an issue having limited information as often is the
             | case in embedded systems. You have a set of logs and the
             | source code to look at. The description of the problem is
             | "X doesn't work" where X is some protocol or procedure.
             | This is something that took me a lot of time to become good
             | at (to not freak out, but to be systematic).
        
           | meowzero wrote:
           | I worked at a company, not a FANG, but had interviews like a
           | FANG. We had a solid team. But some of us believed we
           | wouldn't be able to pass our own interviews.
        
             | mywittyname wrote:
             | I think there's a natural desire to want to hire people who
             | are better than you are. Sprinkle in a little dunning
             | kruger effect and I can see how a good team can end up
             | feeling like that.
        
             | jbn wrote:
             | isn't this what's happening at FANG companies: the
             | gatekeepers (i.e. people giving interviews) have an
             | incentive to not let people in too easily? This limits the
             | pool of employees, and since what's rare is expensive,
             | makes insiders more valuable?
             | 
             | Also at FANG companies, interviewing feels (to me) like
             | hazing that is unrelated to what the day-to-day job will be
             | like. Some interviewers I had obviously had a very high
             | opinion of themselves..
        
               | chris11 wrote:
               | Another issue is that hiring is expensive and FANG
               | companies have a ton of applicants. Raising the bar on
               | algorithmic interview performance is a straightforward
               | way to filter applicants that is relevant to job
               | performance. After the initial screen it's still hard to
               | make the case to hire a smart engineer if one or two of
               | the interviewers have concerns about their interview
               | performance.
        
               | jrd259 wrote:
               | Our incentive is not (as you imply) a selfish desire to
               | enrich ourselves though artificial scarcity, but rather
               | the knowledge that a weak team member hurts everyone and
               | is hard to get rid of. At my firm we have the explicit
               | goal of hiring people who are _better than_ half the
               | developers at similar level. A little math will show you
               | that if you do not do this, your average talent level
               | goes down over time.
        
               | jbn wrote:
               | Oh I wasn't thinking of selfishness in this situation (I
               | didn't use that word, but i was thinking of how purely
               | rational economic actors would act), merely that there is
               | a subconscious incentive to act one way. Of course you
               | are right, interviews serve as a filter, one wants the
               | newcomer to increase the output of the team, not decrease
               | it ;-)
        
         | dnautics wrote:
         | I (as a senior) had a rather bad experience interviewing with
         | Facebook; I was mostly interested in interviewing for whatsapp,
         | the recruiter went and put me in front of someone not at
         | whatsapp, I programmed in an erlang-vm language, so the
         | interviewer was already confused by the code I was writing.
         | 
         | The interview was conducted over coderpad, and at the outset,
         | the interviewer asked if I was familiar with it (I was; I've
         | conducted interviews over coderpad), and I wasted a lot of time
         | commenting out the interviewer's cut and paste instructions and
         | writing out the tests, because when I wanted to actually test
         | out my code, to my surprise, execution was disabled!! I didn't
         | even know that was an option in coderpad.
         | 
         | So, basically one of the key tools I use in my day-to-day
         | coding workflow was kneecapped. As a result I wasn't able to
         | run the quick tests I had written, and I had mixed up two
         | similar algorithms in the implementation, but not in the tests.
         | I would have noticed this IMMEDIATELY if I could have run my
         | code! Needless to say I failed the interview at the first
         | stage.
         | 
         | Oh well. I probably prefer working at startups anyways (I
         | landed at one in the domain I wanted to be in, working in the
         | language I prefer, get paid reasonably well, and have sizable
         | equity in a company that has a good shot at high upside in a
         | short timeframe).
        
         | coliveira wrote:
         | My experience is that the expectation is the same for ALL big
         | tech companies: you need to spend about a month revising
         | problem types that they consider important for an interview. If
         | someone fails on this, it is enough for them to pass on a
         | candidate.
        
         | aphextron wrote:
         | > I'd argue that points to a massive monoculture problem at
         | Facebook, but I'm massively anti-Facebook so I'm biased.
         | 
         | I'm pretty sure that's the point. Massive enterprises like
         | Facebook have no need for creative "outside the box" thinking
         | anymore. They need dependable, solid developers with a
         | standardized skillset that they can plug into a position like
         | lego blocks, easily replaced whenever they burnout or stop
         | toeing the corporate line.
        
           | finnthehuman wrote:
           | >plug into a position like lego blocks
           | 
           | Every time I hear someone from big tech talk about being a
           | "L"-something (or in this blog they're "E" levels), I wonder
           | if they know they sound exactly like the bureaucracy talk of
           | the US Federal Government employees and their "GS" "E" or "O"
           | levels.
        
             | mandevil wrote:
             | For better or worse, when you get to a certain size you
             | absolutely NEED that level of bureaucracy. You can't get
             | 120,000 full time employees plus probably another 100,000
             | contractors to work together without establishing a clear
             | hierarchy that everyone inside it understands. A smaller
             | company can have different approaches because they will
             | have a dense network of employee relationships, and can
             | work together off of those relationships. However, at six
             | figure employee scale by necessity you will end up with a
             | very very sparse matrix of employee relationships, so you
             | have to have something else to get results.
        
               | Mauricebranagh wrote:
               | A lot of really big companies have super flat hierarchies
               | when I worked at one we had MPG2, MPG4 then Senior
               | Management U,T,S
               | 
               | Promotion was brutal you might have 20 MPG4 slots every
               | 18 Months for the entire Division (60k FTE) - just
               | getting to the Board Stage was tough enough.
               | 
               | I think a MPG2 was equivalent to a Captain an S was a
               | Grade 7 (GS15 in US terms I think) Full Colonel
        
               | pc86 wrote:
               | You just proved the GP's point. Whether the hierarchy is
               | flat or not is irrelevant, they still have the
               | bureaucracy around leveling and authority/responsibility.
        
           | officehero wrote:
           | I also think FB, contrary to many other massive enterprises,
           | suffers extra much from this bcs it doesn't even make sense
           | as a massive enterprise. It's a social network platform and
           | when it grew too large it mutated into something that in its
           | worst days looks like a scene out of 1984. Hence Lego
           | recruits are needed not just bcs its massive but because they
           | shouldn't be asking the difficult questions.
        
           | Uberphallus wrote:
           | I kind of agree with your cynicism, but I'm partial due to
           | having been refused by Facebook, twice.
           | 
           | The first time I made the mistake of using Python (because of
           | its whiteboard value) while not being proficient in it. They
           | really didn't like me Googling some basic stuff.
           | 
           | The second time I still used Python, but had 5 years
           | experience using it behind. Can't be objective but it was
           | probably the best interview I've ever done. Reviewed my code
           | afterwards, and could only come up with minor improvements.
           | Got refused, I asked what could I improve and I got a very
           | generic "not a good match for the team" which, in retrospect,
           | reading your comment, could have been very accurate.
        
             | jyu wrote:
             | Coding a good solution is necessary but not sufficient to
             | pass an interview. Maybe you asked too many questions or
             | not enough, maybe you solved the problem too slowly.
             | Interviewers for better or worse look for specific signals
             | that clue them into your being a good coworker. It's why
             | even if you're a good programmer you may need to apply
             | multiple times before the right set of interviewers grant
             | you admission into their club.
        
               | [deleted]
        
               | _Understated_ wrote:
               | > It's why even if you're a good programmer you may need
               | to apply multiple times before the right set of
               | interviewers grant you admission into their club.
               | 
               | That would imply to me that their interview process is
               | fundamentally broken.
        
               | MajorBee wrote:
               | It could also imply that they simply get more good
               | applications than they need. Everyone and their grandma
               | seems to want to work for Big N, after all.
        
             | sockgrant wrote:
             | Can fail behavioral or design interviews while passing
             | coding and not get hired. Can also have written what you
             | thought was good code but have been given too many hints.
             | Or, could have written good code to the question asked, but
             | took so long that interviewer didn't get to a second
             | question and you wouldn't ever know that.
        
             | wanderer2323 wrote:
             | There is this weird meme that using Python is beneficial
             | during interviewing -- you mention it, the OP mentions it,
             | I have experienced it myself and seen friends mention it.
             | 
             | I don't know how or why this meme infects people; in my
             | interview experience (MSFT, Google, Oracle, FB, Amazon,
             | other smaller places) nobody ever batted an eyelid on me
             | using C#. My advice would be to only use a language you
             | know best, as long as it's appropriate for the role -- and
             | most mainstream languages would be appropriate for generic
             | FAANG SDE roles.
             | 
             | Using the language you know best will bring all sort of
             | benefits -- you'll code faster, you'll be more confident,
             | you might even find a place to show off a little. There is
             | no good reason to give this advantage up.
        
         | late2part wrote:
         | I think you meant mold. Not all Facebook employers have to be
         | mouldy.
        
         | fatnoah wrote:
         | >Secondly, the author believes that senior developers, who
         | likely have 10+ years under their belt if they're senior, need
         | to spend a solid month revising in order to be successful
         | landing a role there.
         | 
         | FWIW, I joined FB at 20 YOE and spent about 3 hours on Leetcode
         | problems just to get my mind back to being able to handle
         | "stupid computer" tricks. Array manipulation, algorithm
         | cleverness, etc. are things that I hadn't really done since the
         | early days of my career. Aside from that, the only real
         | challenge was a system design interview with a VERY junior
         | engineer where I had a really hard time keeping things at a
         | level they'd understand while not coming across as patronizing.
        
       | grumple wrote:
       | CLRS is over 1000 very dense pages. I assume the author just did
       | a fairly casual reading and didn't work through many problems.
       | 
       | Even still, this is a full month of study just for the interview
       | process, and little of this sticks unless you practice it. This
       | basically says to me that big companies just want to hire new
       | grads or people who have copious amounts of free time to waste on
       | studying, or perhaps enough wealth and freedom to take several
       | months off (someone I knew with several children and a dependent
       | wife took 3 months off to prep for interviews and got multiple
       | offers! But this is only possible if you are already wealthy
       | because of the high risk involved and lack of income).
       | 
       | I'm not saying I haven't done an extensive amount of prep - I own
       | 3 of the 4 mentioned books plus CTCI, though I've only read the
       | latter and DDIA, and I just did advent of code 2020 - but I'm a
       | man with a remote job and no children and it's still a pain for
       | me to stay at my current level of being moderately competent at
       | algorithms. And then, of course, you'll get into BigTech and
       | spend time fiddling with frontend components or configuring
       | infrastructure or gluing apis together and you'll never need any
       | of this again - with the exception of the content of DDIA, which
       | would be a _much better_ focus for senior engineering interviews
       | and you end up learning /using a lot of this in practice.
        
         | qsort wrote:
         | > CLRS is over 1000 very dense pages.
         | 
         | CLRS is in fact over 1000 pages, but it's not very dense, quite
         | the opposite. It goes in painstaking detail about every single
         | minutia you could possibly be thinking of, often formally
         | proving things that everyone with even a modicum of
         | mathematical education should be able to independently come up
         | with a proof for ( _white path theorem_ , anyone?).
         | 
         | All of that is great for beginners (there's a reason it's a
         | standard textbooks), but I remember that even when I was in
         | school I found it a little too verbose and used to prefer the
         | Sedgewick.
         | 
         | With that said, I still agree that the author's timetable is
         | _very_ optimistic.
        
         | almog wrote:
         | > CLRS is over 1000 very dense pages. I assume the author just
         | did a fairly casual reading and didn't work through many
         | problems.
         | 
         | When I saw his day to day plan include things like chapters
         | 22-26 of CLRS, I thought the same and casual might be an
         | understatement unless he has read this book multiple times
         | already.
         | 
         | DDIA was by far the preparation reading I've enjoyed the most.
         | I'm currently reading it again. It is so eloquent and fun to
         | read but other than just the fact that internalizing these
         | topics to a level where one can feel comfortable discussing and
         | reasoning about them, you can also use this book to navigate a
         | deeper learning path through its many footnotes.
        
           | ajg360 wrote:
           | He also mentioned in his article:
           | 
           | > When studying CLRS or PP, it's essential to solve the
           | exercises at the end of each chapter. That will help you to
           | solidify what you have learned into your brain.
           | 
           | That's what boggled my mind when I read this. There's no way
           | that he read multiple chapters of CLRS a night _and_ did all
           | of the problems at the end of the chapter. I 've done most of
           | those exercises; some of them took a long while to get
           | through.
           | 
           | I guess that's why I take issue with the advice that is given
           | in the article. It is kind of unrealistic for any 30+
           | professional with a family, children, etc. to study this much
           | for an interview.
        
       | chojeen wrote:
       | Do people have any pride? Why would you subject yourself to this?
        
       | lmeyerov wrote:
       | It's interesting that the same questions apply to both a mid-
       | level + senior-level technical interviews, but the answers+prep
       | can be quite different:
       | 
       | * Mid-level: Mostly topics you can learn in your 2nd/3rd year of
       | college + having worked on 1-2 web data projects. Basically
       | performing recall on textbooks and architecture powerpoints.
       | 
       | * Senior-level: You can always go crazy on the same technical
       | topics, such as by replacing "recite a paragraph from your old
       | CLRS textbook" with "... and here's how that'd look on a multi-
       | gpu/asics cluster". I didn't see anything directly on technical
       | leadership, so maybe rethink the architecture questions from
       | team/HR + product design + company/LOB perspectives. Weirdly,
       | prepping at the CLRS-level seems like you're aiming for a more
       | junior technical role / org, and I'd think more about 'revisit
       | track record' and 'networking' than 'prep'.
       | 
       | Curious how FB folks see that -- I'm probably misunderstanding
       | something as there's a wide spectrum between 'Mostly knows how a
       | production system works' and 'Ready to lead tech for a new
       | team/LOB'.
        
       | cambalache wrote:
       | 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 option is to be hired at your
       | home country, but the country I live is very small and I am not
       | legally allowed to work here in any case.
        
         | tananaev wrote:
         | 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.
        
         | digianarchist wrote:
         | I'm in Canada and US recruiters reach out occasionally.
         | 
         | The TN visa makes it easy for US employers to recruit here.
        
           | cambalache wrote:
           | Yeah, same for a few of other nationalities (Chileans,
           | Mexicans, Aussies), as for the rest...not so easy. Things
           | like these is why I laugh when people talk about
           | globalization going too far. This is only true for powerful
           | organizations
        
         | paxys wrote:
         | I assume things have changed in the last 4 years but before
         | that all large software companies were sponsoring H-1Bs.
        
       | techbroaway wrote:
       | The best way to prepare for a fanng interview is to have friends
       | there and get fast tracked on easy mode.
       | 
       | FB rejected me twice and both times I followed a study plan much
       | like the blog and in my case it turned out that I got too
       | complicated with it and spent too much time on cool shit like
       | dynamic programming, tries, all-pairs shortest paths but I should
       | have stuck to drilling the simple data structures like stacks and
       | BSTs cause that is all I ever got asked about.
       | 
       | I also got backchannelled during the behavioral the 2nd time
       | around which I suspect may have been defamation. In the end my
       | fan club did me a favor helping me dodge a bullet because I
       | probably would have accepted an offer until I read about how bad
       | morale at facebook really is (which in hindsight was reflected
       | loud and clear in the conduct of the aforementioned behavioral).
       | 
       | One thing I have noticed about remote interviewing in general but
       | especially with facebook is how disgustingly filthy some of the
       | panelist's backgrounds were. During the portion where the
       | candidate is allowed to ask questions I wanted to ask "Damn, you
       | live like this?"
        
       | renewiltord wrote:
       | Excellent work and congratulations on the job. I like people who
       | set themselves a goal and find a way to accomplish it, so I hope
       | you find yourself successful at Facebook.
        
       | tjr wrote:
       | The author suggests studying _Programming Pearls_. Bentley wrote
       | there:
       | 
       |  _As soon as we settled on the problem to be solved, I ran to my
       | nearest copy of Knuth 's _Seminumerical Algorithms_ (having
       | copies of Knuth's three volumes both at home and at work has been
       | well worth the investment). Because I had studied the book
       | carefully a decade earlier, I vaguely recalled that it contained
       | several algorithms for problems like this. After spending a few
       | minutes considering several possible designs that we'll study
       | shortly, I realized that Algorithm S in Knuth's Section 3.4.2 was
       | the ideal solution to my problem._
       | 
       | Why is vaguely recalling an algorithm studied years prior and
       | needing to look it up indicative of a poor candidate in an
       | interview?
        
         | tantalor wrote:
         | > Why is vaguely recalling an algorithm studied years prior and
         | needing to look it up indicative of a poor candidate in an
         | interview?
         | 
         | The article does not imply that it does.
        
           | blonde_ocean wrote:
           | The article doesn't but I think OP's point was that relying
           | on knowledge / algorithms designed and provided by others
           | would mean an immediate fail in a FAANG interview, but it's
           | exactly what successful engineers do when employed at FAANGs.
        
             | btilly wrote:
             | And the reason is that you have to stand out from other
             | candidates. If enough candidates do know algorithms on the
             | whiteboard, then they can set the bar that high.
        
       | freebee16 wrote:
       | 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.
        
         | bkovacev wrote:
         | How was your overall experience through all of the rounds?
        
           | freebee16 wrote:
           | 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.
        
       | LandR wrote:
       | 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.
        
         | fb_throwaway123 wrote:
         | 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.
        
           | rglullis wrote:
           | To your last point: the issue here is that Facebook is not
           | interested in making users happy. They are interested in
           | keeping them engaged so that they can sell ads. No studies
           | are needed to show that if users' happiness or well-being
           | gets them in the way of selling more ads, fuck the users.
           | 
           | It is no different than Big Tobacco putting all kinds of
           | additives and carcigenic substances on cigarettes to get
           | people more addicted to it.
        
         | fsociety wrote:
         | There are many teams trying to fix the negatives of FB - sure
         | you can't fix everything but overall the intention and effort
         | is there
        
           | teachrdan wrote:
           | Sincere question: How can an outsider like myself believe
           | that Facebook is actually working to "fix the negatives of
           | FB"? This is the same company that, in 2016, let Russian
           | accounts pay for campaign ads in the US in rubles, according
           | to Congressional testimony.
           | 
           | Facebook said they'd prevent such errors in the future by
           | creating an election oversight board. Despite the fact that
           | they had four years to prepare, their oversight board took
           | their first case... on December 1st, 2020, conveniently after
           | the presidential election was over--and hundreds of millions
           | of ad dollars were spent.
           | 
           | I'm sure that Facebook has teams working on privacy and good
           | governance. This is basically a public relations spend for
           | them. Their business model is collecting as much data on
           | people as they possibly can and then selling ads based on
           | that data. The idea that "overall the intention and effort is
           | there" seems laughable at best.
           | 
           | But, as someone who seems to be an insider, do you have any
           | information you could share that contradicts that narrative?
           | 
           | https://thehill.com/policy/technology/358102-franken-
           | blasts-...
           | 
           | https://news.yahoo.com/facebooks-oversight-board-
           | announces-1...
        
         | izacus wrote:
         | Did the current political situation in US (and most of the
         | world) not teach you that it's really really dangerous to think
         | that most people in your environment conform to your morality
         | and agree with the sources you're basing it from?
        
           | enumjorge wrote:
           | You're taking about the dangers of living in a bubble and
           | from consuming misinformation, right? Two things that FB
           | hasn't exactly helped with.
        
         | paxys wrote:
         | Not everyone follows American politics and watches
         | sensationalized American news media all day. Facebook is a
         | great place to work, has some of the best tech in the industry
         | and its products have done a lot of good for the world,
         | especially in developing countries.
        
           | moolcool wrote:
           | Facebook's impact on the world today isn't sensationalized
           | (quite the opposite), nor is it exclusive to American
           | politics.
        
           | rglullis wrote:
           | I really wonder what good they have done. All of their
           | initiatives are self-serving. And at the end of the day, no
           | amount of good they do will ever make up for all the damage
           | they cause to their users. I am not even talking about the
           | American politics, just the amount of psyops tricks to get
           | people engaged and addicted to the platform, manipulation of
           | one's sense of wellbeing, the social anxiety they cause. They
           | make Big Tobacco look like saints.
           | 
           | As for "being a great place to work" or "the tech": how much
           | of soul-less drone one has to be to look at all this shit and
           | still think "but the tech is cool and they pay really well!"?
        
             | nefitty wrote:
             | Cigarette smoking causes about 480,000 deaths per year in
             | the US alone. Does Facebook have a body count?
        
         | xtracto wrote:
         | Well, I have never applied to FB and don't plan to in the short
         | term, but I can tell you that I don't see any reason not to.
         | 
         | They offer me a service which is quite useful: Keep me in some
         | form of contact with long lost relationships I had while I
         | lived in the UK, Germany and several cities in Mexico. I've
         | done really good friends in those places over the years, and it
         | makes me happy to see what's happening in their lives and even
         | "react" to minor stuff that they post there after months of no
         | interaction with them.
         | 
         | Before I had facebook (around 2004) I used to write an email
         | every December to a list of friends I had from different
         | places, just to make sure we had some contact. And I also used
         | to ping them in chat (Windows Messenger), but the problem there
         | was that the conversation was just "what's going on", "nothing
         | here, what's going on there...." , "nothing". Whereas with
         | Facebook, the moment one of my friends opened a tatoo place, I
         | could write some small comment and we would "virtually hug" and
         | exchange thoughts for a minute.
         | 
         | Regarding the "conscience" thing, Personally I don't see
         | anything terrible that Facebook is doing. As long as people
         | understand that this is the internet, and whatever you upload
         | in ANY place in the internet is inherently public, all is fine
         | for me.
        
         | deeeeplearning wrote:
         | >Is it just the salary? It is, isn't it? Just money. How
         | depressing.
         | 
         | Of course it is. FAANG is just the 1980s Wall Street of our
         | day. I can only pray that eventually people will realize how
         | predatory and dangerous these companies are and decline to work
         | for them. But Ivy League/Elite Uni grads only care about
         | prestige and so as long as working there is seen as prestigious
         | they will continue to sell their souls.
        
         | newbie578 wrote:
         | You can say that for any FAANG company really. I would rather
         | work for Facebok than for the "cult" and $20 charging bricks..
        
         | xR63cRyqrL wrote:
         | 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 much of a echo chamber lately for some topics, there
         | was a recent discussion about FB head of integrity leaving the
         | company and the top comment and thread was a personal attack on
         | the FB CEO's integrity without even understanding what an
         | integrity team/dept does in these companies. I could just as
         | well have been reading youtube comments. I see threads with
         | some topics now and I can pretty much be sure to not expect to
         | learn anything new or get a good discourse. Just people
         | thinking they are better than others.
        
           | [deleted]
        
           | deeeeplearning wrote:
           | >Turns out you got to pay bills
           | 
           | I'm sorry but if working for a FAANG is the only way for you
           | to pay your bills you need to learn how to budget... How
           | absurd.
        
           | burnthrow wrote:
           | Give me a break, a job with Facebook isn't the only one that
           | pays the bills.
        
             | geodel wrote:
             | Well you list the company name and enough ethical failings
             | can be found for that also
        
               | burnthrow wrote:
               | I'm certain the small startup I work for hasn't failed
               | too badly ethically. But I don't own a home in SF so...
               | failure?
        
               | victords wrote:
               | They may not have failed ethically _yet_.
               | 
               | It's virtually impossible for a company the size of
               | Facebook to be free of controversies.
        
           | nafizh wrote:
           | You are doing a whataboutism just like many others. Among
           | FAANG, Facebook is distinctly more problematic. If you don't
           | see that, you are just unaware of the scandals upon scandals
           | from the last 5 years.
        
             | quicfufhrt wrote:
             | True but I am tired of seeing a free pass for the leaders,
             | legislators, board, share holders etc. but bring out moral
             | pitch forks for engineers who perhaps have the least amount
             | of decision making powers in a company as massive as
             | FB/FAANG. I am willing to bet that even the ones here that
             | are in disbelief about how one can work in such a company,
             | I bet uses their products and/or is invested directly or
             | indirectly with these companies and don't complain when
             | their portfolio makes bank.
        
             | victords wrote:
             | Being more or less problematic shouldn't be an issue.
             | 
             | If you have moral issues with a company, you should have it
             | with all companies, regardless if one is more or less
             | problematic. Otherwise, it's just hypocrisy.
        
         | lrvick wrote:
         | I know multiple people that have taken jobs at Facebook in
         | recent years that feel it is a net negative in the world but
         | could not resist the paycheck and justify it by committing to
         | either by work hard as user advocates from the inside, or just
         | finding open source work that doesn't directly exploit users to
         | drain their resources on.
         | 
         | I for one have taken interviews at Facebook with 0 intention of
         | working for them just because they have a tough process and it
         | is good practice. Wasting some of the time and resources of an
         | organization that inherently evil also makes the world that
         | much better.
        
           | burnthrow wrote:
           | So, they didn't make you an offer.
        
         | renewiltord wrote:
         | They have differing moral foundations. I have no problem with
         | Facebook. (I don't work there though)
        
         | waynesonfire wrote:
         | Nevermind all that.. you'd have to work with PHP. No thank you.
        
         | TameAntelope wrote:
         | An effective way to change a culture is to participate in it.
        
           | lhorie wrote:
           | 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.
        
           | dyeje wrote:
           | Changing a company's culture is nearly impossible at a
           | startup, let alone a behemoth like FB.
        
             | Balgair wrote:
             | Google did just vote to unionize, so it's not impossible,
             | but very difficult.
        
               | pseudalopex wrote:
               | Between 200 and 300 Google employees formed a union.
               | Google didn't vote to unionize.
        
       | avl999 wrote:
       | While I agree that these interviews can be a bit much but what's
       | the alternative? If I am a job seeker I feel much more
       | comfortable knowing that they expect me to write code and answer
       | DS+Alg questions and prepare for it as opposed to companies
       | selecting based on the the prestige level of the University you
       | went or based on subjective judgments based on the resume and/or
       | company fit. As someone who went to a University in Canada that
       | no one working at big tech companies in SV would have even heard
       | of I appreciated that I was given a chance to show my skill as
       | opposed to them just hiring out of Ivys/Stanford/MIT or other big
       | name schools (like what happens in Law).
       | 
       | I also hate the new trend of "take home" tests. That just seems
       | disrespectful of the candidate's time.
        
         | whimsicalism wrote:
         | People are just salty.
        
           | AnimalMuppet wrote:
           | Not at all. You're going to give me a take-home, _and_ you
           | 're I've only got a 2% chance of getting hired? Get lost.
           | 
           | That's not "salty". That's refusing to be exploited.
        
         | deeeeplearning wrote:
         | >While I agree that these interviews can be a bit much but
         | what's the alternative?
         | 
         | So somehow literally every other industry on earth has figured
         | out ways to interview people that don't involve whiteboard
         | hazing but you think there is absolutely no alternative? Have
         | you actually thought about what you are saying at all?
         | 
         | Might want to check linkedin because I can guarantee most of
         | your bosses are from Ivys/Stanford/MIT/etc
         | 
         | >I also hate the new trend of "take home" tests. That just
         | seems disrespectful of the candidate's time.
         | 
         | But doing leetcode for 2 months is somehow better? Are you
         | high?
        
         | xtracto wrote:
         | > I also hate the new trend of "take home" tests. That just
         | seems disrespectful of the candidate's time.
         | 
         | And there lies the problem: I would prefer a take home test way
         | more than whiteboard interview. With the take-home test I would
         | feel more comfortable.
         | 
         | As a VP of Engineering in a growing startup, I have to deal
         | with interviewing 2 or 3 candidates _every week_. We have
         | settled for a process which has given us good results. But for
         | me the key has been to avoid taking tests  "literally" but use
         | them more as tools to get to know the candidate.
         | 
         | To give you an example: I have had jr people that did too
         | little in our "onsite" (a 3 hour coding challenge of modifying
         | some source-code) but at the end we took a chance and offered
         | 3-month internship with possibility of becoming full time after
         | that. We have had success with that.
         | 
         | I've had people who just flunk the interviews but I see
         | something in them and we take a chance. Similarly, I have seen
         | people that pass the interview pretty well but it so happens
         | that they are just not cut for a startup culture (I had a guy
         | coming from a"big corp" Tata/HCL/Cognizant/AmDocs kind of
         | culture who struggled to strive in the uncertain and dynamic
         | environment of a startup, after several months, we decided to
         | end it (the nice thing in Mexico is that, by law, we paid him
         | for 3 months severance) because both sides were suffering.
        
       | xdavidliu wrote:
       | > 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).
        
         | lrossi wrote:
         | 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.
        
           | Tronno wrote:
           | The author is already employed at Facebook.
        
       | [deleted]
        
       | waynesonfire wrote:
       | I wonder who the author was thinking of as the audience to this
       | post? It looks like a manual that's targeted at young software
       | engineers to recruit them into FB. And by proxy, the agism that
       | goes on in that company.
       | 
       | I just can't imagine a senior software engineer needs to be told
       | that they need to pick a language to solve puzzles in, "I decided
       | to go with Python" or being reminded that "To refresh my
       | knowledge of the language" is a wise thing to do before an
       | interview.
       | 
       | I bet this guy is a manager.
        
       | [deleted]
        
       | lxe wrote:
       | Pick a language that you don't have to "brush up" on before your
       | interview -- the one that you work with on a daily basis and know
       | like the back of your hand. Bonus points if it's a language with
       | which the interviewer is less familiar.
        
       | ajg360 wrote:
       | I've been programming professionally for 12+ years. I haven't had
       | a need to look at CLRS since I took my graduate (!!!) algorithms
       | course in college.
       | 
       | I don't work in FAANG, but I am a senior developer in another
       | industry. It would take me way more than two and a half weeks to
       | work through all of the problem sets in CLRS; two and a half
       | weeks is more for someone who is a year or two out of college. I
       | don't think being able to work through the problems in that book
       | is indicative of a senior developer either...
       | 
       | Anyway, this is why I'll probably end up never changing
       | industries. The barrier to entry is (too) high; especially for
       | those of us who already make comparable money.
        
         | hocuspocus wrote:
         | I don't think many people who got a job at these companies used
         | CLRS to prepare for the interviews. At least not the ones I
         | know. There's a reason leetcode is so popular. In my own
         | experience you really need to know how to solve the typical
         | easy/medium questions quickly, interviewers themselves don't
         | really want to ask hard questions. The infamous CTCI covers
         | them, EPI is better from what I've heard.
        
       | champagnepapi wrote:
       | How is the author of this article getting through multiple
       | chapters of CLRS a night?! This by itself is very difficult to do
       | in a few hours everynight.
        
       | andred14 wrote:
       | At this point in time I would rather go poor than sell my soul to
       | work at Fascistbook:
       | 
       | Where they ban you if your opinions differ from theirs.
        
       | nilkn wrote:
       | You can simplify the coding preparation by just getting a basic
       | LeetCode subscription, filtering down to problems asked at
       | Facebook in the last six months, and then sorting by frequency
       | (how many times each question has been asked recently, according
       | to user reports). CLRS, etc., are nice books, but if you're
       | seriously considering a senior role at Facebook presumably you
       | already know the basics and just need to memorize all the tricks
       | for LeetCode problems.
       | 
       | For system design, though, it actually is worth reading through
       | "Designing Data-Intensive Applications."
        
         | LordHumungous wrote:
         | Yep, most of their questions are straight out of leetcode.
        
       | throwaway7281 wrote:
       | Sad to see that FAANG is so attractive - sure, pay is nice,
       | technical problems are nice - but you are actively working on
       | walled gardens. You become a walled gardener.
        
         | exhaze wrote:
         | Hey, someone's gotta paint the roses red.
        
         | colmvp wrote:
         | I used to believe that when I was younger.
         | 
         | Now that I'm older, I'm understanding of people optimizing pay
         | and intellectual challenges. At the end of the day, people have
         | to optimize for their own interests because the world sure as
         | hell doesn't care about your or my sacrifice. Even my best
         | friend who took a job at a non-for-profit for many years
         | helping those in need eventually joined BigCo to be able to
         | afford things in life.
        
           | throwaway7281 wrote:
           | Yes of course. You have to give in at a point, because you
           | have no options, it's probably simple as that.
        
       | draw_down wrote:
       | Feel free to moan about monocultures and how unfair these
       | processes are to certain kinds of candidates (which may to some
       | degree be figments of your imagination anyway), or you can deal
       | with reality as it is. If you would like to make a lot of money
       | in an engineering position, this is a well-written guide on an
       | important step in that direction.
       | 
       | If you want to do something else, great, go for it. Facebook is
       | gonna be fine either way. I've never worked there, but something
       | about every _single tech job I 've ever had_ makes me suspect
       | it's not meaningfully worse or even different from the jobs you
       | guys work that are supposedly so much better and probably pay 30%
       | of their total comp. Oh but your culture is sooo good and
       | Facebook is evil. Alrighty.
        
       | ah88 wrote:
       | I like their interview process (minus the leetcode grind that's
       | been happening lately). They focus on fundamentals and core CS
       | knowledge. Other company interviews, like mine, focus on
       | knowledge or current trends, which change over time.
        
       | j45 wrote:
       | Not just for Facebook but a decent study guide in general.
        
       | patrickserrano wrote:
       | Maybe it's imposter syndrome, but it often feels like these
       | interviews were designed to discourage self-taught developers
       | -\\_(tsu)_/-
        
       | strulovich wrote:
       | 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.
        
         | yrimaxi wrote:
         | > First, Facebook avoids titles, so there's no such thing
         | "senior software engineer".
         | 
         | How egalitarian. Let me guess: you are an IC6, or perhaps IC7?
         | You just give off that vibe.
        
           | strulovich wrote:
           | I joined Facebook 7 years ago as an IC3, and am still around
           | so you could probably do the math.
           | 
           | Had the same vibe to me when I was a new grad (well, maybe a
           | less polished one) and got a lot of respect then. I also knew
           | which people I enjoyed working with and trusting without ever
           | knowing their level. I could make an educated guess of
           | course. But those cases when your guess is wrong are the
           | important ones.
           | 
           | This is all not to say there's not plenty of issues with this
           | system, and I totally get where your snark is coming from,
           | but I would personally still stand by this idea over many of
           | the alternatives.
        
             | yrimaxi wrote:
             | Good that it's working well for you! :)
        
       | Kaizeras wrote:
       | Most of the people I know who did competitive programming in high
       | school spent a just a few evenings preparing for FAANG interviews
       | and still got offers in the end.
       | 
       | I have the feeling that all the bitterness towards this interview
       | process comes from people who refuse to do the initial investment
       | of time to learn the foundation for solving coding challenges.
       | Once you go through and understand a few hundred coding
       | challenges, things start to repeat themselves and then it just
       | takes practice and consistency.
       | 
       | Personally, I find coding challenges fun and even quite enjoyable
       | at times, so I don't see why it's a waste of time to get good at
       | them. At the very least, I learned a lot about Java doing them
       | than I would've learned if I did a side project where I'd need to
       | use some framework or library that's based on Java.
       | 
       | Edit: grammar
        
         | meowzero wrote:
         | In my experience, most people who do coding challenges are the
         | younger folks. As we get older, we have better things to do
         | than do coding challenges, especially a "few hundred" on our
         | spare time. They might have other hobbies or responsibilities.
        
         | borvo wrote:
         | ditto. I like to play with these as a fun intellectual
         | challenge, even though I've never been interested in FAANG.
        
         | game_the0ry wrote:
         | > I have the feeling that all the bitterness towards this
         | interview process comes from people who refuse to do the
         | initial investment of time to learn the foundation for solving
         | coding challenges.
         | 
         | My bitterness comes from the fact that the interview process
         | does not reflect what happens in day-to-day work. If I had to
         | invert a n-ary tree, I would google how to do that, which I
         | can't do during the interview.
         | 
         | > Once you go through and understand a few hundred coding
         | challenges, things start to repeat themselves and then it just
         | takes practice and consistency.
         | 
         | Assuming you spend about an hour to solve and understand a
         | given coding challenge, that's a couple of hundred hours.
         | Assuming an hour a day, that's about 3 months for 100
         | questions. That's not a trivial amount of prep.
         | 
         | >Personally, I find coding challenges fun and even quite
         | enjoyable at times, so I don't see why it's a waste of time to
         | get good at them.
         | 
         | Personally, I would prefer to spend that time enjoying my life.
         | Whatever floats your boat.
        
         | volkk wrote:
         | You're taking a personal feeling and extrapolating onto others.
         | Not everybody finds sitting on leetcode 3 hours a day a fun
         | task. I'm one of those people. It's absolutely mind numbing.
         | 
         | A few hundred coding challenges is months and months of
         | preparation if you're actually trying to internalize everything
         | very well. Kudos to those who can do it and have the willpower
         | to, but I can't seem to get past 3 weeks tops before my body
         | starts physically rejecting these problems.
         | 
         | It also seems to skew towards recent grads and single people
         | that can spend all of that time on these problems.
        
         | janoc wrote:
         | The problem is that coding challenges are OK if you are hiring
         | for an entry level position and need to make sure that the
         | fresh grad can actually write some code at all (surprising
         | amount of them does not).
         | 
         | However, what exactly are you hoping to achieve with this when
         | hiring a _senior_ engineer who is likely to have 10+ years of
         | experience in the field? With verifiable references?
         | 
         | You are only wasting everyone's time. Sorry but I am really not
         | going to spend a month preparing for a single interview where I
         | have no guarantee of neither an offer and not even knowledge of
         | the team/project I would be working on (Google recruiter
         | calling me seriously thought that this is normal - you apply
         | "blind" and only after passing through their hiring "torture
         | test" of 7 or how many interview rounds you get told which
         | position may be "the best" for you. I said "No, thank you" and
         | hung up.)
         | 
         | The issue with this is that you are both testing _the wrong
         | skills_ (senior engineer really shouldn 't be doing basic
         | algorithms but system design, leading teams and managing
         | projects!) and that this is "senior engineer" position is
         | likely senior only in name because the recruiters want to
         | attract more competent people. In reality it is an entry level
         | job ...
        
         | [deleted]
        
         | fc373745 wrote:
         | the problem is that DS/Algos interview questions, besides deep
         | in low level programming, have little relevance in real life
         | work scenarios. The only thing of value that my formal CS
         | education gave me in respect to my day to day, really is the
         | ability to problem solve.
         | 
         | Also, the reverse can be said about this - that individuals who
         | had a more formal CS education are feeling bitter that more and
         | more people are starting to realize that their time spent in
         | "coding challenges" prove to be of low value in their work, so
         | they keep hammering them in the only place they can -
         | interviews.
        
         | spamizbad wrote:
         | Mainly it's just annoying if you've been working for 4+ years
         | and haven't touched that stuff in a while. It's an entirely
         | separate skillset separate from your role as a developer. The
         | fact that there have now been several studies showing it
         | doesn't correlate with job performance makes its emphasis in
         | interviews questionable.
         | 
         | There's also some fear on the "poseur" factor that people worry
         | about. If candidates can simply rote-learn their way into
         | senior roles I wouldn't really feel comfortable having them as
         | team members.
         | 
         | With that said, I do like think the advice of reading
         | _Programming Pearls_ and _Designing Data-Intensive
         | Applications_ -- two books useful for the job at hand, and just
         | your general knowledge of how systems work and how to approach
         | problems. Leetcode, by contrast, is empty calories.
        
       | mlthoughts2018 wrote:
       | Facebook is pure self-parody at this point. This post is tragic
       | comedy with no practical value besides entertainment. Anyone
       | pursuing job options following advice like this has a severe
       | problem with lack of self-esteem and capacity for independent
       | thought.
        
         | krooj wrote:
         | 100%. There's an assumption in articles like this that you even
         | want to work for said FAANG company. Additionally, these posts
         | assume a one-way interview process, which is a sure fire way to
         | end up places you don't want to be. Jump through all the hoops
         | like a good little show pony, then maybe if you're good enough,
         | you get an offer and... what? Congrats, now you work for a
         | terrible organization at a level where you'll never be able to
         | affect real change - you're a literal cog. Bravo.
         | 
         | Do the research and learning out of a genuine kernel of
         | curiosity and self-betterment, not to whore yourself out to
         | some corporation.
        
           | mlthoughts2018 wrote:
           | The comp offers aren't even that great, even compared to
           | midrange tech companies, especially for senior / staff level
           | engineers.
           | 
           | I worked at a midrange ecommerce and content licensing firm,
           | about 20-25 years old, in a major US city, and my total comp
           | as a senior engineer (6 years of experience then) was in the
           | range of $350k between salary, equity and bonus, and this was
           | over a decade ago.
           | 
           | If you find a company that values you and needs your skills,
           | you can get high comp at lots of places, and many have much
           | better work / life balance, less wanton dysfunction and less
           | political drama in the workplace.
           | 
           | Even a 50% or 100% increase over the $350k isn't worth
           | debasing myself with "dance monkey dance" whiteboard hazing.
           | You might as well ask Facebook to give you a dunce cap on
           | your first day, or a t-shirt that says, "My lack of self-
           | respect is so severe that I agreed to do Facebook's interview
           | process."
           | 
           | The mere fact that I'd actually be valued at the $350k place
           | and wouldn't be rectally probed to ensure I am fungible with
           | every other assembly line programmer is a big indicator that
           | my total earnings over a long time are likely to be much
           | higher away from a place like Facebook. Generous scheduled
           | equity refreshers are no match for actually rising in
           | responsibility and skill growth to critical new positions in
           | a firm.
        
       | LordHumungous wrote:
       | One thing to note is that FB has two system design interviews.
       | There is an "infrastructure" track and a "product" track. The
       | former is like the classic sys design round described here, but
       | the latter focuses more on APIs and application level design.
        
       | mocmoc wrote:
       | Fcbk doesn't deserve to have devs working for them
        
       ___________________________________________________________________
       (page generated 2021-01-06 23:01 UTC)