© William Gant 2019
William GantSurviving the Whiteboard Interviewhttps://doi.org/10.1007/978-1-4842-5007-5_11

11. Interview Questions

William Gant1 
(1)
Nashville, TN, USA
 

In addition to the information you should be gathering about the job in the interview, you also need to be prepared for some of the kind of questions that an interviewer will ask. If you followed the previous advice about how to research the company and how to appropriately construct your resume, you will actually end up with a surprising level of control over the questions being asked. Good research informs the structure of the resume you send to a potential employer. A good resume changes the questions that you will be asked so that they work to your advantage.

However, let’s be realistic. The first few times you go through the process of interviewing for a job, you’re probably not going to prepare adequately. While it isn’t optimal, it is entirely normal. Even people that write books on how to get through software interviews were inadequately prepared for their first few interviews (trust me on this one). If you find yourself in this position and reading this chapter, don’t worry. You’ll still get a lot of information that will help you answer interviewer questions, but you won’t have as much control over what those questions are.

Here Be Dragons

First off, it’s time to talk about downsides. You may well have purchased this book out of a sense of fear of the sort of probing questions that are commonly asked in interviews. If you combine that with a lack of experience in the industry, the prospect of an interview is extremely daunting. It’s like the old ocean maps, where certain areas were thought to be dangerous and were labeled with “Here be dragons” to warn sailors not to go there.

There’s also no way to overstate this. No matter how well prepared you are, if you bomb the interview badly enough, you won’t get the job. It also doesn’t matter how long you do this, eventually you will fail miserably at an interview. It happens to everyone and is a critical part of the learning process. If you understand this going in, it not only makes the failure easier to deal with, but it makes recovery from failure a much quicker process.

There are a lot of things that can go wrong in an interview. Sometimes nervousness sneaks up on even the most confident people. Sometimes you’ll say something offensive that you don’t intend, end up an hour late because of traffic, or they just won’t like you for whatever reason. Most of the things that can go wrong in any other human interaction can also go wrong in an interview.

However, with all the potential downsides of an interview, there are a lot of upsides. A good job can change your life for the better in a way that enhances a lot more than just the amount of money you have. Life is a lot easier when you aren’t broke, and improvements in your job situation can make you feel better about life in general.

Because of both the high risks and potentially high rewards, you really want to do as much as possible to reduce the amount of anxiety you feel going in. You are far more likely to have a negative interview experience if you are overly worried about the outcome. On the other hand, if you aren’t as worried, it’s a lot easier to avoid doing something that you need to worry about in the first place. There are a few things you can do that will make it easier to relax in any particular interview:
  • The most straightforward thing to do is “simply” to make sure that you have a lot of options. While it’s anything but simple to actually get to the point that you have more options than you can even consider, having even just a few other options will help you be more relaxed. You should never be interviewing with only one or two companies—the more options you have, the less power any one option will hold over you.

  • Be overprepared. Dress well, arrive early, and research the company thoroughly. You’ll feel less anxiety about making a mistake. People tend to see what they expect, and people tend to expect what their first impression led them to expect.

  • Have your own questions to ask. This changes the conversation so that it’s more about finding a situation that works for both parties. This is far better than setting up the conversation to only be a discussion of your suitability for the job.

  • It’s also important to understand that any potential job is not the only one that you’ll ever have. They are all stepping stones to the next thing. As a result, there isn’t such a thing as “the only good job on the market.” There are a lot of jobs that are good enough to get you to whatever goal you have. Some may be more or less ideal, but don’t allow yourself to feel a sense of scarcity about any of them.

Worrying excessively about the potential for an interview to go badly can actually cause it to go badly. However, if you can manage to be a little more outcome independent, you’ll find interviewing to be far less uncomfortable. Don’t worry too much if you can’t overcome your anxiety early on—you will become more relaxed over time, especially if you prepare well.

Unpleasant Interview Tactics

In addition to the difficulties posed by your own nervousness, there are certain things that happen in interviews that you might want to be prepared for. While uncommon, they can really ruin your day. These tactics can indicate that a job is unsuitable and that the company is not a good place to work. While researching this book, I spent a lot of time hanging out in forums dedicated to hiring developers. In that time, I saw a lot of nasty tricks that interviewers will pull during interviews to help them disqualify candidates. While some techniques were actually reasonable and sane, I did see some stuff that I found inappropriate. In this section, I want to talk through some of the stuff I saw. It was a real eye-opener for me, and it might be for you.

