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://blocktrain.info). Here’s a list of what all this guide covers:
- Job Materials and the ATS
- 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
Reading through the entire guide can be helpful if you are unsure of what you need to do or change and can help you figure out what to do. Throughout the document there are helpful links to free websites that we personally like to use for help with the process.
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.
HR Statistics https://zety.com/blog/hr-statistics
The diagram shows the step by step pipeline of how an application goes to an offer for most CS applicants. Of course some systems are different, but most generally follow this pattern.
Do some research on LeetCode, Jumpstart, Reddit, or Glassdoor about how a company’s interview process works. For instance some interview pipelines might go something like: application, ATS, coding challenge 1, coding challenge 2, coding challenge 3, technical interview, offer.
However other processes might not even have a coding challenge and may go straight into an interview (this sometimes happens if your resume particularly stood out, the company just doesn’t do challenges, the company uses tools/skills they don’t expect you to already know, or you had some sort of referral).
Job Materials and the 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.
Today, the vast majority of companies use an ATS system to parse every applicants’ resumes and lots of systems work by filtering the number of applicants that make it past every step. An ATS is essentially a program that reads through every resume very quickly and gets rid of any resume it deems as unqualified by comparing keywords in the application and job posting. This step sometimes comes with some assistance from HR staff to double check the work, but for bigger companies it might just all be automatic.
Since it is read by a robot and not a human, you must pay attention to the following:
- Make sure your resume contains keywords that are featured in the job posting as well as the skills that they are looking for. Read through the job post and try to add those keywords to skills or work history.
- 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.
- 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
- 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.
Here is an easy to use template in word, latex. All of us use this template and it works perfectly. Word & Latex both work.
The following are some limited free resources to see how your resume stands up to an ATS scan with a job description you are going for:
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.
🌟The following document contains a great guide to resumes as well as cover letter samples and walkthroughs towards the last few pages: https://ocs.fas.harvard.edu/files/ocs/files/hes-resume-cover-letter-guide.pdf
Since the cover letter is supposed to be one page long, you will find that they are actually not that difficult to write and it is once again important to tailor it specifically to the job you are applying for. Some guides and examples of cover letters are here:
We’re currently developing a free local ATS software to parse and show all the skills listed inside a resume so that you can exactly know how your resume parses when you apply for a position. There are multiple options available online but most of them are paid and the free services don’t tell you exactly how you rank.
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.
The first and most important rule is to be wary of what you post publicly on social media. Always be aware that potential (or even current) employers may be looking at what you are doing so make sure that there isn’t anything out there (even on old accounts) that they wouldn’t like to see.
If you have a very unique name, try Googling it and seeing what comes up. Good things to see here are things like mentions in school newspapers, social media profiles, honor roll mentions, projects, personal websites, etc.
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.
🌟By far the most popular professional platform is LinkedIn so the odds are that if a recruiter actually does research about you, they will check out your LinkedIn profile.
Fill out all of the information for the profile:
- Profile Picture: Select a nice and clear professional looking photo of just you — shoulders and up
- 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:
Honors Computer Science and Mathematics Student at University of Massachusetts Amherst
Data Scientist | Open Source Contributor | Lecturer | Entrepreneur
PhD Computer Science student actively seeking summer internship
- About: Fill in the about section with a relevant and professional summary about your education, work experience, and other interesting details.
- 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.
Regularly log into LinkedIn and build your network. Connect with people you know and have worked with and make sure to have them endorse your skills. It looks very impressive to recruiters to see a candidate with a strong profile and lots of connections and endorsements.
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.
With graphic design, UX/UI, and anything art related, your personal website will usually be a portfolio of all your best works. In this case it might not need to be made by you and you can use free tools like Adobe Portfolio to host your images and descriptions.
However with other fields, you should work on creating your own website from scratch. A template is fine if you don’t have a lot of web development experience, but be sure to really make it your own by adding where you can and removing unnecessary stuff.
A personal site allows you to go more in depth with your bio and add some more pictures of yourself as well as some of your interests and hobbies. Companies like Google especially love passionate and talented employees (they have a word for this: googly). Here is the chance to show off all of your good web development skills as well as linking your projects and writing more about the explanations and skills.
🌟**GitHub Pages** allows you to host a simple website (without a server or anything) from a public GitHub repository. Just name the respository yourUsername.github.io, make it public, name the main file index.html, make a few pushes to the repository and you should see your webpage at yourUsername.github.io. Take this for an example — download the template here.
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.
Group projects provide an excellent way of building useful team building skills, learning things from peers, and creating much more impressive work in less time. Hackathons and open source projects are both excellent ways to gain experience and come out with a great entry to your resume.
We highly recommend participating in Hackathons and joining random teams or just starting a project with some friends and working on it regularly. Pick something you are interested in or passionate about so you can be sure that you will have the motivation to see it through until completion. Sometimes projects go unfinished and this is fine so long as there is some working result available to view somewhere and that there is good writeup.
The biggest question is — How to get started?
A lot of students face this problem of coming up with ideas and starting with something new and this is where hackathons and Github can play a huge role. Start learning a framework for developing mobile/web apps if you’re interested in software engineering or machine learning or AI if that interests you more.
Here are some hackathon guides to choose and ace your next hackathon:
Apart from hackathons, your college has coding, computer science groups which you join or even start which promote project based learning.
When listing the project on your resume, be sure to write down all of the tools, technologies, and frameworks used in that project. On a personal website or portfolio website you can provide a link to the project repository and make sure that there is a detailed readme, commented code, and a detailed demo or pictures to impress visitors. GitHub is an excellent platform for all of this work and is even a great skill to have since lots of workplaces use a git model for collaborative software development.
An example for a food delivery app you made:
“Name: A mobile app which tracks and delivers food right to your doorstep within a couple of hours. iOS, Android, UI/UX”
🌟Open Source learning has become the absolute beast in today’s world and it’s really important that you know about it. Open source simply means “original source code which is made freely available and may be redistributed and modified”. Open source projects not only help other developers to code something on top of it but also inspires them to code something for our community.
Here are some guides to get you started with open source projects:
🌟GitHub is the best resource online to work on open source projects. Open source projects are publicly displayed and can be used as reference for other developers (credit them for their work). It’s the biggest ‘marketplace’ for projects where you can literally find anything in terms of computer science. Just mention the word GitHub after your google search and you’ll most probably end up finding a project under that topic.
Checkout what exactly GitHub is here. A lot of recruiters and software engineers who interview you stress on having a good GitHub profile. It reflects that you do work outside of class and can self learn skills, which is great. Have a look at this profile on GitHub and see how to fork, star, or make a new repository.
The best way to use GitHub is to follow people doing a lot of open source projects, fork repositories you like, and study on different smaller projects posted by people. So if you’re learning Machine Learning, then the best way would be to look at smaller projects for regression or classification with smaller datasets on GitHub.
Applying for Internships, Jobs
- Apply to companies actively hiring during Covid-19: https://www.levels.fyi/still-hiring/.
- Jumpstart is hiring interns who have lost their internship here https://jumpstart.me/.
We’ve discussed all ways which you can use to apply for internships, jobs, and co-ops during and after your college.
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.
🌟A lot of companies also use 3rd party services like workday which allow you to apply using your resume and cover letter. The only thing to keep in mind is that they don’t parse your resume correctly sometimes and it’s better to check before proceeding for the next steps.
Make sure to fill in all information properly — projects, work experience, sponsorship questions. (USA only) If you’re an international student on an F-1 visa, you need to say that you’re legal to work here but will require sponsorship in the future.
Should you apply to multiple positions at the same company? It’s fine, people do that all the time but usually the process boils down to the same one for bigger companies. If you want to apply for UI/UX and Software Engineer both, then yes, go for it!
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.
Dress professionally and carry copies of your resume when going to a career fair. Have a conversation, rather than just handing them your resume and saying thank you. They want to know something about you and it’s a good chance to make yourself stand out. You can start off this conversation with a brief 1 minute elevator pitch which is usually a much shortened version of the content you have in your cover letter. Start with an introduction, highlight some relevant skills, and then finish with why you are interested/the best for the position.
If you impress the recruiters, they may invite you to interview without having to go through all of the traditional steps.
Along with that, companies also do on campus interviews which allow you to fast forward your process or even get the offer after just one interview in some cases. The interviews are a mix of coding and design questions, some of which are:
- Design — game of war, tic-tac-toe, minesweeper
- Array — fizz buzz, subset sum, two-sum, find an element
- Linked list — remove a node, create a linked list, find the middle element
- Trees — add elements, balance
Most of the interviews that come from career fairs are white board based so practice before to get yourself comfortable with that style of coding. Some general tips for whiteboard style coding is to write the question, comment your code, use proper spacing, and write neatly. It’s also important to speak out your thoughts so that the interviewer can tune with you and help you if you’re stuck.
Since you don’t have access to a compiler, white board interviews will usually be simpler questions, but you should mentally run through the code with some test cases to make sure it works. Additionally, many interviews will allow you to choose a language you are more comfortable in, or write in (near) pseudocode for these styles of interview.
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.
If you know someone from any software company, then just send them a message asking for a referral. They can either send you a specific link for referrals or just forward your resume to the hiring manager — both of which will help get you noticed over other candidates. Developers working at companies often get incentives if someone joins the company from their referral, so there’s nothing to feel shy about in this.
You can also ask for referrals from LinkedIn or emails using the “cold email” approach, which is discussed below. Pick out the companies you’re really passionate about and then devote your time to email them properly, rather than emailing literally everyone on your contact list. You’ll be surprised how good this works out and helps you with your job hunt.
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).
🌟One thing which makes a good cold email/message is a selling point. Imagine yourself as the recruiter or the software engineer at a company and getting hundreds if not thousands of emails from different students. How would you differentiate a normal candidate from a special one?
Here is a template for a perfect cold email:
Sending connection requests on LinkedIn is also a part of networking which is essential for your process. Send a personalized message to someone you don’t know so that they can read before accepting the request. It’s a pleasant way to introduce yourself and you can do it in the following way:
“Hey person, hope you’re doing well. It was great talking to you the other day about xyz. I would love to further connect with you on LinkedIn”
“Hey person, hope you’re doing well. I loved your blocktrain website and would love to talk to you regarding some contributions. Thank you”
There are a lot of online websites which are famous for jobs, some of which are:
- LinkedIn (https://www.linkedin.com/jobs/)
- Monster (https://www.monster.com/)
- Indeed (https://www.indeed.com/)
- Jumpstart (https://jumpstart.me/forum/all)
- Tech internships (https://www.techinternship.io/)
- CS interns (https://csinterns.com/)
- AngelList (https://angel.co/jobs)
LinkedIn offers some other advantages than the other sites. You can comment on posts by recruiters, hiring managers, and software developers who are looking to hire for their companies. You can also message recruiters, managers, or other service providers about the opportunity they’ve listed somewhere.
🌟Recruiters and engineering managers share a lot of posts about hiring for their team and it’s good to look out for those. Like the post, put in a small comment, and then message them personally asking about the opportunity. A sample message would look like this:
“Hey recruiter, hope you’re doing well. I’m really interested in the xyz opportunity
you just posted about and would love to talk more about it. I’ve attached my resume
and look forward to your response”
AngelList is the most popular website for applying to startups. If you feel like a growing company might benefit you the most right now, angelList is the way to go. There’s risk involved with all kinds of situations but keeping a long term goal will help you rise well.
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.
The way these typically work is one of three ways: a coding test, live coding interview, or a take home project.
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:
- Simple logic puzzles like the ones commonly on standardized tests — find the next number in a sequence, find the main idea of a paragraph, etc.
- 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
You can choose which language you want to code in and will usually have an environment where you can compile/run your code against some test cases. Thus you will know if your solution to coding questions is correct if it passes all of the test cases. Be sure to watch for common edge cases like empty arrays, negative numbers, etc. You will not probably not need to worry about things like incorrect inputs or other oddities.
Here, it is important to understand how you will be graded in this section. Each company will have specific cutoffs for what they will accept in terms of correctness and runtime so be wary of these. More prestigious companies will require near perfect correctness on every problem and will require decently fast runtimes for each of the questions (they will usually print how long it ran for in milliseconds). Smaller companies may let you get away with getting a few of the questions wrong or partially correct.
The coding challenges can be tricky but they usually cover beginner data structures (arrays, linked lists, graphs, etc), so if you know what a Trie is, no one is asking about those for the first round.
You have to put in time to succeed and become good at coding. Practicing and studying the concepts are the only two ways your coding will improve. Read all the articles, watch videos, and practice the questions we have for you!
Good strategies for managing these challenges are very similar to general test-taking strategies:
- Skip questions that you get stuck on and return to them later
- 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
If your coding challenge is live or in person, you will usually only be given a small amount of problems to do in the span of 20–45 minutes. Most likely they will give you one large problem with some follow up questions to improve the algorithm. If the coding challenge is done over the computer, you will likely be talking to the interviewer over the phone or some teleconferencing software while you enter code into some shared document for them to see.
As a reminder, be sure to have all required software installed beforehand and try to enter the call a little early if possible to allow for troubleshooting technical problems.
In a live coding challenge, be sure you are always explaining what you are thinking and what you are doing. The interviewer might help you work through some things if they see that you’re stuck and will need to understand what you’re thinking. It is also a good chance to mentally walk yourself through what you need to do and may impress upon the interviewer that you really know what you’re doing. Most companies love to see calmness and confidence in their applicants so talking and explaining is a great way to show that or help yourself with that.
Another important thing to think about is discussing the runtime of your code while you’re doing the live coding challenge. Interviewers may ask you to think about the asymptotic complexity of the code or how much memory it will take up. Day 20 covers everything you need to know about Time complexity: Big-O. Read the articles, watch the videos and practice with every new question you solve.
Lots of questions will have multiple solutions that vary in terms of both the runtime and memory. Companies that are harder to get into (FAANG) will only accept the best solutions so you will want to think about whether or not something can be done faster.
For instance the LeetCode question Two-Sum (https://leetcode.com/problems/two-sum/) has several possible solutions. If we treat it as an array and try to brute force the solution, your code will need to check every combination of two numbers to see if it sums to the target. This is O(n²). Alternatively, if you use a HashMap, you can just go through the elements in the array and for each entry just check if the HashMap contains the target — value. This is O(n).
Common strategies for reducing runtime are to store previous work (dynamic programming), binary search, sort, use a special data structure, or try to reduce the number of times you need to loop through an array.
🌟If you want extra practice apart from the 100–110 questions mentioned, you can visit online websites like leetcode, hackerrank, topcoder, project euler.
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.
Here is your chance to impress the company with more specific skills. Carefully read through the project requirements and make sure that you fulfill every detail. Be sure to document all of your work and use popular frameworks if you know them. At the interview stage you will likely talk about what you did for this project so it will be important to do your best and comment/document everything you do — especially if the interview is weeks later.
Regardless of what style of challenge is given, a great strategy to being prepared for these interviews is to do some research about the company. For more well known companies, previous applicants often post their experience in the interview on glassdoor, leetcode, jumpstart, etc. This can be useful to figure out how many stages of the interview process you can expect and what will be required at each step. Sometimes these reviews even contain common questions that the companies ask which can give you a general idea about the difficulty and what is expected of you.
🌟An example of this is Braintree (a division of Paypal which acquired Venmo) which sends the interviewees an API style take home coding challenge. It consists of you making some API calls to apply, then receive a coding challenge, then solve it to write some code. They extend this to multiple rounds when they call you for onsite.
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.
The behavioral interview may be in person or may be over the phone or video chat, but either format is equally important to impress the recruiters. At this point in the process there are very few candidates remaining so you will need to show how you stand out from the others.
In the interview it is often helpful to remember to use the S.T.A.R method for explaining past experience. Another good strategy is to turn your experience into more of a story since people usually enjoy listening to a good story. Give relevant background and a sense of flow to whatever you want to say and you will find yourself having a far more engaging conversation with your interviewer.
Also be sure to study up about the company you are interviewing with. Lots of interviews start with the interviewer asking what you know about the company so this is your chance to give a good summary and tell them about the things you are interested in. They don’t necessarily need you to explain the company to them, but just show that you know what it is.
Some companies even have specific company wide core values or principles so it can sometimes help to have a general idea remembered or written down (if it’s a phone interview) to reference those. The core values are often what interviewers are looking for in their applicants — things like ability to learn, motivation, adaptability, etc. Pick stories, projects, or past experience that demonstrate the important things on these lists.
🌟It is becoming increasingly more popular for companies to focus less on coding ability and more on learning ability and motivation. Large companies are hiring people that they think are smart and capable of learning new things quickly and easily over people who have more experience, but cannot demonstrate ability to learn.
Company fit is also becoming more important as recruiters also think about whether or not a candidate will fit into the company culture and whether or not a particular candidate is someone that they want to work with. Amazon has its “Leadership Principles”, Google has its “10 Things” — both of which are very important for interviews and you should be ready with all the answers beforehand.
These two resources contain a list of the more common behavioral interview questions that companies may ask:
Other common talking points during interviews will be to discuss parts of your resume — particularly past work experience. The interviewer may ask clarifying questions about some points on your resume like giving a summary about what you did at a past job, explaining how much you know of a particular skill, or to explain a project that you listed.
Checkout this Behaviour Interview Preparation guide, make a copy of it ****and put in 3 projects for each heading. Practice before every interview and say it out loud a few times to be comfortable with it.
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).
The One Way Interview is essentially software that allows an HR department to avoid interaction with the applicants. It saves them money and resources from having to organize candidates for coming in for in person interviews and can be useful to further filter down very large applicant pools. Using such technology they can send out a series of interview questions to every candidate who will then record and upload their responses so that the HR team can analyze them and select their favorites or the ones that best fit into the company. They save time by not having to meet and interact with candidates as all they really have to do is watch and rate their videos.
From the applicant’s end, you have to install software, create an account, or follow a link to the interviewing website. From here you will start the session and a series of questions will come up one at a time. The applicant starts the recording for each question, talks for as long as they need (or if there is a timer — however long they are allowed), and then clicks stop and submits. At the end of all the questions, you just submit and it is sent off to the HR department.
Most of the strategies to finding success with these interviews are similar to in person interviews, but there are of course some changes. Given the format, you will need to pay special attention to appearance, surroundings, and your behavior during the interview.
Lots of these systems have an AI to help the HR teams screen out candidates by their answers to interview questions. The AI processes the videos and analyzes features like how much a candidate smiles, whether they make eye contact, look friendly, give answers that contain relevant keywords to the job posting, and more. The HR team can then choose to focus more on the people who scored higher than the others in these fields and will then specifically watch their videos to narrow it down. This means that once again you must tailor your performance to pass both the robot and the human viewer. Luckily, the strategies can be combined to make some helpful tips:
- Be conscious of your surroundings:
- 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).
These two videos offer very good advice about One Way Interviews and are very well made:
With good performance in the recording and a solid resume and talking points, you should easily make it in front of a real recruiter who will evaluate if you are a good fit for the company and you may either immediately get an offer or will be invited to do another round of in person interviews.
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.
Following up after an interview is very important and shows a lot of intent from your side and can ensure that you are the candidate they will end up choosing. There are a couple of different ways but the underlying principles are the same, where you thank them and show interest in the opportunity.
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.
It can be a simple message in accordance to your position. Some key things to remember are — mention the people you talked to (if you talked to different teams), mention the things you liked about the talk, mention something you would love to work on (if you don’t know that right now). For instance, you could say: “testing is one thing which is really important and I’m going to read more and start integrating it in my projects from now”.
Another good strategy is to use this email as a chance to add something you might have forgotten to talk about during the interview or one or two things you feel were not emphasized enough — almost like a second cover letter (but not as long — you don’t want to go overboard).
Here’s the general procedure for such an email:
- Greet them and thank them for their time in interviewing you. Be sure to personalize each email and refer to the interviewer by name. Send a separate email for each interviewer.
- Talk about some specifics from the interview
- Add some information that might reinforce that you are the best candidate and are super interested in the position
- Close it out with some contact information so they can follow up if they have any questions
Here’s a template for one:
_“Hey person, hope you’re doing well. It was great talking to you and/or your team today/yesterday and I got a lot of learning points from it. It was great to talk to you about ___ and I believe I would be a strong fit for the position because of my experience in ___. I have attached some links to my GitHub repositories where I have some projects that show ___ . Please feel free to reach out to me if you need any more information. Looking forward to hearing back from you, thank you!”