I can’t believe I read this whole thing. You took the victim mentality and are blaming the industry for your failure. I’m the first to admit that recruiting and hiring processes need improvement, and a lot of companies have terrible processes. However, you listed a bunch of companies that in many ways actually have problems that are going to have tremendous time and space constraints when you try to process the level of data they have. It sounds to me that you are more of a programmer than an engineer given the lack of basic knowledge in important algorithms. Maybe try looking for jobs that are just looking for butt in seat programmers that can churn out code. Engineers should know algorithms down cold, so if you want that job you should buckle down, crack open a book and learn the things you suck at until you can recite it from memory without needing to reload it every time like a late night cram session in college.