Programming Interviews For Dummies Cheat Sheet - dummies
Cheat Sheet

Programming Interviews For Dummies Cheat Sheet

From Programming Interviews For Dummies

By Eric Butow, John Butow

Just like anyone conducting a job search, a programmer needs to go through some specific steps to ensure they get an offer(s) for the programming job of their dreams. Start with the all-important resume and hire a professional resume writer. You can customize that master resume and cover letter to fit each job description you apply for. This Cheat Sheet offers some hints beyond using job search sites to find those open positions and the types of programming interview questions you’re likely to encounter.

How to Find a Programming Job You Want

Finding an employer and an open position in computer programming always starts with having a good résumé. You also need to know what type of programming job you want and how to find job openings.

Hire a résumé writer service to prepare your résumé

Follow these tips to ensure your résumé and cover letter get noticed:

  • Hire a professional résumé writing service that knows how to write résumés for programmers.
  • Ensure the résumé writing service also provides you with a good cover letter.
  • Keep a copy of the master résumé and cover letter and make copies for each job. Then modify the résumé and cover letter to fit each job description to a T.
  • Keep your résumé at no more than two pages long so that you can keep it simple, focused, and clean. Your résumé writing service should understand that, and if not, find another service.
  • Proofread your résumé and cover letter for any grammatical or spelling errors, even if it’s prepared by a professional service. The more eyes you have on your résumé and cover letter, the more likely it is you’ll find any errors that need to be fixed.
  • Consider creating a video résumé that shows off your personality and some more audio and visual features you can’t include in a paper résumé. Use your webcam to create this video, and after you create the final draft, place it on your YouTube channel so company interviewers can find your video résumé easily.

What kind of programming job do you want?

You need to be as specific as possible when you decide what kind of job you want. For example, you need to pick the technology stack you want to use that includes the programming language and computing platform. After you know the job title you want and where you want to work, go online and research salary ranges for that job title in your desired geographic location or metropolitan area.

Job search sites and other ways to find programming jobs

A number of job search websites are available—you sign up, set up a profile, and wait to be found by potential employers. Examples of job search sites include Monster, Dice.com, Indeed, Hired.com, and Stack Overflow.

You also should consider other ways to find jobs:

  • If you want to work for a particular company, check out that company’s website for current listings.
  • Search in geographic areas where you’re willing to work.
  • Consider telecommuting jobs in which you can work for a company from the comfort of your own home office (though you may be asked to come into an actual office from time to time).
  • Contact your connections at various companies and on social networking websites, such as LinkedIn, to find out whether anyone is hiring for a job.
  • Go to networking events, including chamber of commerce events, business luncheons, and events arranged on Meetup, so you can get in front of other developers and human resources folks.
  • Consider signing up with a job recruiter that specializes in hiring software developers, or at the very least specializes in finding technology jobs.

How to Prepare for Your Programming Interview

After you’ve sent your résumé and cover letter to a number of companies (at least 10 to 20) that are looking for programmers, you may receive a phone call or email from one of those companies asking for an interview.

You might be asked to schedule a date and time to participate in a phone screen interview in which a company representative will ask you a number of questions over the phone, or you may be asked to come in for an in-person interview.

programming interview
©By Lucky Business/Shutterstock.com

Here’s what to expect:

  • Phone screen interview: A phone screen interview will likely be between one or two company representatives and yourself, and you may be asked short programming questions to test your prowess. The interviewer also may ask you some “soft skills” questions to expose anything that might indicate you’re not a good fit with the company culture.
  • Full interview: Expect an on-site interview to last for the entire day. The number of interviewers may vary. If you’re applying at a startup company, you may meet with the founders, who may dispense with the phone screen and proceed directly to the in-person interview. Larger companies might have a panel of interviewers conduct the interview.

The interview will include a number of questions including how to solve programming problems that you’ll have to write down (probably on a whiteboard). You’ll also have to answer “soft skills” questions to ensure that your future plans dovetail with the future of the company.

Programming interview questions

Consider reading various books on programming such as Getting a Big Data Job For Dummies (Wiley) or Programming Interviews Exposed: Coding Your Way Through the Interview (Wrox) as well as websites that help you solve programming puzzles including LeetCode, Interview Cake, and Stack Overflow.

Here’s a list of all the data structures, algorithms, and design patterns you should know backward and forward before you step into the interview room.

Data structures

  • Stack
  • Queue
  • Linked list
  • Array
  • Tree
  • Hash

Algorithms

  • Sorting (bubble sort, merge sort, quick sort)
  • String manipulation
  • Searching
  • Data structures (adding, removing, inserting)

Design patterns

  • Singleton
  • Factory
  • Builder
  • Façade
  • Proxy

Non-technical interview questions

Here’s a list of “soft skills” questions one or more of the interviewers may ask during the phone screen, the in-person interview, or both:

  • Why did you leave your last job?
  • Where do you see yourself in five years?
  • Why do you want to work here?
  • What is your greatest strength?
  • What is your greatest weakness?
  • Why should we hire you?
  • Name a time you had a conflict with a co-worker and how you resolved it.

Final interview preparations

Before you walk into the interview room, here’s how to get ready:

  • Conduct at least one mock interview with friends as well as colleagues (even those you just met) to practice your interview skills in an environment that’s as close to the real interview as possible.
  • Clean up your social media profiles.
  • Have your itinerary written down before you go to the company headquarters so you’ll know what your agenda is during the day.
  • Keep track of your interviews in a spreadsheet so you have a record of what happened, what went right and wrong, and learn how you can make improvements that you can apply in your next mock interview.

Programming Job Interview Tips

You’ll have a much better chance of winning a programming job interview if you follow these guidelines:

  • Dress professionally no matter what the company says you can wear. Perception is everything and you want everyone at the company you meet to get the impression that you’re professional and competent. No flip-flops.
  • Arrive to your appointment five minutes early.
  • Be prepared for a long day.
  • Act naturally during the interview so you seem authentic and can connect with your interviewers more easily.
  • Don’t be arrogant or rude.
  • Never lie.
  • Don’t directly answer questions from interviewers about your current or past salary. For example, you can say you’re not allowed to state your salary because it’s proprietary information.
  • Take notes during the interview so you’ll be ready when it’s time for you to ask the interviewers questions.
  • Thank your interviewers and everyone else you met at the company after the interview and before you leave.

How to Negotiate a Job Offer

Here’s how to negotiate your programming job offer so you can get the benefits package you want (or at least as close as possible to it):

  • Know the salary range for the job ahead of time and aim high!
  • Have the company representatives make the first salary offer, or if they force your hand, give them a salary range at the high end of your expectations.
  • Always give a counter offer to the amount the company just offered.
  • Don’t try to split the difference between the low and high end of the salary range.
  • Negotiate more than your salary. Benefits are part of the total compensation package.
  • Understand the full value of your benefits.
  • Don’t be afraid to walk away if the final offer isn’t good enough.