Hacker News new | ask | show | jobs
by 49yearsold 2096 days ago
This is mind boggling to see so much effort need to put into getting into FAANG. I am 49 years old and working as an engineering manager in a public company. I have spent decades writing large distributed, Saas, on-premise, enterprise application - many of which I helped implementing, architecting and supporting. Then I just went to leetcode and saw one of the "EASY" question about how to prepare for FB interview. It is something about finding an island that's surrounded by water given a two-dimensional array. I simply stared at it and have no clue how to solve it. Am I the dumb one or does anyone have similar reactions when they see these leetcode problems? Also - if I plan to interview at FAANG - I plan to interview at least for engineering manager positions - but looks like even these positions are tied to these kind of coding questions? I am depressed.
4 comments

These types of questions basically boil down very cookie cutter patterns that generally bucket into graph traversal/search, being comfortable with coding/manipulating linked data structures, enumerating+pruning search spaces, and knowing little tricks to reduce an order of magnitude from the runtime or space complexity after having applied one of these patterns. These all generally require knowing all your basic data structures as a prereq (stack/queue/deque/vector/hash table/self-balancing search tree, then using those primitives to compose graphs etc).

My advice for people who wanted to prep for these interviews originally used to be to read through some books that prep you for algorithm competitions (e.g. ICPC, IOI, GCJ), but I find that to be a bit overkill and not as efficient a use of time (although some of these books do a much better job of explaining things than any of these interview prep books I've gone through). Today the advice I'd give is get a book like 'Elements of Programming Interviews' in the language you plan on using and a leetcode subscription and just get down to learning about a data structure/algorithm/problem solving paradigm and then solving a bunch of questions that fit that technique.

If you really want to go with the overkill approach, I'd recommend a book like Competitive Programming 3: https://cpbook.net/

I mean, are you still writing any code? If not then those questions will look pretty damn difficult, as their objective is to filter for people that know how to write code (it's a high precision, lower recall filter, though). As an engineering manager you're probably not really writing any code on a regular basis. It's the same for expecienced managers in a BigCoolKnownCorp that I work for, I think they would have problems with an entry level whiteboarding code question.
Correct - I don't write code 100% of my time but I do code reviews on daily basis, involved in architecture, design of new feature; implementing a side project using swift, xcode,java for personal finance app. But still I feel so clueless when I see these questions on leetcode or similar sites.
It's a different skill set. Even as an IC, this requires hundreds of hours of practice to get to an adequate level.
Do you not value the fundamental tenets of CS ? Is it beneath you to learn them ?
Keep in mind that even if you value them you'll eventually forget them given enough time in the ranks of the managers.
I won't. That's like saying Jeff Dean has forgotten Big O or how hash maps work.
Only thing those questions show is how irrational the software engineering companies have became in the USA. This does not bode well for their futures as well.

As an engineer who implemented/architected SaaS applications, I cannot take these questions seriously at all and I genuinely refuse to work for companies that ask leetcode.

Do these questions help me to find good/above average Junior Engineers? No. Do these questions help me to find good/above average Senior Engineers? No. Do these questions help me to find good/above average Managers? No. Do these questions help me filter people who cannot memorize algorithms/interview questions or spend enough time on them? Yes.

So where is the logical connection between leetcode problems and finding good/above average employees? As far as I can see there is none.

There is literally almost no connection between a candidate being capable of solving leetcode and being a good software engineer that is capable of controlling/reducing complexity of the engineered applications and working well with other team members.

More rational approach would be asking people architectural questions, even at the Junior level. I expect a good junior engineer would have already implement a small scale system at least as an final year thesis project, so they should be capable of handling questions related to engineering/architectural design.

As I understand it, manager positions a tFAANG require some amount of leetcode as they want people who are technical (and they define technical as being able to do leetcode). Not sure how much they weigh that portion of the interview. That said, leetcode takes practice and is not an innate skill for the vast majority of people. I don't mean practice as in "an hour here and there" but more like "4 hours a day for two months." There's a reason people call it grinding leetcode.