In an interview, I would expect a Java developer looking for an entry-level position to be able to answer basic questions about Java. I would want some confidence that they would be competent as a developer, and that they have sufficient knowledge of the portions of the API used in the business. I would not be asking questions from C or C++ or even C# - that seems to me to be a little bit too far afield.
Then again, I've been asked Linux/perl questions for some positions, so... one never knows. But at least, I'd expect more of a tight focus for entry positions.
Theodore Jonathan Casser
SCJP/SCSNI/SCBCD/SCWCD/SCDJWS/SCMAD/SCEA/MCTS/MCPD... and so many more letters than you can shake a stick at!
I would definitely expect the candidate to have the basic knowledge of Java and the way it works. Though he may not have in depth knowledge of it, atleast the differences compared to C, C++ can be asked as it is essential in the beginning.
Also how a basic Java program is structured and gets executed. Here a little knowledge of JVM, JDK, JRE can also be included.
And the data types and ranges, OOPS and its properties - it would suffice.
Moreover no matter for what you are interviewing the candidate the ability to take it up and attempting to answer does really matter rather than just giving up easily!
I will also throw in some brain teaser to evaluate his/her analytical capability.
How would yo go about evaluating how many litres of paint is required to paint Taj Mahal?
How would you go about finding out total number of petrol sites in the state of Tamil Nadu?
etc. There is no precise answer to these questions. What you need to ascertain is the approach and the analytical capabilty. Also, asceratin the other soft skills like team work, communication skills, interpersonal skills, etc and personal triats like motivation, passion, etc.
personally, i would NOT ask brain teasers, but some open ended programming questions. "write a program to read a file of names and add new ones in to a different file" or some such.
I'm not interested in the details, nor do i expect them to even write one line of code. I'd look at how they approach the the problem. Do they ask for clarifications? Do they make assumptions? to they sketch out an algorithm, or just start writing "public class SomeClass" and keep going?
if they DO write code, to they document/comment as they go?
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors