I don't remember how to balance a damn binary search tree, and that's perfectly OK

I hate anything involving text book answers, like what is encapsulation. In order to understand encapsulation you should present a poorly designed class and ask them how to encapsulate it. I never agreed with the algorithmic interview process, I have studied it a bit and honestly thats all I needed, a little bit of studying algorithms. I learned about how to think about efficiency when programming as well as not wasting resources, but I don't give a shit that I cant remember how to implement a merge sort because i will never implement one, I only care that I understand its logic. Isn't that the point of learning algorithms? to understand that there is a way to improve performance? its not about implementing a sort algorithm but understanding that in certain situations you would rather use a merge sort over a quick sort. The interviews should be based on the fact that students understand the algoirthms but why does it matter if they can implement them or not? its just not practical. I agree with OP and honestly I just refuse to spend months self teaching myself algorithms to get my foot in the door with a big 4 employer and then never use what I 'memorized'/'learned', even though I have 1 year of proven programming experience with a fortune 500 whose hardest interview question was what is encapsulation. I used encapsulation daily, and thats why I was asked what it was, they didn't care to ask me about BST because its not used on the job. You can argue all you want about how its a fundamental and how its the basis for all programming and critical thinking, but then how many developers out there can't implement from memory these algorithms yet are successful?

/r/cscareerquestions Thread