This presentation is a step by step guide to help recruiters find the right Java developer that would suit their needs. It lists out the points to be kept in mind while hiring as well as the key areas to focus during the interview for both senior and junior positions. There are a few sample questions to help you frame your own set of questions as well.
2. GENERAL CHECKS
① If the candidate has a blog, check the content and quality of discussions involved.
② If user is active in a group, then check his indulgence in terms of comments and quality of posts.
③ Generally, we look for skillsets related to web services and development because most developer
positions have to work towards developing a web interface. But this can vary depending on the
company’s needs.
Ex: The developer has to be versed either with SQL(any version) or Oracle but which one would
suit depends on the company’s profile.
3. Questions to test the developer’s skills
① Check their understanding of JDK(Java Development Kit)
② If he can satisfactorily answer questions from the above category switch to his
understanding of working of the JVM(Java Virtual Machine)
③ If he can’t answer questions about JDK, he is probably not the guy you would want.
④ Working of JVM checks his passion and interest for Java and hence, the better he is,
the better suited he is for a senior position.
4. Sample Questions
① What are the differences and similarities between an abstract class and an interface?
② What’s the difference between abstraction and encapsulation?
③ What’s the base class for Error and Exception?
④ What’s difference between throw and throws?
⑤ What does a "checked exception" mean?
These are a few sample questions meant to check basic concepts of the developer and
his understanding of how Java works.
5. Sample Questions
Once the developer answers basic questions, we need to check his in depth
understanding. Here are a few samples.
① What is Type Erasure?
② Why is the main() function defined as static?
③ Can an interface extend multiple interfaces?
④ Which one is better to use and when: Assertions or Exceptions to handle unexpected
conditions?
⑤ Why isn't Thread class final? Why would I extend Thread, ever?
⑥ Why there are two Date classes; one in java.util package and another in java.sql?
6. For Fresh Applicants
① Check the quality of projects he has been involved in.
② Ask him to solve a problem in whatever language he is comfortable with.(Focus on
checking his analytical skills and IQ)
③ If there are many applicants, screen them based on their college(and/or departments)
and current CGPA/GPA.
④ If the student has already studied Java, check his understanding of OOPS, JDK and
Exception handling. Include basics of JVM working.
7. For experienced developers
① Check the quality of work he has done in his previous jobs(Should have hands on
experience of testing and fixing bugs etc., UI design is a must for a senior position
and an added bonus for a junior position).
② Candidate must be consistent with companies as in stay around 1.5-2yrs per
company per position(this proves his/her group dynamics and skills as a team player
as well as stability)
③ Check his understanding of JDK and JVM for sure to assess his eligibility for specific
posts.
8. Tips to keep in mind
① The team output matters, so don’t hire people who aren’t good with team dynamics
or are solo rockstars.
② Hire talented people even if they might stay for a few years only. And try to extract
as much as you can from them during their tenure. Keep track of their network and
recommendations, a good developer definitely likes to work with developers of his
level. And it might come in handy at a later stage.
③ Every developer wants to see his/her code in action. So, the job description is
crucial.
④ There are enough coders who can do the job. In the end everyone wants someone
to hang out and build a nice bond with. So, being a small company can be your
secret weapon.