What questions do you ask to progammers when interviewing them?

Hi

So I was a little curious that as a technical interviewer, what kind of questions do you ask the candidates before hiring them?

Personally I don’t judge someone by asking them quiz type questions. I rather ask them questions related to real life scenario. For example, if ask them to design a database for a simple email client.

Please share your thoughts / opinions.

Thanks

It might sound funny but a nice kind of question to ask is unrelated to programming at all, but like u said, on real life stuff or acutally to check how the guy thinks in general.

I remmember someone telling me that during an interview he was asked to take a thermometer and check the door to the entrace of the room heat with it, most people will go wrong and acutally try to check it, while the real answer is that the door heat is excactly like room’s heat (25 degrees) and there’s no need for checking at all :wink:

Hi Cancer10,

I ask developers on a number of different areas:[LIST=1]
[]Types of methodologies they have used and to describe how they have worked within them. By asking this you will pretty quickly see if they have any formal knowledge in development methodologies which can be a gauge of experience and aptitude.
[
]I asked their understanding of patterns and how they apply to the version of language being used.
[]What are the areas that need to be addressed to properly secure a web based application. I don’t provide any clues here, so I don’t refer to Sessions, Cookies, User Accounts, Database, Escaping, File System, Server Settings, and Hardware Security. I get them to best describe what is needed.
[
]Are they proficient using a versioning system; specifically (in my case) GIT?
[]Who do they see as experts in their field. If they don’t mention key people that match the ones we follow then we might see this as a warning flag (or also may get educated :wink: )
[
]I get them to describe how they work with a team. Specifically

  • how do you best work with a project manager, describe how this works.
  • How do you manage Account Manager or Customer feature creep.
  • How to you describe schedule oriented risks to the Project and Account Managers, and the Customer? Describe how you get involved in upstream risks?
  • Describe your working methodology with Designers. How do you consult them on what is best suited for code rather than design.

[]Please bring samples of your code and be prepared to walk one of our developers through it. Be ready to describe choices, and challenges you faced. Make sure you choose code that has these elements involved.
[
]What environment are you most comfortable coding within? Do you have trouble focusing in somewhat noisy environments; if so, what do you do to be able to focus?
[]In your past jobs how would you characterize your relationships with your colleges. Would you say you were well liked, had many positive verbal exchanges, were respected but not necessarily understood, were considered quiet, or something else? Please be aware that I will be asking your college this same question.
[
]Do you like to gamble if so what kind of gambling do you like to do? Their answers can help indicate risk taking preferences.
[]Do you get a good amount of sleep and do you eat a well balanced diet? Can give you a general idea of how well a developer will focus and make decisions.
[
]Are you in a relationship or single and do you have any children? People in relationships tend to have more responsibility and less ‘inward’ focus however they can also be pulled in more directions, so you need to filter what they give you and ask questions that can satisfy you.
[]List your top 3 skills and tell me why. List your worst skills and why. If this was not part of the best or worst, what new skills have you recently begun developing.
[
]What things are you passionate about?
[]Tell me what you know about our company?
[
]Tell me why you are the best fit for this job out of the next 15 or so interviews I have for this same position?
[/LIST]These are the ones I could think of off the top of my head.

Hopefully this helps,
Steve

Hi Steve

Thanks for investing sometime in this thread.

However, I see most of your questions are non-technical and related to HR only.

I am looking for some technical questions for example, if you were designing a login system how would you save the user’s password.

That’s actually a really good question.

Show them an ASP script - then ask them to change it and see how they do. Or whatever language they say they have no experience with.

Although it wasn’t presented to me during my current job’s interview (He only asked me PHP question), one of the early things I had to do when I got hired was actually work in ASP for a client and do some modifications.

My supervisor noted that was of the things he liked about me - that I could go in and work in an unfamiliar system. Actually gave me a huge raise after my 3 month trial period ended when I was officially hired - that’s when he mentioned it to me.

Hopefully that gives you some food for thought on good questions to ask, outside the box.

Hi Cancer10,

Yes most of the questions are HR :slight_smile:

The code that I ask them to bring in and to have them explain it to our developers and I get to ask them about how the solved challenges and illustrate their code solutions; my developers will ask them demonstrate code prowess.

Generally I avoid and ask my developers to be careful to not too much ‘put the developer on the spot’ as not all good even great developers are comfortable not in their IDE setup, programming resources etc., so I get the developers to discuss thing like preferred or experience in different layer abstraction like MVC, SLA, … experience working with other developers and how the potential hire describes things the do well in teams and things that have potentially frustrated them in previous team environments.

We may ask them to:

[LIST]
[]demonstrate CRC cards
[
]read UML models
[]describe the best ‘pattern(s)’ fit for a number of common code situations
[
]understanding of Unit Testing and testing frameworks
[]talk about their working knowledge in frameworks and/or libraries
[
]describe the value of refactoring?
[]to sketch a sequence diagram for a number of simple classes
[
]use of GIT from the command line: add, status, diff, commit, reset, rv, mv, push and remote
[*]describe the practices of BDD (Behaviour Drive Development)
[/LIST]I have a fairly in-depth discussion with my developers to ensure that the hire is a good fit, what type of ‘feeling’ did they get, did they spot any ‘Warning Signs’.

Based on these processes we use the three month ‘grace’ period to ensure that they adapt and act the way they described in their interview. We also suss out team dynamics to ensure that they are good and that this new person isn’t throwing a monkey wrench into the mix.

Code is just one of many different things a developer needs to do. Too often that is what most employers focus on, so you are lucky if you get someone like wonshikee. By understanding how a developer has invested in their craft you can understand the value they bring to your team.

Regards,
Steve

I also like to ask some practical questions (and ask to write sample app). But you can have big number of candidates.

Because of it, my strategy is:

  1. To filter the initial number of candidates with the online tests. I use this service http://tests4geeks.com

  2. To ask good-skilled candidates to write sample app/website (simple chat or editing form using ajax).

  3. To invite winners to interview

This allows really save the time!

Hi, first I would like to say that I agree with ServerStorm, you need to be careful with those on the spot questions, because often I encountered a great developer but nerves as hell so his answers will indicate otherwise…

Now for some additional questions:

  1. What was your role in last job?
    Note that you are not looking for a short answer like developer, you are asking about their responsibilities and about their workflow.

  2. Describe the architecture of your last project or some interesting project.
    Hopefully he will talk about his personal project which is a big plus for me.

  3. A follow-up to the previous question:
    What would you change to make it better?
    In most cases the answer “Nothing” is a wrong one.

Also to hipLanyMany, I agree this is a very convenient solution for testing out the participants with a real life scenario, because you eliminate the nervousness factor.
We use the following online recruitment platform: TestDome.com
Candidates will do the test from their home without filing any pressure, so I believe it is safe to say that the resulting code will be something that you can expect from them on daily bases.