6 ms·
I have to thank LeetCode for one thing: it made me realise that, 1) preparing for an interview doing LeetCode puzzles two weeks before is like studying for an
by sdevonoes 5y ago
I have to thank LeetCode for one thing: it made me realise that,
1) preparing for an interview doing LeetCode puzzles two weeks before is like studying for an exam the day before. It's worthless. If you haven't been studying the subject for months (i.e., if you haven't been working as a software engineer for years), then nothing will make you pass the exam. And even if you pass the exam (because, you were lucky and the questions in the exam were the exact bits you just studied in the week before), you don't really know the subject: you'll forget what you studied the following week.
2) I can successfully avoid companies that require LeetCode interviews. I thought I would be out of the market if I rejected such companies, but it turns out that's false! In my limited experience, around 50% of companies out there do not require LeetCode-kind-of interviews.
Don't get me wrong, I do enjoy solving programming puzzles but only on my free time, not because a company is telling me to do so.
- andyxor 5y ago>if you haven't been working as a software engineer for years i would correct this to "if you haven't been switching software engineering jobs every few years", which forces you to grind leetcode for months every time. It's always cute to see people saying nonchalantly "oh, i didn't have to do LC at all to get this (FAANG) job", and it turns out they went through the grind many times before, starting from annual internship hunts in college or competing in ICPC for years.
- josephg 5y ago> i would correct this to "if you haven't been switching software engineering jobs every few years", which forces you to grind leetcode for months every time. I know how obnoxious this is, but there are engineers out there (hi!) who can pass leetcode style coding interviews without studying because we love this stuff. I love algorithms and data structures. I'll happily discuss the relative advantages and disadvantages of vectors, linked lists, b-trees, etc for different tasks in a job interview. Or over dinner, or at the beach, or any and every time people let me get away with it. I've spent the last month or two optimising CRDTs, and I've used a bunch of data structure changes to improve performance in one of our benchmarks by 4500x (!) The goal of the interview isn't to "force you to grind leetcode for months". They're trying to filter out candidates who would need to grind leetcode in order to explain how a hash table works. They're looking for engineers like me, who graduate at the top 15% or so CS classes. Algorithm and data structure questions are asked because lots of programmers never touch this stuff in their day jobs. The people who actually know this blindfolded are in demand because we're useful on large projects with novel systems architecture. Thankfully, there's lots of other jobs out there where all they're looking for is a warm seat, closed jira tickets and happy customers. I go crazy doing jobs like that - so I'm glad lots of folks are around to do that work. If everyone was like me, we'd have 18 different web frameworks for every working website. I sometimes wish we used two different names for our profession in the same spirit as "electrician" and "electrical engineer" being different roles. Then we might all waste less time applying for the wrong kinds of jobs.
- abhijat 5y agoSomewhat related to your experience, does anyone else feel that the present interviewing scene is a lot more focused on algorithms rather than data structures? Many leetcode questions rely on very specific tricks like using a fast and a slow pointer, or two pointers at opposite ends of a sequence. So one might know about many different types of self balancing trees and which ones are best to implement a database index on disk, but these things do not come up very often in leetcode style interviews, although these are quite real problems in the realm of algorithms and data structures. To be fair though I do not know how you can test this kind of knowledge in an interview.
- villasv 5y ago> They're trying to filter out candidates who would need to grind leetcode in order to explain how a hash table works. This is obviously a generalization rounded down. Most of my whiteboard interviews were fine, like you’re saying, but some did ask ludicrous puzzles that required specific knowledge of existing algorithms like “largest sum consecutive array”.
- zozbot234 5y agoBut you're not passing "without grinding", you're just someone who loves the grind. Good for you I suppose but it's nonetheless very far removed from the skills one would actually find worthwhile even on the highly non-trivial, greenfield projects you're talking about (which BTW are quite rare and not what most people are working on). There's a lot more to CS and software/system design than just this l33tcode stuff.
- josephg 5y agoI don't love leetcode. I've spent maybe 10 minutes on the site in my entire life, because I was curious. I learned all this stuff in CS classes 15 years ago, and I've expanded my knowledge since then by playing with this stuff for work and pleasure. Maybe thats what you're calling "loving the grind"? Its not a grind for me, in the same way playing a video game I love, or reading a great book isn't a grind. Its not a grind because algorithms are beautiful. I know and agree that algorithms knowledge is rarely useful in practice. Most professional programming work is in feature factories. But people who know algorithms well can usually also figure out react. The reverse isn't true. > There's a lot more to CS and software/system design than just this l33tcode stuff. I agree, though I'm curious what else is on your list? My favorite interview question was: "Here's some code we wrote with bugs and failing test cases. You have 30 minutes. See how many of the bugs you can find and fix." It takes some work to write a question like that, but its so worth it. I wish more companies invested the time into assessments like that. > it's nonetheless very far removed from the skills one would actually find worthwhile I literally found these skills worthwhile in my job just last week. They're usually not useful at small startups or at most product companies. But the field of programming is bigger than the set of things you and your colleagues work on.
- b20000 5y agobeing a software engineer for years and knowing your algorithms and data structures does not guarantee you pass leetcode…
- gentleman11 5y agoHow do you find those companies ahead of time?
- bialpio 5y agoI'm looking at it like this: if I have to _prepare_ for an interview after being in the industry for almost 6 years, then the interview is testing different skills than what I'm using in my day to day job. Edit: clarifying a bit: in an ideal situation, my preparation for the interview would involve going over all the work projects and reviewing how to talk about them.
- muzani 5y agoI see interviews a little like pitching a startup or talking about a topic on stage. It's rehearsed, lime juggling. You'll do terribly for any significant role without some practice. God knows I have to rehearse the "tell me about yourself" question every time, and switch it a little based on the interviewer. That said, more than a week of preparation is too much.
- gaws 5y ago> I can successfully avoid companies that require LeetCode interviews. I thought I would be out of the market if I rejected such companies, but it turns out that's false! In my limited experience, around 50% of companies out there do not require LeetCode-kind-of interviews. How do you know this detailed information ahead of time? It's not a surprise companies say they'll do technical questions, but those specific to LeetCode? They don't share that.
- nowherebeen 5y agoHonestly, at this point, companies should just list it in the job description to save everyone's time.
- muzani 5y agohttps://glassdoor.com https://glassdoor.com
- sdevonoes 5y ago> How do you know this detailed information ahead of time? It's not a surprise companies say they'll do technical questions, but those specific to LeetCode? They don't share that. Not ahead of time. When one receives an offer from company X, you just ask: "you do LeetCode?"
- gaws 5y agoYou need to have done the interview to get the offer.