Programming Interviews For Dummies
Book image
Explore Book Buy On Amazon
It may seem logical that you should find out what kind of questions the company will ask you before your programming interview so that you’ll be prepared. Most people, though, ignore this opportunity because they’re . . . optimistic that they can answer any question an interviewer asks. Don’t rely on your ability to think on your feet. Definitely take the time to do your interview prep.

As a programmer, though, you’re probably more thorough in everything from getting the code just right to getting your interview down cold.

Depending on how large the company is, you may be interviewed by the founders, a small number of people (like the entire programming team), or a cross-section of people from the team you’ll be working with, folks from human resources (HR), and perhaps even executives such as a chief information officer (better known by the acronym, CIO).

All of these people will search online to find a list of questions to ask you about your programming skills. Your interviewers will also want to know about you as a person, so they will also ask the simple “soft skills” questions they’ve been asked in interviews before, such as where you want to be in five years, as well as look up similar questions to find out how you’ll fit in the company’s culture.

Search online to find the top programming interview questions

To be adequately prepared, you should think like your interviewers and look up the potential questions on Google to find out what kinds of questions you may be asked at your programming interview. For example, if you’re being interviewed for a Java programming position, it’s easy to find websites that contain a list of Java questions as well as the answers.

Here are some common Java questions you’ll find and you should know the answers to:

  • What is JDK, JRE, and JVM?
  • Why is Java not 100 percent object-oriented?
  • What are constructors in Java?
  • What is the JIT compiler in Java?
  • What is the final keyword in Java?
  • What is constructor chaining in Java?
  • What is polymorphism?
  • What are the different types of inheritance in Java?
  • What is a copy constructor in Java?
  • What is an interface in Java?

Don’t just give back simple answers to the programming questions you receive, because your interviewers want to know that you understand the answers. That means your answers should be followed with an explanation of why the answer is correct. Doing some interview prep work will help with this.

Just reading the questions and understanding the answers aren’t enough, though. Our brains are hard-wired to remember things if we write things down. So, get out your pen and paper and write down the questions as well as the answers you find from one or more websites.

How you write them down so your brain remembers them is up to you, but the physical act of writing with pen (or pencil) on paper is how our brains work.

Don’t believe us? Just Google remember by writing down and see all the results that show why writing down is better than reading and even typing information. It may seem unnecessary, tedious, and even painful to you to write things down, but you can put your brain’s improved performance to work in your mock interview. You’ll be amazed at the results of this interview prep technique.

How to answer soft skills questions in programming interviews

If you’ve participated in any programming or job interviews, then you know about some of the standard “soft skills” questions interviewers ask to get a better idea of who you are as a person. You can get a soft skills question at any time from your interviewer or anyone on the interview panel — even a fellow programmer.

Just as with programming questions, you need to search online for the types of soft skills questions interviewers may ask you to be fully prepared. Here are some of the most common questions that are asked and how you should answer them.

Where do you see yourself in five years?

The correct answer is to talk about being a part of the company, growing professionally within the company, and actively contributing to the company’s growth.

With a little interview prep, you’ll be set on this question. None of your answers to this question should ever be about you planning to leave the company, such as, “I want to get a better job somewhere else.” If you say that, you’ll be dismissed immediately and then you’ll need take some time off to discover what it is you really want in life.

What is your greatest strength and greatest weakness?

The biggest problem with identifying your greatest strength is choosing the answer you want to use. If you can’t figure out what your greatest strength is, think about the strengths you showed at work and/or school from your past experiences. Then think about which strength you think the company would benefit from the most.

The trap you can find yourself in when answering the question about your greatest weakness is trying to frame another strength as a weakness. For example, you might say, “My greatest weakness is that I’m a perfectionist. I like to do things perfectly.” Being a perfectionist doesn’t show the vulnerability required to be a weakness.

Instead, consider a similar response about perfectionism, but add some vulnerability. For example, “My greatest weakness is that I tend to be a little bit too obsessed with things, and sometimes I cannot complete a project, even though it’s already good enough. I might spend too much time working on a small detail, polishing something that doesn’t need to be polished.”

When you give an example of a weakness that tells the interviewers it’s something you need to work on, follow up by telling them how you’ve worked to turn that weakness into a strength.

For example, you can say, “Over the years I’ve learned how to turn this weakness into a strength. What I’ve learned is that my attention to detail and my tendency toward perfectionism can be used in the right places to make sure that things are done properly. I’ve learned over time to know when things are good enough and I can move on. This has really helped me become a better developer.”

How and why did you leave your last job?

Answer this question not by bad-mouthing the previous company, your bosses, and/or your coworkers. Always be positive about your previous company. Do a little interview prep and brainstorm some possible responses for this interview question. Some reasons you can use for leaving your last job include:
  • I felt that my professional development had stalled, and I wanted to take some time off to grow my knowledge and contribute to the programming community by taking advantage of speaking and writing opportunities.
  • I needed to take time to get away from the computer screen for a little while and spend time with my family and some other important projects I needed to finish before I could return to programming.
  • I had some family issues that needed my attention, but I still managed to keep my feet in the programming waters by adding posts to my blog and answering questions on Stack Overflow.
These sample answers are honest, and talk about you and your situation at the time instead of denigrating others.

How do you deal with conflicts in your job?

This tough interview question is also one you want to answer without saying anything bad about anyone else. Your older family members were doing a form of interview prep when you were young by saying, “If you can’t say anything nice about someone, don’t say anything at all.”

Answer this question by saying that in some instances you realized you were wrong. Perhaps you said the wrong thing during a conversation, didn’t say anything when you should have to resolve the situation, or didn’t ask a question you should have asked.

In this case, tell the interviewers how you learned from the situation by learning how to change your behavior: You learned to listen more clearly, think better on your feet, and talk with the other individual instead of withdrawing.

The interviewers aren’t looking for you to show that you’re perfect. If you did, the interviewers may think that you’re being dishonest and/or hiding something. Instead, they want to know that you’re a human being and that you’re a better person now because of your past experiences.

Showing how you’ve grown personally over the years is even more critical if you’re applying for a higher-level position such as a senior-level programmer or a manager of a team, where maturity at this stage of your life is an important asset.

About This Article

This article is from the book:

About the book authors:

John Sonmez is a software developer and the author of two best-selling books, The Complete Software Developer's Career Guide and Soft Skills: The Software Developer's Life Manual. He is also the founder of the Simple Programmer blog and YouTube channel. Eric Butow is the owner of Butow Communications Group (BCG), which offers website design, online marketing, and technical documentation services for businesses. He is the author of 32 computer and user experience books.

This article can be found in the category: