I would certainly advise "Practical Object-Oriented Design in Ruby" by Sandi Metz. I'm a beginner and it's really fleshed out a lot of programming concepts for me from a big-picture perspective. Its "Ruby" specific, but so much more than that.
Here is a link to the book's website:
I also recommend "Cracking the Coding Interview" - lots of good things in here.
Here is the Amazon page for the book:
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.