Ask HN: What are your thoughts of Leetcode and HackerRank
1–10 of 14 posts
Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#2Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#3As for forgetting what you learn, yeah that's expected - if you don't use a skill it rots away.most industries don't require a rigorous knowledge of EVERY data structure and algorithm.Ideally companies wouldn't use them but if they don't too many low skilled applicants slip through the net and have to be eliminated as costlier stages of the hiring process
Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#4Hackerank Strengths
Tons, and I mean tons, of questions and organized into Tracks. Want to learn about how to use Regular Expressions/ Java/ SQL/ Algorithms/ Data Structures/ Python/Math? Each one of those topics and more have specific paths with specific sub topics. If you are using these sites to get interview prep, a lot of companies send their coding challenges through Hacker rank as apart of the interview process, so it’s good to get familiar. Expedia, GE, Goldman Sachs and Optiver to name a few You get almost all functionality (if not all) from the website for free. On Leetcode without the paid subscription, there are definite drawbacks. For instance you can’t always submit your solution right away, due to how they run the solution to rank against all other solutions. Almost all problem statements have examples of 1 or 2 test cases and answers and pretty thorough explanations of why the answer is the way it is. That’s much less common on Leetcode. Every question posted on Hackerrank has a verified solution on the “Editorial” tab. Not every Leetcode question has one ( Though you could easily get an answer on both platforms clicking on the “discussions” tab) Both sites have visible test cases to run your code with before submitting. Hackerrank does a pretty good job of making those visible ones the common cases, while Leetcode almost always uses an edge case for the visible test. Hackerrack has vim bindings! (If you’re into that) Leetcode Strengths
Something I love about Leetcode is that they have straight to the point problem statements. Hackerrank tends to have a bit lengthy introductions and drawn out scenarios that mask the actual task. For example: Hackerrank could be like “Sally loves chocolate but only wants to eat chocolate with the lowest amount of sodium. Given an array of sodium levels, return the lowest chocolate with lowest sodium” Leetcode equivalent would be “Given an array of integers, return the min element” Both Hackerrank and Leetcode compare the run time costs of your algorithm by timing the solution with test cases. However, once your solution has been approved, it lists it against all approved solutions in the same programming language and the percentage of how many solutions you beat out for speed. The testing environment is far superior. When you enter a custom test case it also runs the correct solution too so you can immediately know if your’s is right or wrong. On Hackerrank, running a custom test case only runs your solution. Another thing I love, for every problem, the coding interface requires only working with some predefined function signature. In Hackerrank, a lot of the time you have to handle the input/output, and it runs string matching to validate the answer which can get a little annoying Seriously… why I should print “YES” or “NO” when the quicker equivalent is just keeping a Boolean object? Leetcode has that fancy “Question was asked by X Company with Y% frequency”, that you can access with the subscription. I personally think that this tool isn’t that useful, and gives false impression that people can just memorize all those specific questions once they get an interview with X company. I personally like LeetCode better and, ultimately, it comes down to what you’re using it for.
Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#5The problem isn't unique to software engineering, though. So long as there are lucrative, exclusive jobs whose qualifications include passing an exam, there will be a massive test-prep industry. Princeton Review, Kaplan, etc., etc.
Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#6I recently took a first stage coding interview on HackerRank and something I like from it was the ability the company had to make the hackerrank environment work for what they were trying to do. This particular exam, instead of me having to balance a tree or traverse a graph, both skills in which most engineers don't need, Gave me a set of integration tests, an API spec, and the way they needed a server started in order for the integration tests to run. I thought this was actually a pretty cool way of having it setup on HackerRank's part, as it was a coding test that actually quantified my ability at a skill that you would need in the role I was applying for.
Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#7Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#8Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#9Re: Ask HN: What are your thoughts of Leetcode and HackerRank
#10As a hiring manager whose teams are mostly building CRUD applications, I ignore them entirely. Algorithms skills have little bearing on whether someone can architect maintainable and scalable apps, and people who are excited by those sorts of challenges will probably be bored and frustrated doing this work.
While I believe that interviews based around testing these skills in isolation are not ideal, I think it is a bit too naive to say that these skills aren't related. Especially scaling by it's nature requires knowing what approach is the best based on the employed algorithms themselves.
Also anecdotally having worked with people focused on the skills you mentioned, it really is a drag having to walk them through even relatively easy pieces of code with some algorithm not offloaded to a library, time and time again, and always having to have some other person work on whatever problem involves more than glueing together some components based on "best practices" etc.