- Practicing problems
- Java (my main language)
- Low-level computing.
Reddit has a great page with a free good collection of interview problems to solve:
Jenkov Java Tutorials
Cracking the code interview book (it's a good read but i would then practice on leetcode)
Best practices for scaling web apps
Scalability Rules Book