Seven Interview Questions for Software Engineers

When
it comes to the software engineering interview, recruiters and hiring managers look
for a blend of technical acumen, collaboration skills and effective
communication abilities. And, says Robert Half, they also want a cultural fit, a
technical match and a good feeling that you’re going to stay with them for a
while.  

Here’s
some of the questions you can expect during an interview.

Seven Interview Questions for Software EngineersExplain the life cycle
of an application development process you worked on previously.

A similar question: Explain how you write a piece
of code and bring it forth to requirement delivery.

Software
engineers must clearly articulate the entire software development cycle.

"What
I look for in an explanation of the software development cycle is
communication, planning, modeling, construction and deployment on the back end,"
says Matt Allison, IT product manager for staffing firm Kelly Services. "I
want to find out where their strengths may be, or do they seem to have strength
in a particular area ¿ This allows me to figure out where they’re at pertaining
to a customer’s needs."

Here’s a hypothetical project.
Explain how you would go about it. 

You’ll often be asked to map out on a whiteboard a hypothetical
software project. This reveals your thought process, technical abilities,
knowledge and communication skills.

One question asked of software engineer candidates by Vasanthan Dasan, CTO and
VP of Engineering for the Armada Group is: "We
have a customer who has an SOA integration into a hardware that does business
to business communication. How would you create software to enable this
communication?"

Says
Dasan: "I want to know how you would break your work down into tasks and
how many weeks for each task. I’m really looking to find out about planning
skills, how they break down tasks, their skill set and how quickly they can
execute."

What software language
have you used to design, develop and debug software applications?

Similar question: What
languages do you use to create interfaces?

Software
is all about the language and interviewers want to hear about your experience
with C++, Java, .Net, PHP, XML, Perl, or any other languages you’ve worked with.
You should explain how you used a particular language for different functions
within the software development cycle.

How do you respond to requirement
changes in the middle of a cycle?

"Engineers
should display their understanding of the balance between requirements,
requirement prioritization, different techniques for prioritization and
methodology," says Kelly O’Connell, a branch manager for Robert Half
International.

Follow
up questions include: Define the user,
customer and developer in the requirement process. Is requirement change good
or bad? Why?

What type of methodology
have you used in the past? What are its drawbacks?

A similar question: Give
me an example of a time you used waterfall methodology in a project. What are its
 
benefits and pitfalls?

A
software engineer needs to be proficient in one or more methodologies and be
prepared to explain them, as well as their benefits and drawbacks. "There’s
some drawback to each one of these models and if they can verbalize that, I
have an idea of where their strengths lie," says Allison.

What are different
techniques for prototyping an application?

Similar question: Do you
feel there is value in wireframing an application? Why? 

These
are intended to understand your logical process control during the software
development cycle.

How do you manage conflicts
in Web applications when there are different people managing data? 

Software engineers are typically parts of teams that can be
multi-cultural and even multinational, which makes good communication skills
essential. You should also be able to handle and resolve conflicts and
differences of opinion effectively in a team environment.

A similar question: Tell me
something you learned from a team member in the last year.
This lets interviewers
know how you’ll adapt to new changes in style once you’re part of a team.

Similar questions are: Which
tools are essential to you for testing the quality of your code? What types of
problems have you encountered most often in your products after deployment?

Other Questions

What
software testing procedures have you used to perform a QA?

Can
you tell me Different ways being able to design or program so complex features
appear?

Can
you name different techniques for prototyping an application? Explain the
limitations of web environment vs. Windows environment.

 — Chandler Harris

7 Responses to “Seven Interview Questions for Software Engineers”

  1. elwood cordery

    This guy Vasanthan Dasan, I’d walk out on his interview question… Too vague.

    I could define it by sending a Hello world message in XML ,using JMS/mq-series.

    How many weeks? Typical Haji…all BS, they are the most FOS developers out there, every job is a mess.

  2. elwood cordery

    Back to that Vasanthan Dasan guy. I’m on a project processing forms submitted over the internet J2EE/SOA etc etc etc. …over a million a day….

    so yeah buddy how many weeks to develop that?

    Huh? It’s Just a 300 million dollar project with several patents for developing speedy ways to process.

    Clown!!.

  3. Bambi Buchowski

    Great. Interview techniques that range from:

    “Teach me the wisdom of the entire world whilst I stand upon one leg”.

    to the ever-popular:

    “Why?” (No precedents. No antecedents. Just, “Why?”)

    Job applicants to be scored on completeness and mind-reading ability.

    The classic SDLC model is, for most s/w dev, so “yesterday”. It depends on stake-holders (who don’t really know what they want) providing explicit descriptions (which are wrong) to be used to create detailed (and largely useless) plans that will be obsolete before they are completed. Half of the time estimates will be off by 50% or more (some early, some late.)

    Every aspect of software design has an inherent margin of error of up to 100%… possibly more, and some interview moron is asking how many weeks a hypothetical segment of a hypothetical project will take? Turn that question around! Ask the bozo, “What is the biggest error in terms of man-hours on a project that YOU have ever made?” Just one project that never completed gives you “infinite” as the answer.

    This approach to interviewing is guaranteed to result in the hire of the person with the most buzz words – and usually the least efficacy on a project.

    Just to illustrate the point: I once managed a project that came with the project plan already developed by the program director. First item on the list was computers. They were very precisely described and scheduled to arrive three weeks late. Instead of sitting on my thumbs for a month, then trying to play catchup, we grabbed whatever surplus machines were available (old Macs, underpowered PCs) and set to work. At the end of six weeks, the computers still had not arrived, but the project was ahead of schedule by three weeks.

    The number one characteristic of a great project manager in most cases is adaptability. Call it, “The McGiver” factor. Unless, of course, you’re launching parts for the Space Station. Whole different kind of approach to projects. (But how many of us will ever manage a project where time and money don’t matter?)

  4. Golly, some of these questions sound like they are designed to elicit certain buzzwords in the response. If those buzzwords appear, then the interviewee must know what he’s talking about. This is useful when the interviewer doesn’t — which happens all too frequently.

  5. This was awful. If this is what I was asked on an interview, I would not want to work for this the company. This article looks like it was written by someone who has never been on and/or has never given a Software Engineering interview. Check out a blog post about 5 essential phone screening questions for a start and also be expected to write code if you are interviewing for any respectable company.