DEV Community

Cover image for Preparing for Your Technical Interview: A Developer's Guide
Victoria Lisitsyna for Hyperskill

Posted on • Originally published at Medium

Preparing for Your Technical Interview: A Developer's Guide

The interview is an important step to getting the job. The course of the interview determines whether they will be hired or not. It also defines the final salary and grade. Even if an interviewee knows a programming language well, an interview is always stressful, and it can be an obstacle to put one's best foot forward.

Considering that to get a good job, you need to prepare for your interview carefully. In this article, I want to share a few tips to help developers prepare for technical interviews, and tell how Hyperskill will be useful for this. These tips helped me to prepare and pass several developer interviews.

If you're looking for a way to learn new skills and advance your career, Hyperskill's project-based learning platform offers a personalized curriculum and a variety of tracks to help you achieve your goals.

Six tips for preparing for an interview

Tip 1: Get details about the upcoming interview

If you are interested in joining a particular company or team, you can get information before the interview about what to expect. For example:

  • google other people's feedback about the interview process and the questions they were asked.

  • find a few articles about the hiring process in this company.

  • look at the list of skills in the job description (in LinkedIn, for example). Most likely, the interviewer will ask you skill-related questions.

Tip 2: Structure your previous experience

Structure your previous work experience or pet projects. Recall difficult problems that you were able to solve. During the interview, you may be asked to talk about the projects where you have been involved, the challenges you have encountered, and the topics you have learned.

If you are preparing for your first interview and don't have any work experience, it is helpful to publish several training pet projects on GitHub. As a project-based educational platform, Hyperskill engages you in solving projects related to different domain areas so that you could publish the results. And what's more, some of the projects are based on real test assignments. For example, if you are a Java developer, pay attention to the following projects: Java Online chat, File Server, SQLite Viewer. And here are the Python projects based on real test assignments: Web Scraper, To-Do List, Regex Engine.

Tip 3: Find and answer the top interview questions

To prepare for a job interview, google the top questions on a programming language, a framework, or a tool you're interested in and find the answers.
For example, there is a list of top Python interview questions. You can easily find similar question lists for other languages.

Tip 4: Fill the knowledge gaps in your programming language and tools

Revise the programming language concepts. Focus on your gaps. Interviewers often ask questions to check your competencies and understand whether you are following trends in your domain.
Take note of the Hyperskill tracks. Hyperskill covers all popular programming languages and more. Tracks combine theory with practice, which helps you better understand and remember information.

Tracks in Hyperskill

Tip 5: Learn basic algorithms and data structures

Interviewers often ask questions about computer science fundamentals, basic algorithms, and structures. They include specifics on sorting and search algorithms, arrays, lists, stacks and queues, hash maps, trees, and others. Before the interview, it is worth reviewing these concepts and solving some exercises using them. You can repeat them by solving the Practicing Algorithms with Python track on Hyperskill.

Tip 6: Prepare for live coding exercises

If you are supposed to solve a live coding exercise during your interview with time constraints, practice it beforehand. There is an approach that makes it much easier to deal with coding exercises:

  1. Understand the problem statement, and try to rephrase it in your own words.
  2. Make up or take a look at test input-output examples.
  3. Describe your approach to solving the problem. Demonstrate how it will work on the input-output examples.
  4. Write your code according to the standards of the programming language.
  5. Estimate the complexity of an algorithm using the Big O notation. Think about how to optimize it.

Keep in mind that interviewers evaluate not only your solutions. They also pay attention to your way of thinking and communicating, your depth of knowledge, and whether or not you can write well-readable code.

Good luck with your interviews, and have interesting projects!

Top comments (0)