Well, previously people have spent countless hours on routines.
Nowadays the biggest blocker for progress in the companies are (the lack of) well defined strategy and good planing. Companies pay money to retain the talent that they would need right after they figure out what's the priority right now.
Well, there's not a lot any crawler will be able to do if a website is gated with aggressive bot detection e.g. Puppeteer via a proxy will similar problems. Even if a bypass is found, it could break tomorrow. I've rarely had support messages about this, but most of them were resolved by adding IP addresses or user-agent/header strings to an allow list, or turning down how aggressive the bot detection is. Checkbot is more for crawling sites you have control over so there's more options here.
It is worrying what this means for the future for web crawlers in general though if most sites end up being gated to all bots that aren't from major search engines.
How cool!
I didn’t expect it will end up with ZK proofs that I was curious about for a long time. (After reading it I still don’t quite get the details of how they are working tho)
I consider myself an autodidact, but over the years learning became so hard mentally. Feels like my attention span shortened and I’m unable to sit on some problem for long
Also I feel like everyone around went through the more fulfilled kinds of learnings and know subjects in depth, while I was just learning what I needed.
In the old days, almost everyone in computing was a fast, effective problem solver. Back then, there was no money in computing, and often less money than other intellectual careers, so one only entered the field for the joy of it.
Fast forward, and now there is money in this field. And people who even dislike learning, or need guided learning, or even hate computing, are in the field. Many in the field just want a paycheck.
This is fine of course, one must eat, but this is why so many in the field today, think leaning a new language, or piece of software is some monumental task. After all, without guided learning, or without great frustration, it is for them! They cannot simply pick something up, computing related, quickly.
And to be fair, I've tried to hire, and there are innumerable candidates that literally have no idea how computers work. EG, in the old days, people would hack left right and center, spend their free time hacking, not to make their resume look better, or to gain experience, but because it was a joy and fun.
Now, that's harder to fine in a candidate, and there is no way to easily tell from a resume which manner of beast is before you.
So it's not you, it is the world that has changed. It just is, as it is now.
That's the thing I was struggling with, I can solve many of problems for the avg company – but I don't know how to solve a leetcode problem. I bet there aren't as many companies solving the complex problems on a scale.
But if we look from the perspective of the company – maybe it's just an filter to get someone very dedicated and nerdy about programming. Less churn, less questions.
I have a controversial, philosophical explanation why that is:
Leet code is useless in the real world, everybody knows it. But one would find that people that are able to sit down and learn something useless and stupid only because their boss asked it makes for better employees.
The modern corporate world does not like free thinkers, if not within easily controllable parameters.
The solution for the ones that have better to do that to memorize dumb quizzes for weeks, only to get paid to write basic React components all day, is to go work for yourself, become a consultant, or move to another career.
I half agree. I know people who have a natural curiosity of algos & DS - most predictably, people who did algo/ds competitions/competitive programming. To them, leetcode is easy shit, and just naturally so. E.g. I had a group of friends who would ace Advent of Code every year while I muddled through (and always get stuck on day 7 or 10).
So I think leetcode interviews get both those groups - the ones you mentioned, who work hard and study (and thus demonstrate good qualities of being employees), _or_ those who are so good at this stuff that leetcode won't even make them sweat.
I don't think that's controversial at all - maybe only in the sense that people generally don't like hearing it, but I'm sure that anyone who has ever worked in a corporate environment knows this.
Well the vast majority of casual HN readers aren't actual bonafide geniuses nor are they super hard working. So of course they don't want to consider it and so these posts keep getting voted up.
I believe it is simply an efficient way to discriminate applicants based on their age: a fresh school graduate in his/her twenties is the one who is more likely to solve LeetCode like algorithms than a senior developer in his 40s who has a respectable knowledge and insight on how software should be done, deployed and run.
Usually the issues companies throw at their applicants aren't that difficult to solve. Every dev should know how to split data into structures you can work with.
Google asked me a question… I could solve it in O(n²) but not in O(n).
After, with calm, talking about it with a friend who is a professor at university and has a phd in mathematics, he reflected that since my problem only used positive numbers, I could have exploited a certain property and simplify my algorithm.
So in the end, if you're lucky and have faced that particular completely artificial problem before, you can do it.
Otherwise you need some calm to think, and you can't do that while there are two people harassing you because you named your variables with a name they don't like, and a clock is ticking.
In the end you're selecting for "has this person heard of this problem or a similar one before" and not "can this person think".
These kind of tests are rarely about seeing if an applicant can actually successfully solve the issue. It is about seeing how the applicant approaches a difficult problem.
Maybe google, amazon and whatnot see that differently but I would not personally wanna work there anyway.
Thank god I never had these interview questions at the companies I interviewed for, here in Germany. Most talks were simply a 30min chat with the actual developer there. Mostly about the job, what they do, and some of their current issues. Then they would ask me how I would tackle them.
Yup, can sign that. Never had a coding interview so far... It is all about sympathy and being knowledgable. Had the most success by being brutaly honest about not knowing certain technologies. But I also show a lot of interest once I do not know something.
It's roughly the same in France, aside from some startup bros who have been told leetcode and brainteasers are the way of unicorns. I think it's in part due to the higher trust we put on credentials like Eng degrees.
> it's just an filter to get someone very dedicated
Dedicated is a nice way of putting it.
The school system was funded by industrialists who needed well behaved and obedient workers. Academic and Leetcode problems which exist in a vacuum select for those who follows the rules. Tech companies don't actualy want people with a mind of their own.
I've asked non-leet code questions that aren't directly related to the work the candidate would be doing. It's usually a smallish self-contained problem, solvable in less than a dozen lines, in about 5 to 20 minutes. What I like about it, is that it's novel enough, that I get to see the candidate think through the problem. I get a glimpse into their problem solving capability.
It's not a perfect proxy for how well they'd solve real user facing problems, but so far it has given me a decent indicator of their motivation/passion and apetite for problem solving. There's a dozen other, mostly non-coding questions in the interview, but this one has been the best predicator for me.
(The problem is closer to a more elaborate fizzbuzz with some math parts, than it is to a memorizable b-tree or other leet-code algorithm question)
The thing is that for problems that are mildly complex, it is rarely that it is solved by a single person. So getting a person to solve complex problem under interview conditions is totally unrealistic.
If they are really using this as a filter, they are really doing themselves a disservice.
The reason I've been told is, they already have a bunch of dedicated nerdy candidates, and use leetcode to pick one of them. For the future tasks it's just as good as picking names from a hat, but that's what gets used. Of course if you're not Google and not have that bunch of candidates to start with, the leetcode will be a bullet heading for your leg, but reality tells not everybody sees it.