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!