For five years I have been working in the field of telecommunications. Java + Oracle stack in system working under heavy load with maximum stability.
Since the first year of work I have been teaching in the company's training center, and last year I have also been directly mentoring students who want to enter IT.
I believe that the only correct way to gain knowledge is to have a minimum of theory, a maximum of practice, on which you can stuff the bumps, but at the same time to consolidate this knowledge with maximum efficiency.
I also believe that all the answers can be found in Google, but it's very difficult to objectively analyze your code according to the industry standard, that's what I can help you with: you throw me the code, and I carry it to ashes, explaining why this code couldn't be commited and especially released in production. If you don't have the code, no problem, I provide a set of tasks where you can practice Java Core, Spring, SQL.
There are several training options.
It will hurt, yes, but you'll be happy with the final result!