Yo me ofrezco a ayudar con las dudas si es que las hay.
Si lo que queréis es mejorar vuestras skills más que tutoriales o cursos soporíferos os recomiendo algo en plan Hackerrank que tiene ejercicios sueltos a tutiplén de todos los niveles (yo me preparaba las entrevistas tochas ahí).
No obstante Java se usa sobre todo para OOP y por tanto deberías saber al menos lo básico sobre design patterns, conceptos como el polimorfismo, encapsulación, herencias, interfaces o clases abstractas. Eso es el ABC si lo que pretendes algún día es trabajar de eso.
Luego por otro lado está la vertiente de optimización y algorítmica, que tira más de técnicas específicas aplicadas a un tipo concreto de problemática, como bactracking, dinámica y greedy. Esto está bien saberlo siempre para evitar los temidos for anidados y las complejidades n-aticas imnecesarias, pero fuera del embedded programming no se hasta que punto tendra aplicación.
Cosas como HTML y CSS no son lenguajes de programación como tales sino marcaje. Si lo que quieres hacer es Frontend lo tendrás que combinar con js y algún framework como angular o react.
En fin, me callo ya, pero eso, que si puedo echar una mano lo haré.