Java Interview Questions: Am I Being Too Difficult?

Z

Zaltor

Spammay Blockay said:
If they said "I'm kind of dependent on my IDE, so do you mind
if I use pseudocode?" then I'd accept it.

Mmmm interesting, I do not use an IDE and have coded java
for some time, I never get anything to come out 100% syntactically
correct, so if they said, "Um I'm kinda dependant on my compile time
errors", does that fly? I'd put the environment picky people in
the lesser catagory.

I usually show example of work I'm doing or have done. A language
test is ok, but that can only do a certian amount of weeding out, you
gotta hand em some spec and see if they can come up with a plan of
attack, cause if they can then they can do research or at least know
what questions to ask to solve the problem. :-/

Um yeah, ok you guys still hiring, you I ask as a casual wandering
passerby possibly looking for a new job kinda guy. :)
 
G

Guest

So those of us who code in multiple languages and don't memorize the
syntax aren't "good programmers"?

If you apply to me for a job as a "Java Programmer", you'd better
know Java well, without syntax aids. If as a "C Programmer", the same
goes as well. I don't think that's too unusual.
In any given day, I might code in the following languages:
C, C++, Java, Unix KSH, ASP (JScript/VBScript), Javascript/HTML, PHP,
and/or Perl.
Forgive me for mixing up the different syntax sometimes.

You sound offended or something... is that the case?
Anyway, if I were interviewing you and you mixed up syntax
between languages, but caught yourself and could tell me
what language syntax you were getting mixed up, that would be
fine, too.

- Tim

--
 
K

kaeli

If you apply to me for a job as a "Java Programmer", you'd better
know Java well, without syntax aids. If as a "C Programmer", the same
goes as well. I don't think that's too unusual.

Perhaps not that unusual. I myself am a "jack of all trades", so to
speak, and code in whatever language I need to code in. I fix other
people's mistakes and modify other people's code as well as make my own
if the situation warrants it. I built an entirely new order tracking
system, complete with database, in a language I'd never before used
because my customer wanted it done in that language (which was Java).
And I do mean *I* built it - no one else worked on it with me. I also
admin the servers the applications run on if I need to.
I don't consider myself a "Java Programmer". I consider myself a
computer applications programmer. I graduated with a B.S. in Comp Sci,
not Java.
I can learn syntax. It's really hard to teach someone how to program
well if they don't have the right education, mindset, aptitude, desire,
and intelligence. But you can surely teach a good programmer a new
language.
You sound offended or something... is that the case?

Yes. I take exception to the implication that not memorizing syntax
makes people bad programmers. I consider myself an excellent programmer.
My code is stable, well-designed, "dies" well if the machine dies,
doesn't bring down the server if it has any exceptions, is organized,
easily modified, easily followed. Most importantly of all, my customers
are very happy with it.
There is much more to good programming than syntactically correct code.
Any compiler can catch syntax errors. It's those logic errors that will
kill you. Which you obviously know from your other posts.

I take no exception at all to your desire for a Java Programmer. ;)
I just really had a problem with that "good programmer" statement.
Sorry.

I'm going back to lurking and learning now. *grin*

--
--
~kaeli~
"No matter what happens, somebody will find a way to take
it too seriously."
http://www.ipwebdesign.net/wildAtHeart
http://www.ipwebdesign.net/kaelisSpace
 
S

SPomytkin

I want someone who doesn't have to be taught any programming skills
on the job; they may need to learn a new API, or how existing code works,
but they're knowledge of patterns, data structures, algorithms, and
Java syntax is rock-solid.
Java syntax is enforced by IDEs compilers, etc so, I'd move it out of
this list..
requirement to write BTree might help to test knowledge of patterns,
data structures.. but asking write on board _correct_ syntax (vs.
sudo-code).. I'd took as bad sign of snobbish lead and think twice "Do
I want to work with him?"

Quite true... I just want a big background in these "basics of programming"
kinds of things. Doesn't anybody keep up with that stuff these days?

If background in "basics of programming" is implementation of Knuth
"in their sleep" via copy con MyClass.java .. I don't think so. This
easy if you stack in one language implementing bicycles over and over
again. This days developer (I don't like coder it sounds as typist)
dealing with multiple languages (and versions of languages) myriads of
APIs and ready components.. implementing Btree just doesn't fitt.
 
E

Eric Sosman

SPomytkin said:
Java syntax is enforced by IDEs compilers, etc so, I'd move it out of
this list..
requirement to write BTree might help to test knowledge of patterns,
data structures.. but asking write on board _correct_ syntax (vs.
sudo-code).. I'd took as bad sign of snobbish lead and think twice "Do
I want to work with him?"

Considering Java's verbosity, the skill tested might be little
more than the ability to write tiny characters ;-)

