• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

how do you interview?

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How do you tell whether someone is good when giving an interview? How do you tell the difference between good and barely comptetent? In particular, how do you check for things like problem skills initiative, etc.
 
Bartender
Posts: 1844
Eclipse IDE Ruby Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We tend to have a two-stage interview. First, the phone interview weeds out people who obviously lack the skill set that we are seeking. As part of this, we have a snippet of code that is designed to be bad code that we send to the candidate and ask them to make suggestions on how to improve the code. The answers that they come back with for that one are quite interesting and revealing.

Once a candidate for a developer position reaches the in-house interview stage, it is (typically) a three-person interview. In no particular order, we have myself (the Senior Developer), my boss (the System Architect / Development manager, who is the actual hiring manager), and his boss (the CTO -- hey, we're still a small company, but I'm not sure how much longer the CTO will still be conducting interviews for positions that are now several steps in the managerial chain beneath him).

We tend to conduct interviews with behavior in mind: not "what have you been a part of" or "what events have happened to you," but "what have you done?" It's actually surprising how many people don't actually answer what their specific contributions to a group were, even when asked directly. Instead, they list the group's successes. That's nice, but we are not hiring the group. We need to know how you contributed to that group's success.

In the interviews, my manager tends to focus on trainability where I focus mostly on technical acumen. Typically I try to key my questions off their resume, asking more detailed questions about things that they say they have experience in but not neglecting other aspects (in case they forget/don't consider their experience worth mentioning).

Having had a few people in the past who had some downsides that were not detected during the interview process (that's the charitable way to put it), I have a few key technical questions that gauge different skill sets that a candidate might have. These I ask regardless of the resume, and they each tell me something different.

First, there is a question designed to indicate how well the candidate can actually read code. I find that code-writing exercises, like "please write a loop" or "write a function that reverses an array" are almost worthless in an in-house interview. My typical code-reading question not only gauges how quickly and efficiently they can read code, but also how well they understand how Java works:

The question, of course, is what is printed? I look not only at their answer (I've only ever had one candidate get it right, by the way), but also at how well they can actually read through the code. I've found that many people are capable of writing code, but not actually that capable of reading and understanding existing code.

The other question is more off-the-wall, but it does show their analytical skills. It is a whiteboarding question, in which they go to the dry-erase board and think on their feet. The question: draw an object-model of a chicken.

I don't care if they use proper UML notation or if they just put up their ideas randomly. I'm basically looking for how well they understand their is-a and has-a relationships (and what methods such an object might have) and can break things apart. That is, a chicken is a bird which is an animal. A chicken has a beak and wings and feet. A chicken can lay eggs. Sometimes a candidate does only one or the other of is-a and has-a, but they usually always include what methods a chicken has.

(On a related note, this can also be the most entertaining part of the interview, at least afterwards. I've had a candidate design the lifecycle of chickens without actually describing them. That design included farm objects and cages and methods to calculate the yeild of eggs and the next generation of chickens -- as if hcicken farming were a hobby of the candidate! Another gave their chicken hands instead of wings -- I guess that's where chicken fingers come from).

Anyway, once we finish, we compare notes. We try to come to some consensus as to the relative skills and suitability of the candidates, with the hiring manager making the final decision (of course).

I hope that this helps.
 
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We tend to split interviews into technical, personal and culture, where:

Culture test is managed by one of the bosses and is general work, process, problem handling and life experience stuff
Personal is more client and communication with a lean towards 'support', client contact and general interaction style questions
Technical defines the technical areas we are interested for the role, and each area has a bunch of questions from easy to challenging and questions are selected semi-randomly but used in general to gauge experience.

Does this help at all?
 
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the detailed and impressive post Joel , I found it very entertaining.

I'm wondering why the program you posted prints 15 however! At first look I thought it would print 20...Hmmm
 
v ray
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
On second thought, Yeah the new a[0] whose value is 20 is a local variable...right!
 
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I like your questions Joel.

We tend to have multiple back-to-back in-house interviews, each one covering a specific topic, but potentially touching on many others. Some of the areas include:
  • Culture fit
  • Language skills (sometimes multiple languages)
  • Algorithms
  • Distributed Processing
  • OO
  • Database
  • Operating Systems
  • Regular Expressions
  • Tool usage

  • Of course not all of these are used in every interview. If a candidate is being considered for a job where a category doesn't apply then it will be left out. Likewise if there is a specific area that their resume doesn't mention then we wont deep dive on it (for example they mention that they have only ever worked in Windows environments then we wont be asking Unix questions).

    I know that there are people who might consider this list too long, but the reality is that we do tend to use skills from all these areas throughout the year - speaking from personal experience I have had to touch on every one of those topics as part of my day to day job already this year. We won't reject a candidate if they can't answer questions in a particular area, but we do want candidates who have some knowledge in multiple areas.

    Before we get a candidate to an in-house interview we generally do phone screens, where we will cover several of those areas at a less intense level.

    After the in-house interviews we have a meeting to discuss our reactions, and to decide whether to hire or not.

    Each candidate is considered on their ability to work within the company. We do not consider them based on a particular position within the company. This means that we do not loose good candidates if a position is suddenly filled - we will still offer them a job if they are good. Likewise we never tell a candidate that we will get back to them after considering our options - we will know once we have all discussed the good and bad points.

    Regards, Andrew
     
    Ranch Hand
    Posts: 597
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Thanks Joel.
     
    Rancher
    Posts: 43081
    77
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    In addition to everything else, I like to find out how interested applicants are to learn new things on their own, and how they stay up-to-date with what's going on in the technology world. In IT it's important to keep learning, not in-depth about everything, but enough to know the big picture. And since there never seems to be time and/or budget to formally train employees, they must do so themselves, and must be excited about doing so (or at least show interest in it).
     
    Ranch Hand
    Posts: 89
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Good thread. Some nice info there!
     
    Joel McNary
    Bartender
    Posts: 1844
    Eclipse IDE Ruby Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    One thing that I forgot to mention is that I typically ask a development candidate if he does any programming on his time (like participating in any open-source development efforts, any personal projects, &c.). It's not a huge black mark if they don't, but if they do then asking questions about that can provide more insight than any of the other questions that I might ask.
     
    Amy Smith
    Greenhorn
    Posts: 6
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Thanks all.

    Joel: I've actually asked "draw an object-model of " in the past. I vary the thing I ask it about though.
     
    Ranch Hand
    Posts: 652
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi All,
    I have a doubt one of my friend recently attended a interview anyway he got the job thats other thing but the position for which they were hiring was for software development but they asked him equal amount of software testing questions also. He told me that he was surprised to hear those questions.Why do interviewer test about the knowledge of other domain when they are hiring for some other domain?.



    Regards
    Nik
     
    Ulf Dittmer
    Rancher
    Posts: 43081
    77
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    Originally posted by nik arora:
    Why do interviewer test about the knowledge of other domain when they are hiring for some other domain?



    Testing is an integral aspect of software development, so any question about it would certainly be appropriate. Maybe the company wants to make sure that your friend develops systems that actually are testable within that company's definition of 'testable'.
     
    Ranch Hand
    Posts: 201
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    there has been good input in this thread, keep it going!
     
    Author
    Posts: 3473
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator

    In addition to everything else, I like to find out how interested applicants are to learn new things on their own, and how they stay up-to-date with what's going on in the technology world. In IT it's important to keep learning, not in-depth about everything, but enough to know the big picture. And since there never seems to be time and/or budget to formally train employees, they must do so themselves, and must be excited about doing so (or at least show interest in it).




    Ulf I share the same view. Especially "In IT it's important to keep learning, not in-depth about everything, but enough to know the big picture". Once you know the big picture, you can always drill down when required to. I will also be looking for the "passion" to learn, deliver quality code etc. I also like candidates who take pride in their past accomplishments.

    It is also vital to understand the core concepts like "equals()" vs "==", equals(), hashCode() contracts, checked vs unchecked exceptions etc and key areas like performance, memory management, design concepts, concurrency, best practices etc

    [ September 17, 2007: Message edited by: arulk pillai ]
    [ September 17, 2007: Message edited by: arulk pillai ]
     
    Ranch Hand
    Posts: 77
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    The answer is 15 and the reason for that is you cannot change the reference of an object in Java... so do I have the job now :-)
     
    Ranch Hand
    Posts: 399
    2
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    this thread is very informative. I have gone through interviews which are very similar to one mentioned by Joel.

    1)Phone Screening round
    2)Two or three technical rounds
    3)One final HR round.


    Ejoy the interview
     
    Do Re Mi Fa So La Tiny Ad
    We need your help - Coderanch server fundraiser
    https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
    reply
      Bookmark Topic Watch Topic
    • New Topic