All these tactics are intended to filter out people that might be a problem for the organization. These problems can range from having a bad temper, to being the sort of person who causes human resources “incidents,” to people who might go to the police if they see something that doesn’t look right. While these are reasonable worries to varying degrees, the problem is with the tactics, in particular their ability to make an interview extremely unpleasant. These tactics can also trip up reasonable, sane people who are applying for a job, simply because they are caught off guard, are trying to be polite, or are trying not to offend the interviewer. The following are some terribly misguided strategies that interviewers may use in an effort to evaluate your suitability for a position:
  • They try making mildly bigoted remarks (or remarks that might be construed that way) to see if the interviewee will play along. While nobody wants to hire a bigot (or worse, work for one), some interviewers will do this. If you see this, it’s probably better to try and find a job elsewhere, as it indicates more problems than just being terrible at interviewing.

  • They might try mentioning “sketchy” things like fraud, drug deals, and the like to gauge your reaction to them. This may be a method of assessing your honesty, or it may be a method of determining how willing you might be to do unethical things on the job. Be very careful if this happens and try to find out which it is. If this occurs, you may even want to consider reporting it, depending on the subject matter. At the least, this can be a good reason to look elsewhere for work.

  • It’s normal for an interviewer to ask you about your previous employer, but some interviewers will pry far more deeply on that. This tactic can be used for everything from trying to get you to say something bad about your previous (or current) employer to facilitating industrial espionage. Later in this chapter, we’ll be discussing inappropriate interview questions like this one.

  • They might tell you that they don’t think you’ll be a fit for a development job and then offer you another job (for instance, in support), and then decide that you aren’t really motivated enough if you express interest in the other job. This is a particularly slimy technique that takes advantage of people who are desperate.

  • You may also find that some interviewers don’t really answer the questions you ask during an interview. This evasiveness can mean a number of things. It might simply mean that the interviewer doesn’t know the answer, but it could also show that they are intentionally trying to deceive you.

There are a lot of things that can happen in an interview that might indicate that the environment in a particular organization is going to be unpleasant. If you experience any of these things during an interview, you probably don’t want to pursue that position any further. I’ve seen all of the items previously listed in interviews at one time or another and have heard horror stories from the people who took those jobs. Even if you are desperate, these are almost never worth the trouble.

Technical Questions You’ll Be Asked

You’ll also be asked technical questions when you are being interviewed, with the intention of evaluating your skill level. While not all of them will do a good job of showing your real skills, they are still an ever-present part of any software development interview. You must prepare for them. In this section, we’ll discuss some types of questions that are commonly encountered.

First of all, you’ll be asked some computer science questions. These are general-purpose questions used to weed out unqualified candidates. They also have a tendency to be about topics that are largely irrelevant for your day-to-day work. Here are some examples:
  • Which search algorithm is most efficient, the one that is O(n!), O(logn), or O(n)? You’ll get asked this question and almost never use this stuff in a real job (in 20+ years, I’ve needed to break down the big O notation for something exactly twice, outside of interviews). Basically, the gist of it is, as “n” increases, which algorithm produces the smallest number? In this case, it would be O(logn), since the result of it increases logarithmically with respect to n. This is followed by O(n), which represents a linear growth rate with respect to n. The worst is O(n!), which represents a growth rate of n factorial. Your best bet for this one is just to memorize and go on with life.

  • What are the basic concepts of OOP (object oriented programming )? These would be encapsulation, abstraction, inheritance, and polymorphism. While explaining this thoroughly is outside of the scope of this book, a quick Internet search will point you toward reference material that will help.

  • What is the difference between overloading a method and overriding it? If you overload a method, then multiple versions of it are available, including the original. If you override a method, then only your override is present (barring other overloads).

  • What is a stream? A stream is a sequence of data.

In addition to basic computer science questions, you’ll also be asked questions about the programming stack that the company is using. This will be everything from their front-end technology to the database technology in use and may even include things like libraries and source control systems that the company uses. Because these can vary considerably across both platforms and time, answering these questions is outside the scope of this book. Instead, if you’ve done the organizational research suggested in the previous chapters, you’ll already have a rough idea of what technology they are using. From there, you should go to a search engine and look for common interview questions for all the various tools and languages that the organization is using.

You will also be asked about development methodology. This can be anything from how you use source control to questions about agile development processes. Like the questions about the software stack listed earlier, you’ll need to use a search engine to find appropriate answers to these questions. However, the development methodology that a company uses is often much more difficult to determine before the fact. You are far better off preempting this discussion by asking your own questions.

Nontechnical Questions You’ll Be Asked

