Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#237809 - 15/10/2004 18:36 Developer Interview Questions
mcomb
pooh-bah

Registered: 31/08/1999
Posts: 1649
Loc: San Carlos, CA
Does anybody have any good java developer interview questions? I've got a couple people coming in for interviews beginning this afternoon and I have a basic set of "prove you have some clue" type questions that I have put together, but I'm still trying to flesh it out. The position is a mid-level (2-5 years relevant experience) java web developer. I'm looking for someone who has a solid understanding of j2ee development, but not so much knowledge that they will immediately outgrow the position. Any suggestions on lines of questioning are appreciated.

-Mike
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration

Top
#237810 - 15/10/2004 19:24 Re: Developer Interview Questions [Re: mcomb]
mschrag
pooh-bah

Registered: 09/09/2000
Posts: 2303
Loc: Richmond, VA
Here are some miscellaneous interview questions we used to use:

What is the software development lifecycle?

Can you some characteristics that distinguish an object-oriented language from a procedural one?

What is polymorphism? Can you cite an example?

What is the main concept of patterns?

Are you familiar with the Design Patterns book from the 'Gang of Four'? If so, what is your most common pattern and how does it work?

What is your approach to testing?

Why isn't there a destructor in Java?

What's the difference between process and thread?

Do you know what a race condition is? How do you guard against it?

What is an exception, and what are some best practices for exception handling in Java?

What is JDBC? Where is it used?

What is an inner class and when should you use one?

What do you most like about development in Java?

