7 votes

What do you think of LeetCode? Did anyone of you succeed thanks to it?

I've come across this website recently, and I'm genuinely wondering if it's really that useful for passing interviews.

For example, I think it can not replace a solid background in algorithms/data structures and maybe CS courses in general.

5 comments

  1. mose
    Link
    When I was learning programming, I spent a lot of time using a similar site (Codewars). It does help you flex a certain programming 'muscle,' figuring out how to solve a certain types of...

    When I was learning programming, I spent a lot of time using a similar site (Codewars). It does help you flex a certain programming 'muscle,' figuring out how to solve a certain types of programming problems efficiently and succinctly. Besides helping you strengthen this element of your thinking (and helping it come more naturally), the best thing I can say about these sites is that they show you how other people solved the problems and usually expose you to new methods/functionality of the language you're working in (e.g., standard library functions you may not have known existed).

    For those reasons specifically, I think these sites can be quite beneficial. But I absolutely do not think they are necessary to become a good programmer and the problems themselves are completely divorced from 99% of the work I do on a day to day basis.

    7 votes
  2. han2k
    Link
    Think of it as working out. Like others have said, leetcode may not have a whole lot to do with the problems you'll encounter in the industry, but it could be very useful in working your...

    Think of it as working out. Like others have said, leetcode may not have a whole lot to do with the problems you'll encounter in the industry, but it could be very useful in working your programming muscles. If you happen to be less than confident in some areas like for example recursion, you could also use leetcode to practice and become more comfortable.

    For passing interviews, I think it's still almost an absolute necessity if you wish to work at one of the prestigious (especially FAANG) companies. But tech is a big industry, and not all companies make you do leetcode style problems in their interviews. I personally don't aim to work at FAANG and I'd rather do something else I find more interesting with the time. It does mean that sometimes I bomb interviews and have to deal with interviewers treating me like a child, but I'm okay with the tradeoffs.

    7 votes
  3. stu2b50
    Link
    Is it useful for passing interviews? Absolutely. Leetcode style interviews are very common at all kinds of companies now. Really, this is more a symptom of the online application. Even small shops...

    Is it useful for passing interviews? Absolutely. Leetcode style interviews are very common at all kinds of companies now. Really, this is more a symptom of the online application. Even small shops can have thousands of applicants, and well known companies straight up have 20-40k applicants.

    Is it relevant to what you do at work? Not really. But it is 100% relevant to your technical interviews.

    6 votes
  4. joplin
    Link
    I'm not a fan. I've read through and even completed some of the problems. The problem descriptions are often incomprehensible, or worse, ambiguous. When I tried it I don't think there was a way to...

    I'm not a fan. I've read through and even completed some of the problems. The problem descriptions are often incomprehensible, or worse, ambiguous. When I tried it I don't think there was a way to see the data sets so if your program crashed, you didn't have a case that you could look at to see what was going wrong. You just had to examine your code, make a change and try again.

    Furthermore, all of the problems are in the context of doing things like text parsing of structured records with no errors. It's fine to constrain things for this sort of site, but it's not what I'm interested in for candidates applying to work in my group. My job involves close to 0% of that type of work.

    I have never asked a candidate about their LeetCode or noted that any candidate had solved problems on LeetCode. I couldn't care less for the purposes of hiring someone for a few reasons:

    1. As mentioned above, that's not the kind of work we do at my employer, so I don't have a reason to look at their scores on such tasks
    2. The site's design encourages writing code to complete very contrived tasks in a certain time frame with no concern for readability or maintainability. Again, that's fine for the site to do, but I have no interest in screening that type of code for applicants. Seeing that type of code coming from an applicant would make me assume that's the type of code they like to write, and would be a strike against them
    3. It's great to be able to solve problems, but I'm not convinced the contrived problems from these sites show any real world problem solving ability. They might, but I can't say for sure. It's hard to measure. So at the very least, it doesn't help in any way

    So I'd say, if you like doing those tasks, do them! Life is too short to spend time doing tasks we don't get something out of. Furthermore, if you like doing LeetCode tests, apply to companies that have jobs similar to those tests. For those types of jobs, these may be a great way to make yourself an attractive candidate. But if you're more interested in anything involving a human interacting with your program, I wouldn't waste your time (other than out of your own interest).

    4 votes
  5. Silbern
    Link
    To me, LeetCode isn't a replacement for a CS degree at all, and it doesn't really do a very good job of teaching you the concepts. What I find it most useful for is applying those concepts that...

    To me, LeetCode isn't a replacement for a CS degree at all, and it doesn't really do a very good job of teaching you the concepts. What I find it most useful for is applying those concepts that you've learned from your education, as it's rather abstract and sometimes hard to so otherwise. It also gives you a guided, easy metric to demonstrate to employers, which is super helpful.

    As to whether it directly helps you though, that entirely depends on your employer. In the US, a lot of tech companies like to employ these kinds of tests, because they typically correlate closely with what you may have learned in uni, and they apply more directly to the kinds of problems you may actually be solving in that company (knowing about big-O notation and understanding the tradeoffs between different algorithms at scale is really useful when you're potentially analyzing terabyte sized datasets).

    Lots of other places though, especially at small businesses and working for the government, don't use these tests much if at all. They care more about your direct practical experience, or formalized certifications, than about your abstract CS knowledge.

    So if you enjoy these types of problems, you're looking to strengthen your problem solving skills, or you know your potential employer likes it, then by all means, it will probably help you a fair amount. But if you don't enjoy them, don't feel obligated that you have to do them - lots of companies don't require it and at the end of the day, your knowledge and actual experiences with your programming knowledge reign supreme, along with all the usual soft skill stuff that comes with getting any job where you need to work with other people.

    3 votes