You’re also likely to be asked a lot of nontechnical questions to determine how well you will work with the team. While many of these questions don’t do a particularly good job of finding out about team performance, people tend to ask them anyway. You should practice your answers to these questions so that you are prepared for them. The key to effectively answering these questions is honestly reframing them in such a way that the answer works to your advantage.

Here are some samples of the kind of questions you might be asked. Along with the questions, I’ve added an example of a bad answer and a good answer. We’ll discuss the reasoning behind the answers afterward.
  1. 1.

    What would you say is your greatest strength?

    Bad Answer: My ability to quickly write code.

    Good Answer: My ability to work with clients to determine their needs and then execute on those needs.

     
  2. 2.

    What would you say is your greatest weakness?

    Bad Answer: I get really angry when I find bad code.

    Good Answer: I’m very passionate about code quality and get upset with myself when I don’t measure up to my own standards.

     
  3. 3.

    How do you resolve issues with a team?

    Bad Answer: I try to figure out who screwed up, fix it for them, and then teach them what happened.

    Good Answer: I look at it as an opportunity. Team problems come from process problems, and if you can help fix the process, everything improves.

     
  4. 4.

    How do you troubleshoot issues with other people’s code?

    Bad Answer: I look for places with bad coding standards and rework the code to match standards.

    Good Answer: I run the code and then look at logs and debugging information to start trying to figure out what is causing the error.

     
  5. 5.

    What have you done that you are proud of?

    Bad Answer: This one time in college I… (assuming college was more than a few years ago) I wrote a paper in history class that the teacher thought was really clever.

    Good Answer: I was able to save my previous employer $X by changing the way we were using caching on our web servers.

     
  6. 6.

    What would your perfect job look like?

    Bad Answer: Something that isn’t true.

    Good Answer: Something that is true.

     
  7. 7.

    What is your current salary?

    Bad Answer: An answer.

    Good Answer: I think this job is a completely different set of circumstances than my current one. There are lots of differences in insurance, the time I’ll spend commuting, and the stress level of the position. What would be the typical pay rate for this position in this organization?

     
  8. 8.

    Why did you leave your last job?

    Bad Answer: Because upper management was stupid and were making a lot of bad decisions that were bad for the codebase.

    Good Answer: Because things changed at the company to the point that it no longer felt like a good fit. Some decisions that were made caused me to believe that the job was going to be significantly worse and more risky in the near future.

     

There are a few things at work here. First, all these questions are terrible questions, but are still good examples of the kinds of things you’ll be asked. If you read over the good answers and bad answers, there are a few things that jump out. Let’s start with the bad answers. The bad answers have a few things in common. The most obvious issue is that they not only give a bad impression of the interviewee, but that they also don’t move the conversation toward a dialog. The worst thing you can do when answering a question is to set it up so that whatever opinion the interviewer forms is the only one that they can form. Instead of doing that, you want to hedge your bets so that you can have a real conversation as an answer. This significantly reduces the risk of an answer being misinterpreted and costing you an opportunity.

If you practice steering interview answers toward creating a dialog between yourself and the interviewer, you will have a much larger margin of error in regard to your answers for questions like the previous.

There is also something similar about the good answers. In these cases, you not only try to drive the conversation toward a dialog but the answers are also designed to be as positive as possible. Even when delivering a truthful answer that is unpleasant, there are ways to phrase things so that you don’t make a negative impression. For instance, even though upper management may be making some stupid decisions that make you want to quit your job, you may be better off saying that the environment shifted in such a way that the job became less of a good opportunity.

Finally, there is one question in there that is different than most of the others. When an employer asks what your current salary is, it’s almost never a good idea to answer that question directly. While an organization will almost certainly offer you a salary that is 10% higher than your current one, answering this question at all destroys a lot of your negotiation power. Once you state a number, you are often stuck with it. If you instead change the answer to foster dialog, you can actually find out what the going pay rate is and have a discussion about that instead of your current salary.

Inappropriate Questions

Finally, there are a few questions that interviewers really shouldn’t be asking in the first place. These questions are hazardous to the interviewer and possibly their organization. In addition to improper questions, some comments that interviewers can make are also inappropriate. It’s important to know that these things are out of bounds, but it is not necessary to practice your responses to them. In many cases, these questions are illegal to ask, as they can be used to introduce bias into a hiring process. If you see any of these, you’re probably better off just going to the next opportunity. However, do be careful to listen to the entire question if you happen to get asked any of these. For instance, they may ask you if you are from a particular country because your accent reminds them of their parents, or because they know of an upcoming project that will require someone who speaks your native language. Sometimes these things are a bit more subjective, and you may not want to react too quickly.

