Books
If you have time, reading a good book is one of the best ways to get a deeper understanding of software engineering. This, in turn, can also help on the interviews, especially on the system design rounds.
Here are some books that I recommend:
Effective Java – the best book on Java, and I would recommend reading it even if you mostly use some other programming language.
Designing Data-Intensive Applications – a very good overview of the big distributed systems, and one of the best technical books I have ever read.
Clean Code – a classic book on writing good code.
Building Microservices – a good book on microservices (without any unnecessary hype around them) that also provides a good overview of the topics of security, testing, deployment, and others.
Design Patterns by Gang of Four – a classic book on design patterns. If you don't read all of it, make sure to at least know the following patterns: Singleton, Builder, Observer, Decorator, Facade.
Cracking the Coding Interview – I have read just several interesting chapters from here, but it is still a solid book about interview preparation.
Modern Operating Systems – this book provides a nice overview of the hardware, memory management, and other systems related concepts.
Learning PHP, MySQL & JavaScript – this book, which you can just skim in one evening, surprisingly provides a good overview of many important web concepts.
Coders at Work – a book of motivating interviews with great programmers.
Books are long and methodical – learning from them is different from any other way of learning. Don't miss out on this opportunity!