Cannot state enough that LeetCode is your friend here. LeetCode Premium is definitely worth it if you can afford it.

Books

  • Cracking the Code Interview by Gayle Laakmann McDowell

Trees

Strings

Arrays

Dynamic programming

Sorting

Misc