Tech companies conduct interviews like 5-year-olds play soccer - everyone chasing the same prize with the same myopic strategy. And it's not that it can't be done better, but that everyone is afraid to take any _risk_ in order to improve it (if we don't chase the ball, someone else will get it and we won't!). No matter how broken the current system gets, we muddle through somehow and chalk it up to necessity (how else would you find good engineers?). Then we try to forget the whole thing even happened until we end up looking for a job again.
But the bottom line is that developers are in such high demand that you'll get a job somewhere. After you work there a couple of years, your experience will be worth more than your degree. (Though the degree is still valuable, if you learned the theory/concepts well)
Edit: Thanks for the response - I'm enjoying learning about data structures and advanced things with data structs
I'd highly recommend "cracking the coding interview", and make sure you can handle even the moderate to difficult problems in about an hour at a whiteboard. Before you go to that, though, go back to your data structures and algorithms book and make sure you can do basic list, stack, queue, binary tree, hash, and binary operations. In other words, you should be able to build and print a linked list or binary search tree without much thought - if you can't do this, there's no way you'll be able to solve unanticipated whiteboard problems that use linked lists, trees, or other core data structures in a more elaborate way.
Your experience will be worth more than your degree, eventually, but you probably will still need to pass the technical interview/exams when you change jobs, even at more senior technical levels.
I'm not saying this is good, just saying this is how it is.
That said, I would expect an interview at Google or Amazon to be tougher. Given their name recognition, they can afford to be choosy. The vast majority of companies cannot.
I wouldn't expect a very genre specific question (like graphics) unless they provided enough info that you could figure it out from first principles.
And sometimes they just wanna make sure you can think it through, even if you don't find the most optimal solution. A lot of devs simply give up with an "I don't know", without indicating that they have any ideas on how they'd figure it out.