Also, the interviewee with the 3.5-point whiteboard handwriting
might be able to excuse syntax errors as artifacts of the interviewer's
failing eyesight. "You're missing a curly brace." "No; it's there."
"I don't see it." "Here: I'll rewrite it a bit larger ..."

There's lots I like about Java, but one must admit that it's
wordy.
 
M

Michael Borgwardt

SPomytkin said:
requirement to write BTree might help to test knowledge of patterns,

a B-tree is a *completely* different (and far more complex) thing than a
binary tree, and something I certainly wouldn't expect anyone to *write*
as part of an interview. (I implemented a B-tree once. It took me about
two weeks of full-time work).

Now, knowing what a B-tree is, its basic properties along with a general
idea of how it works, that's something that might make sense in an
interview - and you just failed that part...
 
F

F

In comp.lang.java.programmer Spammay Blockay said:
I've been tasked with doing technical interviews at my company,
and I have generally ask a range of OO, Java, and "good programming
technique" concepts.

However, one of my favorite exercises I give interviewees seems
to trip them up all the time, and I wonder if I'm being too much
of a hardass... it seems easy enough to ME, but these guys, when
I get them up to the whiteboard, seem to get really confused.
"Tree??!? Algorithms??? HUH?? recursion?!? That's old-fasioned. I know
everything about XML, J2EE, EJB, JMS, Enterprise Solutions and Deployment
Descriptors. That's the real more professional stuff."


F
 
D

Dale King

Hello, Tim Ward!
You said:
"Insufficient data" is the only really sensible answer.

Actually those kind of questions can be really good interview
questions. Whether or not they ask for more information or
explain what assumptions they are making can tell you a lot.
If the requirement is to be able to distinguish between 1000 and 12312834,
those being the only two possible values for the parameter, then the answer
is one bit. If the parameter is *always* 1000, then then answer is no bits.
And so on.

The answer is always based on what information the receiver
knows. In this case there are two possibilities that thereceiver
knows that the value comes from a finite set of numbers then the
answer is based on the size of the set. If the receiver knows
something of the probabilities of members of the set then the
code can vary to match the entropy.

In the case where the number can be any integer there is an
often used upper bound of 2 * log2( n ). These comes from the
fact that forevery bit in the value you can add a bitto signal
the end. This is not necessarily the most effecient way to do it
but it serves as an upper bound because it would be silly to do
something that was worse than that.

Is thata complete enough answer? Do I get the job?
 
D

Dale King

Hello, Michael Borgwardt !
You wrote:

i> Now, knowing what a B-tree is, its basic properties along with
a general
idea of how it works, that's something that might make sense in an
interview - and you just failed that part...

I disagree with that approach to an interview. I don't view an
interview as a test that you pass or fail. I liken it to a
weather radar. You don't use a weather radar to just know whether
or notitis raining. You are trying to find out where itis raining
and how strongly. When I am interviewing I am looking for certain
qualities and knowledge and trying to rate on a scale of 1-10 in
each ofthose areas. There is no pass/fail.

One of my problems with the problem that started this thread is
that it seems to test too many things at once and seems to call
for knowing things by rote. I like to have questions where they
don't just recite from memory but have to think and come up with
an algorithm. I don't care so much that they came up with the
right answer, but their thought process.

So it is important to decide what qualities are important to you
and come up with ways to assess each of them. In my case I am
interviewing for embedded C/C++ developers (and we are currently
hiring BTW) so my criteria will be different than yours.

One of the best ways I have found for assessing familiarity with
a language is to create a piece of code that contains a number of
errors that range from simple typos, to things that confuse a
newbie, to logic errors, to esoteric and things that are not best
practices. The goal ofthe interviewee is to find as manyerrors as
possible. It is good to have things that aren't errors but that a
newbie might think are errors. For example something likethe
following on Java:

List l = new ArrayList();

If theyreported that as an error that would be a good indicator
and I might actually probe to see why they think it is an error
and ask other questions to gauge their knowledge of the type
system.

This sort of test helps judge how quickly they can break down and
understand a program.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,074
Latest member
StanleyFra

Latest Threads

Top