Do you have any complaints about Java? (I really like this question personally -- if they have nothing, they don't have much experience, and if they have some, usually what they pick is very revealing)

What do you do to keep you skills up to date?

What periodicals or websites do you read to help keep your skills up to date?

Do you do any programming outside of work, and if so, what?

Do you enjoy working in a group? Do you feel comfortable working on your own?


We also had a small program that we would have applicants write. It was basically a small word game, and it was always one of the more interesting things we got from people because it really revealed how they approached a problem and what type of object-oriented techniques they used (if any -- yikes -- we saw some CRAP).

Top
#237811 - 15/10/2004 19:32 Re: Developer Interview Questions [Re: mcomb]
mschrag
pooh-bah

Registered: 09/09/2000
Posts: 2303
Loc: Richmond, VA
Since this is a web development position i would probably add something like the following:

What are some best practices for JSP/Servlet development?

When would you make a JSP versus a Servlet?

What app servers have you had experience working with?

When would you put data in the context vs the session vs the request vs the page? What are some pro's and con's of each?

Is there anything you would choose to never put in a JSP? (basically hunting to make sure they're not going to write huge blocks of code inside of a JSP)

Have you ever used taglibs? What did you use them for?

Do you have any complaints with JSP/Servlets? (same deal as the previous one)

When is it appropriate to use EJB's in a project? What factors would affect your decision to use them or not? Are there any cases when you feel like you should always use them or never user them?

Top
#237812 - 15/10/2004 19:58 Re: Developer Interview Questions [Re: mschrag]
mcomb
pooh-bah

Registered: 31/08/1999
Posts: 1649
Loc: San Carlos, CA
Awesome, thanks Mike. There are some good ones in there I hadn't thought of.
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration

Top
#237813 - 15/10/2004 23:57 Re: Developer Interview Questions [Re: mcomb]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14493
Loc: Canada
Just watch you don't get hung up on knowledge versus .. whatever you want to call it.. ability, or talent, or smarts etc..

Top
#237814 - 16/10/2004 03:18 Re: Developer Interview Questions [Re: mlord]
mschrag
pooh-bah

Registered: 09/09/2000
Posts: 2303
Loc: Richmond, VA
Yeah I definitely agree ... This is the big list we used, of which we would just pick some to guage EXPERIENCE with Java. We would use the sample program to assess ability, and some of the personal questions to try to assess drive (which I would rank almost more important than experience). I'd rather have a guy who doesn't know much who is bright and works his butt off than someone who really knows Java but works their day and goes home. That's why I like the question about what kind of programming they do at home -- I feel like anyone who really loves to program doesn't just program at work. I always liked to find people who worked on open source projects, or had personal projects they liked to work on. Granted, I'd rather have some with drive AND experience, but that often costs $$$.

Top
#237815 - 16/10/2004 04:43 Re: Developer Interview Questions [Re: mschrag]
mcomb
pooh-bah

Registered: 31/08/1999
Posts: 1649
Loc: San Carlos, CA
Quote:
I'd rather have a guy who doesn't know much who is bright and works his butt off than someone who really knows Java but works their day and goes home.


I completely agree with you and Mark. I had a few other questions already prepared with the intension of discovering willingness to learn, development philosophy, and personality. Also, these are intended as quick, first round interviews so I'm mostly trying to weed out the truly incompetent.

Quote:
That's why I like the question about what kind of programming they do at home -- I feel like anyone who really loves to program doesn't just program at work.


Yeah, thats a good one (and one I intend to use in future interviews). It also gives the candidate a chance to talk about any open source/good of the community type stuff which earns them bonus points as far as I'm concerned.

These interviews are a little weird for me because I'm trying to hire somebody with nearly as much experience as I have who will ultimately report to me. I'm used to interviewing junior developers as well as more senior people for managerial positions, but mid-level developers are pretty new to me. Thanks for the ideas.

Oh, and if someone in the bay area happens to know any java developers who might fit the bill please let me know. I haven't found many qualified candidates so far. They'd get to work with an empeg owner and another former empeg owner (blasphemy I know).

-Mike
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration

Top
#237816 - 16/10/2004 07:32 Re: Developer Interview Questions [Re: mschrag]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
Quote:
I'd rather have a guy who doesn't know much who is bright and works his butt off than someone who really knows Java but works their day and goes home.


I'm sure I'll open up a huge can of worms here. But what's wrong working your contracted hours? I've plenty of experience of working my arse off and seeing nothing for it. To that end I turn up for work at 0830 take my full lunch hour and leave work at 1630 wether things are finished or not. If my boss told me I had work late I would kindly inform them of the terms and conditions of my contract. Managers who expect their employees to work extra time for nothing disgust me.
_________________________
Cheers,

Andy M

Top
#237817 - 16/10/2004 08:33 Re: Developer Interview Questions [Re: andym]
rob
carpal tunnel

Registered: 21/05/1999
Posts: 5335
Loc: Cambridge UK
I would expect my staff to *want* to work extra hours, at least from time to time. This is indicative that they are enjoying their work, the project is cool, the environment is good and that they share the responsibility to deliver the goals. When the office is deserted on the dot of leaving time there's a good chance that some or all of those things are absent (unless we all went to the pub of course).

When it comes to motivating people to be really into their work, the last thing to do is to *tell* them to work the extra hours. If someone doesn't want to be in the office they are unlikely to deliver their best work. The aim is to make being at work better than being at home, at least some of the time!

Rob

Top
#237818 - 16/10/2004 09:23 Re: Developer Interview Questions [Re: rob]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
Quote:
When it comes to motivating people to be really into their work, the last thing to do is to *tell* them to work the extra hours.

Agreed. I don't think the extra hours thing makes sense as a goal in itself. If people are motivated, the product is going to be cool, and no artificial (bureaucratic or mismanagerial) obstructions are in people's way, extra hours are going to spontaneously happen from time to time without your help. If people aren't motivated, the product is obviously flawed, or developers spend all their time battling political rather than problem-space difficulties, then the so-called "lack" of voluntary extra hours is the least of your problems.

And there's always going to be a certain class of people -- those with small children, for example -- who you'll never ever get to put an extra hour in. (Peopleware, ch 27.) Many such people are valuable developers and it would seem a shame to rule your company out of benefiting from them.

Peter

Top
#237819 - 16/10/2004 10:41 Re: Developer Interview Questions [Re: peter]
mschrag
pooh-bah

Registered: 09/09/2000
Posts: 2303
Loc: Richmond, VA
I agree w/ Rob and Peter. I will point out though, that at the company where I was using these interview questions, we were a small company with an even smaller development staff. I tried to be up-front with the people that we hired that it was very likely that they would be working more than 9-5 and that they needed to be OK with that working here. We were very flexible about the particular hours that were worked, but the deadlines were often not controllable by the development team (ugh), and thus created less-than-desirable time requirements. I like to think we had a really good environment with interesting work (and adequate compensation if you count the thousands of now worthless stock options ), but I didn't want to mislead people about the expectations. In my old and wise age now , I'm in a bigger company where it's almost always 9-5, but even here there are days when I have to stay long (software has a way of doing that as the deadline looms near).

Top
#237820 - 16/10/2004 13:50 Re: Developer Interview Questions [Re: peter]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
Quote:
or developers spend all their time battling political rather than problem-space difficulties


Which pretty much sums up my day. There are many occaisions when i'd rather my department would fold, at least I'd get the redundancy. None of the projects I work on are 'cool' or if you think they are then you really need to get out more. On joining the department I was told if I put the hours in, pulled my finger out and learnt new skills, there would the remuneration. In four years nothing has appeared other than a handful of crappy bonuses instead of pay rises.

I really am glad I have a fulfilling hobby otherwise I would have had nervous breakdown by now. My line manager (and original creator of the core software) has just had one.
_________________________
Cheers,

Andy M

Top
#237821 - 16/10/2004 14:36 Re: Developer Interview Questions [Re: andym]
mcomb
pooh-bah

Registered: 31/08/1999
Posts: 1649
Loc: San Carlos, CA
Quote:
But what's wrong working your contracted hours?

It doesn't work well in small companies. We are effectively a startup (despite the fact that we have been around 5 years). I work long enough hours to get whatever I'm working on done or come to a good stopping point and I prefer my developers to have a similar attitude. In practice that means some days I work 6 hours and others I work 12. Once a year or so something critical breaks and I work 24 straight. I also show up to work an hour later than all the business types, take lunch whenever I want and for however long I want, work from home a least a couple days a month, and am free to take a day off with zero notice as long as there are no big projects going on. The upside to the company is that we always meet our deadlines, the upside to me is a lot of flexibility on when I do the actual work and the ability to come and go when I please without getting harassed by the pointy haired guys.

-Mike
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration

Top
#237822 - 16/10/2004 15:58 Re: Developer Interview Questions [Re: mcomb]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
I think the size of the company is irrelevant. If you're working 12 hour days to get the job done then something went wrong in the planning stage. You may think doing all this work will pay off in the end, but unless you're the boss I doubt you'll see anything. Sorry if this sound cynical, but BBC Technology have suceeded in turn an ethusiastic hard working graduate broadcast engineer into a down trodden, embittered, frustrated, under paid computer programmer. I've seen far too many people work themselves to the point of nervous exhaustion and be left with nothing.
_________________________
Cheers,

Andy M

Top
#237823 - 16/10/2004 16:10 Re: Developer Interview Questions [Re: andym]
mschrag
pooh-bah

Registered: 09/09/2000
Posts: 2303
Loc: Richmond, VA
I don't think that's necessarily true. In a small company, you often don't have the money to hire all the employees necessary to run a project like you would in a company with appropriate funding. In exchange for giving up your free time for such an arrangement, you should expect appropriate compensation (stock options, stock grants, deferred bonuses, etc). But to a large extent, it's a gamble and the potential employee has to evaluate the entire situation for him/herself to determine if it's worth the risk. Now that's not to say that there aren't plenty of small companies that aren't also terribly run, but I don't think you can say it's a planning failure in the general case.

Top
#237824 - 16/10/2004 16:37 Re: Developer Interview Questions [Re: mschrag]
mcomb
pooh-bah

Registered: 31/08/1999
Posts: 1649
Loc: San Carlos, CA
Quote:
In a small company, you often don't have the money to hire all the employees necessary to run a project like you would in a company with appropriate funding.


Yep, and even if you do hire all the employees in the world your likely to have slow times where you end up having to lay them all off because money is tight or there isn't enough work to go around. I've seen both extremes with my current company and I'd much prefer being lean and having to work hard occasionally over having to do layoffs or make up work just to keep people looking busy.

Oh, and Andy, you missed the part where I enjoy having a flexible schedule like this. I see it as a benefit of working for a small company that my hours are flexible as long as the job gets done.

-Mike
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration

Top
#237825 - 16/10/2004 17:06 Re: Developer Interview Questions [Re: mcomb]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
Quote:
Oh, and Andy, you missed the part where I enjoy having a flexible schedule like this. I see it as a benefit of working for a small company that my hours are flexible as long as the job gets done.


We used to be able to do that, but management decided it was better to have a nominal fixed work day, funny that as a result they now get less hours a week out of me. I still work one day a week from home.

We have to fill in a 'timesheet' showing how many hours we work on a project. Too many hours and we're seen to be losing money on the project. In fact, we aren't allowed to put more than 7 hours a day on it.
_________________________
Cheers,

Andy M

Top
#237826 - 16/10/2004 17:13 Re: Developer Interview Questions [Re: mcomb]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
Quote:
Yep, and even if you do hire all the employees in the world your likely to have slow times where you end up having to lay them all off because money is tight or there isn't enough work to go around.


Yes I'd heard about stuff like that, BBC Technology bought some shitty startup In the San Fransisco. During a presentation to the UK employees, the MD of the company used the fast hiring and firing attitude as an advantage of working with them. He was torn to shreds when it came to question time. Needless to say when asked no-one came forward to transfer to the US, why would you want to?
_________________________
Cheers,

Andy M

Top
#237827 - 18/10/2004 12:50 Re: Developer Interview Questions [Re: mcomb]
JeffS
carpal tunnel

Registered: 14/01/2002
Posts: 2858
Loc: Atlanta, GA
Sorry to get in late on this, but what I've found through interviewing and hiring programmers is that there is a HUGE difference between knowledge and ability. Knowledge helps, but being able to assess ability is key. I realize this was already brought up earlier, but just to throw my opinion in the hat I think the most important skill is creativity (or intuition). What I mean by creativity/intuition is the ability to take a set of tools and produce something new that solves some problem or another. To me that is the very essence of programming, the rest is just syntax. Without this skill programmers tend to cost more than they're worth. And the truly unfortunate thing is that creativitily/intuition is not something that I think can be learned.

On the other side I have worked with one very productive non-creative programmer before, but he had more tenacity than anyone else I've ever met. He listened to input and then worked his tail off until he was successful. He used to say "I make up for my lack of talent with brute force", and he was right. I gave him coding guidelines and he followed them explicitly, producing very usable and readable code. However, this has been the exception rather than the rule.

Of course, there are other key pieces beyond creativity and intuition. A programmer must be disciplined and work well with others, which is often contrary to the very thing that makes a person creative in the first place. But that's why hiring is such a difficult taks, and also why I've seen far more poor placements than I have productive ones.

Oh, and to weigh in on the "overtime" issue, every organization is different and matching a developer to the enviornment is key. But to take the stance that a programmer who doesn't want to work overtime is "not committed" is wrong (I don't think anyone here is making that argument, but I've heard it before). There ARE times people have to go above and beyond normal expectations for whatever reasons, but this should be identified and rewarded by management, not cast off as "excpeted". If the cultre of the company is 40 hour a week and a developer ends up working 60 for a little while, the developer should be rewareded and thanked for the extra contribution, and the process should also be examined to determine what the cause of the extra time is. If it's part of the culture, then that's just what it is. If it's marketing pushing unrealisitc deadlines you should drop them off a cliff (just kidding!), if it's management not managing the programmers correctly, they should be reprimanded.

I work 40 ours a week and am very productive. I'll put in overtime if necessary, but I'll also hold others accountable if this happens (unless it's my fault, in which case I'll hold myself acountable). Fortunatly I'm in a position to do this, whereas many programmers aren't.
_________________________
-Jeff
Rome did not create a great empire by having meetings; they did it by killing all those who opposed them.

Top