I have a 2-years experience as a Java developer in an IT company. How can I prepare myself for interviews? What other things can I do besides work?

Look for the interview questions on the internet, also give some mock tests online.

To prepare for interviews, you should follow these things:

1. Learn basic concepts with examples.

2. Implement each and every concept you are learning.

3. Understand the internal structures of important features like Collections.

4. Look for the interview questions on the internet, also give some mock tests online.

5. Learn Inheritance, polymorphism with each type of examples.

6. Learn every concept in-depth.

7. When learning anything, Always ask WHY? (e.g. Why Java provided this feature?).