I recently got an offer for a Senior Java developer. While the interview rounds were mostly language agnostic, I know the basics of Java and can debug a Java program quite easily.
Not sure how much of the language depth should be adequate for a senior engineer. I've been a C++ engineer for sometime now.
How do I learn Java fast and efficiently? I'm aware that most of the learning will occur in the job itself, but I want the onboarding (a week away) to be as smooth as possible.
Hey, the way I learnt Java was to build out projects back in the day. I personally think most learning happens just via practice, regardless of any of the books / youtube videos I have seen.
An alternative: Instead of figuring out what project to build, simply open up Leetcode, and pick easy questions, and start solving them to learn the language. Don't worry about solving the question itself, you can take a peek at the solution, and solve it using Java on an IDE, like IntelliJ.
You can pull out the extra stops to further learn the language (Rashmi's tips are great here), but I actually think you should just relax and not worry about it before joining. Here's why:
If you really do want to come into the new job prepared, I recommend this thread (it also covers non-technical action items): "What's the best way to prepare 'before' joining the next team/company?"
Once you start the job, you can use the advice here to ramp up quickly on the codebase: "Learning a code-base in a new language - How to do it?"