5 ms·
Weeks? There are stories on Blind and the LC forums of people taking upwards of a year with pretty hefty real-life constraints. And why wouldn't they, given the
by brandall10 4y ago
Weeks? There are stories on Blind and the LC forums of people taking upwards of a year with pretty hefty real-life constraints. And why wouldn't they, given the opportunity to essentially double comp over standard industry jobs? That's a life changing opportunity if you're in a somewhat unfortunate life situation.
That it's a bit of a sacrifice is the point. If you're naturally smart enough this stuff comes quickly, great. If not, you're going to have to work for it - that requires discipline most people don't have.
Better put, smart and/or determined to succeed.
- dekhn 4y agoTook me about 5 years to get even modestly proficient with medium-level leetcode questions. I'm a slow learner.
- redisman 4y agoI never did a CS degree so much of the learning was decently useful but it also took me years
- dekhn 4y agoI only took 1 CS class in college- Cybernetics with Huffman. I failed! So clearly, that was a strong predictor for my future 12 year career at google (where I failed to do quicksort, or virtual ants problems). Nowadays I take a lot of extra time to come up with questions that aren't in leetcode, are easier than leetcode, and give far more signal than any leetcode would, for anything except for a 10X Staff Engineer.
- cadr 4y agoCan you share what kind of things these are that give far more signal?
- dekhn 4y agoTo be honest? every programmer needs to be able to pass FizzBuzz. Beyond that, I add some more basic work around byte representations of data (I have 4 symbols... how many bits do I need to encode a symbol?). I will typpically also include one major bug in a piece of code and ask the user to identify it (with hints). I once interviewed a guy- a CTO at a biotech- and he wouldn't answer the question "I have a million DNA sequences and want to count the number of occurrences of each sequence" (could be hash table, could be any number of other solutions; he just balked and exited the interview). Only if the person can get all that right would I even consider asking something more complicated.
- cadr 4y agoI agree liking to ask simpler stuff first. But what about this more complicated stuff? My problem is that when we talk about stuff having more "signal" - how are we determining if those questions are giving us more signal?
- dekhn 4y agoMy question is fairly open and allows me to continue asking significantly more complicated questions. So far, nobody has (for example) asked enough clarifying questions to determine that a bloom counting filter could potentially solve the problem- most people just store ASCII string keys in a hash table, which wastes tons of memory and requires a lookup for every string. So usually I end up after 45 minutes finding that the candidate has more or less tapped themselves out at "make a hash table of string keys, use it to store counts" (OK for a very junior programmer) or "make a perfect minimal hash" (I help them get there if they don't know what those are) or "use a probabilistic counting filter". This is about all I need to make a determination.
- cadr 4y agoBut have you had a chance to look back and see if those questions worked out? Like, are they a good predictor for how the person actually performed in the job?
- Bayko 4y agoExactly. I honestly think no one is entitled more than software developers. Not even that chick from Mean Girls. Hell which other similarly paying field can you double compensation in like three or four months. Six months if you are slow or have a demanding life. Lawyers? Hahahaha. Doctor? Hahahaha. At least with LC there is an end goal. Those 75 questions. Or well I think 150 questions. I hate LC personally but also am able to recognize that it is a silver platter handed to me. The article above mentions all the negatives. Ya bro who didn't know them?
- Apocryphon 4y agoAt least with those professions you have one test you pass, and maybe you retake it once every few years to renew your credentials. With Leetcode, you have to retake the test multiple times every few years when you change jobs for each company you apply to. Leetcode would be a lot more tolerable if it was administered more like the bar exam or like medical exams. Whatever happened to DRY?
- corrral 4y agoI'm quite certain that making people dread interviewing is part of the point. Else why keep making people who've already passed multiple times, do it again? First FAANG to start routinely letting people who've already passed a couple similar interviews at peer companies in without repeating the leetcode-hazing, then the other companies have to do it, too, now suddenly the rate-of-increase of software developer pay's even faster than it already is, which none of them want. Even having to pass such a test on a very aggressive set schedule—say, every 5 years—but only at those set times, would be better—for developers. Not for the companies hiring them.
- deckard1 4y agoyep. And you typically do change jobs every few years just to get a raise or promotion. Which means... Always. Be. Leetcoding. Do the bare minimum at your job and then do LC the rest of the time. Because your job is just your job, but your career is LC. These companies don't yet realize they are optimizing for mercenaries that have no loyalty to the code nor the company. On a slight tangent, some of the people over on Blind would sell their own mother for a tiny bump in TC. That mentality used to be limited to Wall St. or maybe Big 4 accounting firms, etc. But now it's the whole tech industry. I remember having a software job was a lot more fun, back around 2007ish. That culture is so foreign to me now.
- danaris 4y agoDid you, like, read my second sentence at all? Whether you realize it or not, you're advocating for keeping people who aren't already mid-to-upper-middle-class (among others) out of these kinds of tech companies. Anything that's designed to make you work hard extra, outside of work to learn separate skills just to pass interviews is guaranteed to make it disproportionately harder for people who are, for whatever reason, unable in practice to devote many hours of their free time to fairly complex technical studying. No matter how "disciplined" they are, people already working 80 hours/week just to put food on the table don't have the luxury to be doing that. No matter how "smart and/or determined to succeed" they are, people raising 2 kids by themselves would be irresponsible to be doing that. Now, maybe you think that kind of person should be denied an opportunity to join the super-1337 hackaz' club that is FAANG or whatever. Personally, I think that kind of classist gatekeeping is disgusting.
- visarga 4y ago> designed to make you work hard extra, outside of work to learn separate skills just to pass interviews Ah, you're talking about those programming jobs that never require thinking about algorithms?
- danaris 4y agoWhile I certainly wouldn't presume to claim that no programming jobs are remotely related to Leetcode—I'd be perfectly willing to believe that you, personally, have to engage mentally with "classic" algorithms on a daily basis—from everything I've read about them, I doubt very much that more than a minuscule fraction of programmers and other tech workers do anything on a day-to-day, or even month-to-month, basis that would be close enough to Leetcode that they could be considered similar skills. I've been working as a programmer—largely PHP, Java, Objective-C, and Swift—for over 20 years now, and never, in my work, have I been asked to invert a binary tree, reverse a singly-linked list, or any similarly contrived scenario. There's a huge difference between "thinking about algorithms" in the most general sense of that phrase (which means basically any programmer who does any of their own design work) and in the sense of the particular "algorithms" that we learned in CS classes and are featured in Leetcode problems.