4 ms·
The short answer is, No. > Do I suck at those questions because I never worked with something algorithmically hard? You probably have done some algorithmicall
by squeegee_scream 3y ago
The short answer is, No.
> Do I suck at those questions because I never worked with something algorithmically hard?
You probably have done some algorithmically complicated things in your 14 year career. Of course someone has always done something _more_ complicated but whatever.
> Do I suck at them, simply because I'm not used to solving them?
Yes. LeetCode can be compared to the SAT or ACT in the United States. It's a standardized test where you can improve your score simply by knowing some tricks and how the test works.
> Are they even good evaluation tools to understand if the candidate is suitable for the work he/she is going to perform?
Absolutely not, unless the LeetCode questions are somehow directly related to their day-to-day job, which is in the small minority.
> do you think that being able to solve LeetCode/HackerRank questions (not brute forcing them, but rather understanding the underlying algorithm) help you become a better developer (rather than better at solving these types of questions), or are they, mostly, useless and it's better to build and ship software?
I think understanding the underlying algorithms can help one become a better software engineer. Mostly things about data structures focused on when to use one over the other, some efficient sorting algorithms, that sort. Not an obsession with Big O notation, questions with very specific algorithmic solutions such as "given a list of integers from 1-100, in a random order, and one is missing, how would you find the missing number", and the like.
But yes it's always best to build and ship software. That's supposed to be the point of learning these things in the first place. Shipping trumps everything else, always.