The ultimate Tech Interview Guide

30 days coding. The ultimate guide to ace the Tech Interview. https://30dayscoding.com. Prepare for coding interviews
30 days coding, https://30dayscoding.com/

Introduction

This is the all in one guide you need to understand and ace any technical interview. It covers all the outlying principles which you need to stand out as a special candidate, along with your coding skills (which you get from https://30dayscoding.com/). Here’s a list of what all this guide covers:

  • Building the right Profile (GitHub, LinkedIn, Projects)
  • How to Apply for Internships, Jobs
  • Everything about coding interviews
  • Behavioral interviews in depth
  • Following up with recruiters, managers (the right way!)
  • Useful links

Understanding the Process

Understanding the application process pipeline is a huge part of having successful interviews — after all, it is impossible to do well in an interview if you don’t even make it to that step.

Job Materials and the ATS

ATS

One of the most common mistakes computer science applicants make with their resumes is underestimating the ATS (Applicant Tracking System) and the importance of tailoring a resume for a specific job.

Resume

Since it is read by a robot and not a human, you must pay attention to the following:

  1. Make sure your resume is in an easy to read file format like .pdf, .txt, .docx. When in doubt stick with .pdf as this is pretty standard.
  2. Keep it simple. Avoid using fancy borders, weird bullets, word art, etc. These really don’t serve much of a purpose to a human reader anyway and could really confuse the ATS. There’s nothing wrong with having a simple Times New Roman resume like so
  3. Avoid pictures and graphics. ATS systems can’t really read graphics or pictures so if your resume contains screenshots, images, or anything that isn’t text based, the ATS will not be able to read it and whatever is in it will not help you. Type out the entire resume.

Cover Letter

Some companies still require a cover letter as a part of their applications, and in other cases, if it is not required then it might still be good to have one. The cover letter is a chance for you to give a recruiter some extra information about why you might be a good fit for a position that might not be as easy to convey in a bulleted resume. They show that you’re passionate about the job and have more than just programming skills.

  1. CICS UMass tips
  2. CMU Cover Letter

Build your Profile

Making a solid profile before applying is a must. You need to present yourself as a strong candidate to recruiters and a candidate with a good profile will likely be more interesting than one without.

LinkedIn

Sometimes companies like to have recruiters do some research into your background after you apply to see if they should send you an interview. Alternatively, people who are just hiring for a position will do searches on platforms like LinkedIn to try to find people they think might be interested in applying for a new opening. Either way, it is critical to have a strong profile on social media and the internet.

  • Background Image: Select a picture of your school if you want — leaving this blank isn’t bad
  • Headline: This section is surprisingly important as it is the first thing people see when they search up your profile. It should contain a short summary of what you do professionally or what you are looking for. If you have industry experience, hobbies, or projects you should write what you have experience in and after that you can add some vertical bars for multiple entries. Some sample headline look like so:
  • Experience: Enter all relevant work experience to the field you are interested in and fill out all the corresponding information. For instance if you had a position as a lifeguard in High School, it’s probably safe to get rid of that unless you have nothing else. These entries can mostly be copied from your resume/CV
  • Education: Be sure to fill in your majors, minors, degree type, awards, and graduation dates
  • Skills: Add all the important skills you have — languages, software, soft skills, frameworks, etc. Feature the top 3 that are most relevant to the positions you typically apply for.
  • Accomplishments: This is a great place to enter project work or courses taken for a student without a lot of industry experience.

Personal Website

While it is optional, it is often helpful to have a personal website to hold additional information. With companies looking at things like company fit and backgrounds of their candidates, you may find it worth your time to make a small personal site — especially in something like web development or graphic design.

Projects

Personal projects are very famous in computer science — everyone has several that they are always working on or worked on in the past. For people without a lot of industry experience, personal projects are a great way to bridge that gap to add lots of good keywords and experience to a resume. They also give a good example for a more technically inclined recruiter or engineering manager to look at your code or for you to discuss during an interview.

  1. MLH hackathons
  2. Data Science Hackathons
  3. Hackathon Guide
  4. 25 cool ideas
  1. First Timers only
  2. Code Triage
  3. GitHub

30 days Coding Skill section:

We’re currently developing the skill section of 30dayscoding.com and hope to finish soon. You’ll have free access to the ‘self learning series’ of the top computer science skills in 2020. It will include a “beginner to intermediate” guide on:

  1. Web App development — Basic HTML, CSS, Js, JQuery, Node Js, ExpressReact, Angular etc
  2. Machine Learning — Regression, Classification, Neural Nets, Deep learning, Markov models etc
  3. Data Science — Probability, Distributions, Algorithms, Models etc

Applying for Internships, Jobs

- Apply to companies actively hiring during Covid-19: https://www.levels.fyi/still-hiring/.

Company websites

Companies have direct links to the job openings they offer and it’s usually under the ‘careers’ section. So just like Facebook( https://www.facebook.com/careers/) most companies have a designated page for their jobs. Applying directly from their website sends your resume and cover letter through the ATS which then sends the parsed profile to the recruiters.

Career Fairs

All universities have career fairs once or twice a year which can be very useful to make good connections at companies. Companies send software engineers and/or recruiters to the career fair so it’s a good chance to meet them and have a good first impression.

  1. Array — fizz buzz, subset sum, two-sum, find an element
  2. Linked list — remove a node, create a linked list, find the middle element
  3. Trees — add elements, balance

Referrals

Most of the software companies offer you to apply with a referral of their employee. This trick usually works but lately everyone has been sending out cold emails to ask for referrals. However, it definitely makes you a better candidate than others and can get you the first round interview quicker.

Cold Email

Cold email means an email without specifically knowing the person who’s receiving it. This might sound absurd, but works a lot of time. So it’s like sending emails or messages on linkedIn to your connections at Google. Will they reply? Maybe not, but it’s likely that they see the email and forward it to the hiring manager (if they like your profile).

  1. Monster (https://www.monster.com/)
  2. Indeed (https://www.indeed.com/)
  3. Jumpstart (https://jumpstart.me/forum/all)
  4. Tech internships (https://www.techinternship.io/)
  5. CS interns (https://csinterns.com/)
  6. AngelList (https://angel.co/jobs)

Coding Interviews

If you make it past the ATS part of the process, some companies may send you a coding test before an interview to try to filter down candidates even further.

Coding Test

In a coding test, a company will send you a link to a site where you can choose a time to sit down and take the test using their software. The site will monitor your browser usage so be sure to only use the approved resources (usually limited to the Java JDK or C manuals). Once the test begins, a timer will start and you will have between 30 minutes to an hour (sometimes more) to complete and submit every question. Types of questions can be:

  • Long coding questions where they will ask you to fully implement a specific function that does something like reverse a string, count duplicates, etc.
  • Short coding questions where they ask you to find and fix a one line bug in the code
  • Code analysis where you will need to analyze the runtime of a particular algorithm
  • If you don’t immediately see the answer, try to think up a brute force solution and then see if you can make it faster
  • Try converting the data structure to something that might work better for the problem at hand — like a priority queue or hashmap (depends on the problem).

Live Coding Challenge

Eg: Webex, Google doc, Video interview

Take Home Projects

The last type of coding challenge is the much longer take home project which is often just a part of the application itself, but it requires the applicant to read through the project guidelines and develop a much larger solution to something. The task here is usually to write up some sort of documentation, create a full stack application based on their specifications, or other longer projects.

Behavioral Interview

After passing the coding challenge (or if you skip it altogether), you will move on to the actual interview. It is very possible that this will be the first time you will interact with a human in the entire application process. The coding challenge is usually graded by bots so the interviewer is possibly only reading your application and coding work during the interview itself.

One way Interview

In the modern world, we also have to deal with a totally virtual interview experience. The One Way Interview is a relatively new creation where the applicant seems to have no interaction with a human interviewer. Regardless of how you feel about these odd recruiting practices, if you like the job and the company, you will just have to deal with it. While it is rare in CS fields at the moment, thousands of companies use this method so it will likely become more popular over the years (https://www.hirevue.com/customers).

  • Inform roommates or people nearby that you will be conducting an interview and politely ask them to be quiet
  • Silence devices or anything that might make noise like an air conditioner
  • Put your phone away unless you are using it to record
  • Temporarily move kids or pets to another room so they do not bother you
  • Use proper video framing — center yourself in the camera and give a little bit of room above your head
  • Make sure there is a good light source so that you are clearly visible, but not too bright
  • Make use of the time before a question to think about how you want to answer it before you start the recording (if possible)
  • Maintain good eye contact with the camera, smile, and make good hand gestures when appropriate
  • Use plenty of keywords in your answers and refer to the position you’re applying for
  • Be wary of how you begin and end your answers.
  • Avoid awkward endings of fumbling for the stop button
  • Avoid using phrases like “umm”, “so yeah”, “yeah that’s about it”, etc.
  • Try rephrasing the question
  • Do the practice round if they offer it — it can help to make you more comfortable for the real questions
  • Practice well before the interview and try to record yourself and play it back to see how you do. Share it with a friend and see if they have any advice.
  • For the real thing be sure to dress formally, brush/comb your hair, etc.
  • Use a notepad if you are given prep time before the questions so you can write down what you want to talk about
  • If using a mobile device to record, avoid shaking the device too much. Preferably use a tripod or rest the device against something (while maintaining proper framing and lighting).

Follow Up

After the interview, the company likely has a few more candidates to go through before they reach a point where they need to choose the candidate they will extend an offer to.

Email, LinkedIn

Sending a follow up email 12–24 hours after the interview can be helpful in getting the interviewer to like you and may help to convince them to hire you. It is generally seen as a sign of politeness and will bring your name and interview fresh into their memory.

  1. Talk about some specifics from the interview
  2. Add some information that might reinforce that you are the best candidate and are super interested in the position
  3. Close it out with some contact information so they can follow up if they have any questions

Conclusion

Thank you so much for reading this guide and we hope this helps you land your next internship or job. Next things which we’ve decided to bring out are:

  1. Beginner to Intermediate guide for Mobile development, Web development, Machine learning, and Data Science
30 days coding. The ultimate guide to ace the Tech Interview. https://30dayscoding.com. Prepare for coding interviews
30 days coding. The ultimate guide to ace the Tech Interview. https://30dayscoding.com. Prepare for coding interviews
30 days coding, https://30dayscoding.com/