I don't know what "hard leetcodes" look like... even in my teens I failed to solve _some_ problems.
But what I can tell you is that I switched jobs less than a year ago, I was given as part of the interview process a link to solve 3 problems online in 1h30m and solved them all in 1h. Now, were they rated "hard"? I don't know, honestly.
Also, 2years ago (I think) I participated in Amazon TechO(n) challenge... I was 1st after the weekend, but couldn't work on it during the week (no time/ kids) so by Friday my solution ended up 5th or 6th I think.
[ninja edit] No, I'm not faster, I'm a lot slower. In fact I probably lost most of my speed in the first few years when I stopped competing... but it's not a linear function, at some point, you don't lose any more speed; and just a quick refresher every now and then can boost your abilities back to fairly high levels. And most interview problems are not really competition problems, they're fairly basic.
And no, I don't write algorithms from scratch currently, the company I work for might actually be characterized as "boring" by many people("robotic process automation" - look it up). But I've lived to learn that when there's lots of money involved, there's also lots of interesting problems to solve - one just needs to find them.
I can say you are def an exception, most ppl get slower at these in their 40's than in their 20's.
You seem to have gotten faster. For most people this knowledge tends to atrophy as they age. Maybe you are lucky enough to work at job that requires you to write algorithms from scratch ( embedded engg?).
What is your theory as to why that homebrew guy wasn't able to solve simple recursion problem ?
Either bad interviewer ( focused on syntax rather than problem-solving skills), bad day, or simply this:
> people would do amazing stuff despite failing basic algorithmic tasks. That's what makes hiring decisions so hard.)
It's important to note that this doesn't mean algorithm tests are inherently broken. People who can't solve _basic_ algorithmic problems tend to be weak employees. Rejecting them screws your recall (a few would be amazing if hired) but tends to improve the precision a lot, so the trade-off is often worth it.
Re that example, I was just using this famous tweet.
https://twitter.com/mxcl/status/608682016205344768
You don't get a job solving simple recursion problems. You have to solve hard leetcodes.