What skills should a Java Developer posses? What kinds of advanced Java interview questions should you ask to find the best possible candidates? Whatever side of the recruitment process you’re on, the experience of two Delivery Managers from Pretius will help you find your footing.
Looking for a new job is always stressful, and the same can be said about recruiting. After all, it’s not an easy task to successfully assess someone’s skills during one conversation. It’s true for most positions, including Java Developers. In a way, it’s even harder in this case because it’s easy to forget that coding and tech stacks aren’t everything.
There are multiple threads to follow during such a conversation – the ideal candidate also should have the right mindset, and soft skills, not to mention sharing the company’s values. That’s a lot of boxes to check for a 30-60 minute interview.
That is why no matter which side of the conversation you’re on, you need to prepare yourself. If you learn how Java Developer job interviews are conducted, and what questions should be asked – you’ll have a much easier time. We can help you do that – as experienced Delivery Managers, we interviewed more than a few candidates, and many of them are now part of our teams.
Core Java interview questions – opening the conversation
Before you move on to the specifics and ask about experience, competencies, and technologies, it’s a good idea to build some rapport with the candidate and ease their stress.
A good idea is to ask them whether you can adress each other by first names – it instantly changes the tone of the conversation and makes them feel more comfortable. You can also ask about something from their life, such as their home city, or even the weather.
You have to remember that one of the objectives of the interview – maybe even the most important one, – is to get to know the person. You have to see their character, get an insight into how they communicate and work with others. Even something as innocent and seemingly unimportant as the sense of humor should be verified. You’re looking for someone who’ll spend a lot of time with your team – so try to make sure they’ll get along fine.
You should also use this part of the conversation to explain the details of the recruitment process, as well as the company, team, and project you’re hiring for. Answer any questions the candidate may have (make sure to let them know they can ask them), and then ask them to tell you about themselves.
Examples of good conversation openers:
- Can we address each other by first names?
- How is your day so far?
- Ah, I see you’re from London – I’ve lived there for a while. How do you like the city?
Java programming language and job experience
Of course, technology is a topic you can’t avoid during a Java Developer job interview. You have to see what the candidate knows about the tech stack they’ll potentially work with. You also have to verify their previous work experience, proficiency with the Java development kit and Java virtual machine.
One important thing to note here is that you can learn useful details if you dig deeper and ask specific questions about the technology’s implementation in the projects and Java programs they’ve previously worked on. Refer to their story, experience, and real-world examples.
For example, instead of asking “Do you know how to use HashSet collections?”, say something like “You mentioned HashSet collections – how did you use them in your last project?”. This way, you not only learn what the candidate knows, but also verify their sincerity, which is equally important. If they lied about their experience, you’ll expose these lies very easily.
Another tip we can offer here is that, in our experience, often it’s actually better to leave the most technical part of the interview to one of your Senior Java Devs or a TPL (Technical Project Leader). In many cases, they have more in-depth, and actual knowledge about the tech, or its specific implementation in the project we’re recruiting for.
Examples of Java-related interview questions:
- Basics – can you explain the terms: string class, string pool and string object?
- What will be the result of running the following code in a Java program? (show a code fragment)
- Method overriding – what can you can you override by creating a servlet that inherits from HttpServlet?
- How much search complexity does the binary tree guarantee?
- How is LinkedList different from ArrayList, and when should it be used?
- Can an abstract class implement an interface? Do all interface methods have to be implemented in such a class?
- What are the main assumptions of the object-oriented programming paradigm?
- What is a critical section, how is it used in Java; what can the critical section be based on (object / class installation)?
- How does static class loading differ from dynamic class loading? When do you use each of these approaches?
Technologies other than Java
Of course, despite the popularity of Java Runtime Environment, a project will rarely be based solely on that one technology. You’ll also want to check what your candidate knows about other frameworks and languages. In this case, the exact details will usually depend on your company’s technological stack – or the requirements of the project specified by the client – so there’s no point in listing them here.
Another important detail to verify is the knowledge of software development methodologies, such as Waterfall and Agile. After all, coding skills aren’t everything – competent developers also have to know how to apply them for the good of the project and their team.
Finally, there’s also the question of the candidate’s approach to different areas and types of work – development, maintenance, front end, back end, and so on. Different people value different types of challenges in their professional life and they won’t be able to reach their top productivity if they constantly have to deal with something they dislike.
You can – and should – also ask the candidate about skills they want to develop in the future. What kinds of technologies do they want to focus on? What would they like to focus on over the next year? If the answers are satisfactory, make sure to mention how the company can help them accomplish their goals: training courses, certificates, conferences, guilds, and so on.
Java interview questions – other tech and methodologies:
- Have you worked in the Agile methodology?
- What do you prefer – Waterfall or Agile? Why?
- How was Scrum used in the project you mentioned?
- What would you like to learn over the next 12 months?
Soft skills and languages
Most Pretius projects aren’t solo endeavors, so people we hire usually have to know how to cooperate with others. The tone and course of the entire interview will help you evaluate how good of a team player the candidate is, but you can also ask some additional questions to focus on specific things and capabilities.
For example, you can ask the potential employee what sort of things they like and dislike in their teammates or place of work the most. You can also try to learn how they cooperated with people in different roles – such as software architects, testers, business analysts, or even product managers or product owners. Development isn’t everything, other factors come into play
It’s also worth remembering that we live in a global environment, so the ability to speak foreign languages is very valuable. Not just English either, but also French, German, Spanish, Italian, or even Chinese.
Examples of interview questions – soft skills:
- What specialists other than developers have you worked with?
- What foreign languages do you know?
- Have you worked in a multinational environment? Were there any problems?
- Do you have – or plan to acquire – any developer certificates?
- Do you go to conferences? Which ones? Do you take an active role during such events, or are you just a listener?
The best developer? One who fits your team perfectly
There’s no real way to write a complete guide for a Java Developer job interview, or a full list of advanced Java interview questions because every conversation and company is a little bit different. However, one thing almost never changes – the best employee for your team is usually the person who, on a more personal level, fits your company culture and team the best.
That’s not to say that knowledge about the Java language and other technical skills aren’t important, mind you – they are. But small shortcomings in these areas can often be fixed during the first weeks and months of work. In fact, in our experience, a person with some gaps in knowledge, but one who’s willing to learn, is usually better than someone who seems too qualified for a given position.
However, things such as a different approach to work ethics, propensity to create communication problems, or damaging the atmosphere in the team are usually much more problematic – and also much harder to root out. These are the things you should really pay attention to.
Keep this in mind during your recruitments, and don’t focus too much on frameworks and technical aspects. Get to know the candidate – it’ll pay off.
Do you need Java developers?
Pretius is a company with a great deal of experience in Java-based software development. We’ve successfully developed complex systems for big corporations in various industries. If you’re interested in cooperating with Java development experts, write to us at firstname.lastname@example.org (or use the contact form below). We’ll be sure to get back to you in 48 hours.