To properly prepare for these interviews you have to invest quite a bit of time. At this point in my life (late 20s), my time is one of my most valuable resources. So, the last thing I want to do is spend that time effectively preparing for a data structures and algorithms exam. Each time I sit down to brush up on the details of Prim's algorithm or the exact implementation of quicksort, my eyes glaze over and I start thinking about how I'd much rather be building or tinkering with something. So that's what I end up doing. The interesting thing is that actually building stuff is good enough to get you an interview, and, even though you've proven that you can actually code, you get funneled through the same inane interview process.<p>And here's the kicker: none of this truly indicates if you have an exceptional software developer on your hands or not. I've seen (read: personally interviewed) people who've aced the current, en vogue style of questioning who turned out to be awful developers and co-workers. Meanwhile, I know several excellent engineers who were rejected. Everyone knows the process only kind of works.<p>SV loves to complain about a talent shortage. And maybe there are pipeline problems that need to be addressed. However, why not invest more time in finding a process that's more effective with the talent that's already out there? It always seemed like an obvious place to start, IMO.