They may ask about age, gender, gender identity, marital status, religion, ethnicity, country of origin, or if you have kids. Asking if you have kids is probably the biggest one. While in polite conversation, people may ask about this stuff with the intention of just learning more about you (with varying degrees of tact), in an interview, it’s a really bad idea to do so. However, you’ll probably encounter people that do this, especially if they aren’t very good at interviewing in the first place. It’s not necessarily a reason to avoid an organization, either, as this sort of thing is especially common in smaller companies who really don’t know better (whether they should know better is another issue entirely).

Asking who will take care of your kids while you work is something that you’ll see occasionally, especially if you are female and mention your children. This is daft even in polite conversation, but it may indicate that the organization had prior bad experiences that they attributed to working mothers. On the other hand, if the company has daycare available on site, you may have already convinced them that you are a good fit and they may be trying to convince you.

Some particularly insensitive interviewers may ask about medical issues, such as scars, body marks, abnormalities, and disabilities. This is probably well out of bounds unless the job has some special requirements that make it reasonable to ask (for instance, you have to lift heavy things regularly). Those reasons are few and far between for developers.

If you are in America, it’s also inappropriate for an organization to ask about how frequently you are deployed for Army Reserve training.

Another fun conversational topic that occurs from time to time is asking the interviewee whether they are planning to have children or not. While this is almost always out of bounds, you’ll run across the occasional interviewer who asks anyway.

Usually, companies will also want to know whether you have a criminal background or not. However, they should not be asking whether you’ve been arrested, but whether you have been convicted. Don’t panic if you see this question and you have a conviction. It doesn’t necessarily mean that people won’t hire you—I’ve worked with developers who had felony convictions in their past, and they were some of the best and most loyal employees. Other interviewers may well have seen the same thing.

It’s also considered inappropriate to ask whether you have citizenship, instead of asking whether you are legally allowed to work, or at least it is most of the time. It’s also something that interviewers get wrong, as many of them aren’t necessarily aware that you can work without a citizenship.

An interviewer might also ask whether you rent a home or own one. They may also ask about your credit rating, debts, and the like. There’s not a lot of reason to do this, except for very sensitive positions with very high security constraints where these factors could constitute risks.

A final thing that may come up would be your use of sick leave, vacation time, and worker’s compensation on a previous job. While these things certainly could impact your ability to do a job, there are a lot of limits around what a company can ask about these things, due to the risk of them being abused.

The inappropriate questions discussed in this section are good examples of things that you shouldn’t be asked in an interview. However, they might come up. When they do, it’s a good idea to have some thoughts as to how you might handle them, but it isn’t a good idea to dwell on them too much. Interviewers can do some stupid things sometimes, and these things are worth planning for if you think they might come up in the interview. Even if you aren’t asked these questions, if you are prepared to be asked them, it will help you appear more confident.

So, how do you answer these types of questions? This depends a lot on why you think you are being asked. One possible solution would be to simply answer them directly and clearly. This does a few things. First, if the question is obviously inappropriate and discriminatory, it might put you in a better position legally if you are discriminated against. It also shows a degree of openness (rather than defensiveness) that might help in some situations. While these questions are not at all appropriate, sometimes it’s better to assume that the interviewer is well intentioned and making a mistake. In many of the cases we previously listed, the interviewer might simply be curious about you as a person, which is a good sign.

On the other hand, if you are already getting the feeling that the interviewer knows good and well what they are doing, you might simply want to politely state that this question doesn’t seem relevant and see what happens. The response that you get afterward will make it very clear whether you want to work there or not. Whether you make some kind of complaint afterward is up to you, but bear in mind that doing so is at best distracting. From watching this sort of thing over the years, I can tell you that usually an organization that is run in a discriminatory fashion tends to be run poorly in a host of other ways. While you may be rightfully angry about the inappropriate questions, there are other organizations out there that would be happy to have you. It’s better to reach your own goals than to worry about organizations and people who can’t contribute to them.

Summary

In this chapter, we discussed the types of questions that an interviewer will ask you during an interview. While it’s impossible to predict every possible question or situation that might occur as a result of the interviewer trying to learn more about you, there are some general categorizations that make sense. We started out by discussing the risks of a bad interview, along with how to change the conversation in your favor. Next, we discussed some dirty tricks that interviewers will occasionally play to trip you up and cause you to make a mistake. After that, we discussed the general technical questions that development interviews often involved, followed by the nontechnical interview questions that often make an appearance in a technical interview. We followed that up with a discussion of some questions that are out of bounds and that might indicate that a particular job is not a good choice.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.108.11