+ 1
This is an open question.But i will still try to answer. There is two form basic and advance java. Basic is just some normal data structures while advance include stack, queues , dynamic programming algo .
Practising is the only way but if u want to practice topic wise there is hackerrank,hackerearth, interview bit and many more..websites to help you



