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.
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.
However, due to the whiteboard and performance focused aspect of the typical coding interview, Python is actually kinda an awful language to interview with. Plus, if you want to be terse with Python (whiteboard space is limited after all), it quickly becomes alphabet soup.
If I had to describe the perfect interviewing language, it'd be something with C/Java-like syntax, but without the cruft, that can optionally be typed, with easy fine grain control over looping. All the big-tech companies work with way too much Java, but Java is way too verbose for coding by hand. C# is about as close to Java as they come. Scala/Kotlin is excellent if you write it like Java.
If I needed a DivRem function I'd just write it in, `import Math` optional. In fact I probably wouldn't remember the exact name of the function and would've just 'created' a new one: `Tuple<int, int> DivideWithRemainder(int dividend, int divisor)`. You can just write signatures for functions like that on a separate side of the whiteboard and invite your interviewer to tell you if they want to see any of them implemented.
I would advice this as a general approach -- split things into (reasonable) parts and implement them in order of importance. In one interview (Amazon) I ended up implementing every small thing I parceled out. In others my interviewers seemed to appreciate that we both care a lot about the `solution flow` and the `technically hard` parts and not at all about `DivideWithRemainder` or `import Math`.
I got offers from most of the places that I interviewed at.
That would imply to me that their interview process is fundamentally broken.
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.
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
Thinking outside of the box is very much encouraged and more senior engineers are expected to come up or shape, lead and deliver projects.
FB is company where individual engineers could go and do any project they want - they can even invent it - if they believe that it will deliver big enough impact. After 1 year at FB you can switch team any time you like and your manager does not even need to know what you are working on (it's probably better if they know, as they could many times help you, but no one is micro managing you).
You are assessed every 6 months based on impact you deliver. Your manager supports you, but you need to drive it and deliver it.
Tooling/languages are standardised, but FB does not care whether you do know Hack, or JS. You can do interview in any language (if you are going for generic engineering role). So far at FB I have coded in 4 different languages and picked up all of them as I joined teams.
Even though FB is enterprise company, it feels like startup with great salary, benefits and more manageable work-life balance. Before FB I was 7 years in startups and I have worked longer hours, got paid much less and wasted more time.
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.