{"id":1743,"date":"2021-05-24T10:29:45","date_gmt":"2021-05-24T10:29:45","guid":{"rendered":"https:\/\/lvboard.infostore.in.ua\/?p=1743"},"modified":"2021-05-24T10:29:45","modified_gmt":"2021-05-24T10:29:45","slug":"5-tried-and-true-techniques-to-prepare-for-a-coding-interview","status":"publish","type":"post","link":"https:\/\/lvboard.infostore.in.ua\/?p=1743","title":{"rendered":"5 tried and true techniques to prepare for a coding interview"},"content":{"rendered":"\n<p>Coding interviews are a mixed bag. It depends on the company, the interviewer, your skill set, etc. There\u2019s no silver bullet for acing the interview, no matter how much we wished. It essentially comes down to how you prepare.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>This may seem trivial, but you\u2019d be surprised at how many candidates wait till the last minute to start laying out their plan. Here, we\u2019ve outlined the top 5 things you should do to prepare for the interview.<\/p>\n\n\n\n<p><strong>Here\u2019s what we\u2019ll cover today:<\/strong><\/p>\n\n\n\n<ul><li><a href=\"https:\/\/www.educative.io\/blog\/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#language\">Choose your programming language<\/a><\/li><li><a href=\"https:\/\/www.educative.io\/blog\/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#practice\">Give yourself plenty of time to practice<\/a><\/li><li><a href=\"https:\/\/www.educative.io\/blog\/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#study-up\">Study up on company<\/a><\/li><li><a href=\"https:\/\/www.educative.io\/blog\/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#focus\">Don\u2019t just focus on coding<\/a><\/li><li><a href=\"https:\/\/www.educative.io\/blog\/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#pressure\">Experience the pressure of a real interview<\/a><\/li><\/ul>\n\n\n\n<h4><strong>Be confident in any coding interview<\/strong>Study the types of coding questions asked by the top interviewers.<strong>Decode the Coding Interview: Real World Examples in&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-java\" target=\"_blank\" rel=\"noreferrer noopener\">Java<\/a>,&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-python\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>,&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-cpp\" target=\"_blank\" rel=\"noreferrer noopener\">C++<\/a>, or&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-js\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a><\/strong><strong><\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/5111672295391232\" alt=\"widget\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/5111672295391232\" alt=\"widget\"\/><\/figure>\n\n\n\n<p>At most companies, they don\u2019t require you to interview in one specific language, but they do require you to interview in one and stick with it. You should be familiar with the syntax, nuances of the language (i.e. memory management), and the most commonly used collections, libraries, etc. You should also know how to test your code, as well as come up with corner cases and edge cases.<\/p>\n\n\n\n<p><em>But what if I\u2019m comfortable in more than one?<\/em><\/p>\n\n\n\n<p>Here are some guidelines for selecting your language:<\/p>\n\n\n\n<p><strong>Choose the language you\u2019re most comfortable with\u2026 Can you easily go from problem to solution?<\/strong><\/p>\n\n\n\n<p>If someone asked you to sit down and write a solution to a problem in 25 minutes, what language would you go with? Think carefully about this. Some languages have different built-in types and paradigms, meaning the language you choose can change how you solve the problem and what problems you get asked.<\/p>\n\n\n\n<p>As an example, common interview questions asked in Java deal with manipulating a linked list. However, in Python, lists are a built-in datatype so you usually won\u2019t see questions like this.<\/p>\n\n\n\n<p>Ultimately, you shouldn\u2019t let this decide what language you choose, but if you\u2019re struggling to decide, choose the one that will make your life easier. This is partially why some developers choose Python over Java or C++; there\u2019s a lot of extra fluff. Consider the setup required to even start writing your solution:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/6327453477765120\" alt=\"C++ before writing your solution\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/6327453477765120\" alt=\"C++ before writing your solution\"\/><\/figure>\n\n\n\n<p>C++ before writing your solution<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/6560711272562688\" alt=\"Python before writing your solution\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/6560711272562688\" alt=\"Python before writing your solution\"\/><\/figure>\n\n\n\n<p>Python before writing your solution<\/p>\n\n\n\n<p><strong>Interview pass rate by language<\/strong><\/p>\n\n\n\n<p>Some languages have a better pass rate than others. Triplebyte scraped together data and found that those who interview in&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/ruby-on-rails\" target=\"_blank\" rel=\"noreferrer noopener\">Ruby<\/a>, Swift,&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/top-45-c-sharp-data-structure-questions\" target=\"_blank\" rel=\"noreferrer noopener\">C#<\/a>, and&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/python-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>&nbsp;have a better success rate in interviews than those that choose&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/ace-top-15-java-algorithm-questions\" target=\"_blank\" rel=\"noreferrer noopener\">Java<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/top-cpp-coding-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">C++<\/a>. This could be due to a few reasons, the main being that they\u2019re&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/python-dynamic-programming-tutorial\" target=\"_blank\" rel=\"noreferrer noopener\">dynamic<\/a>&nbsp;languages. With that said, you should choose the language you have the most experience in and the one you\u2019re most passionate about.<\/p>\n\n\n\n<p><strong>Consider interviewing in a dynamic language<\/strong><\/p>\n\n\n\n<p>Why? Well the syntax is compact, the typing is flexible, and they\u2019re considered permissive and expressive making them a great option when trying to cram lines of code onto a whiteboard.<\/p>\n\n\n\n<p><strong>Know the fundamentals like the back of your hand<\/strong><\/p>\n\n\n\n<p>You should be very familiar with the types of&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/data-structures-algorithms\" target=\"_blank\" rel=\"noreferrer noopener\">data structures and algorithms<\/a>&nbsp;available to you as well as when to use them. You should know string operations, array, and list operations. For example, you should know how to split a string, how to transform a char into a string, and even more simple things like how to read\/write to\/from a file, and how to declare and use 2D arrays.<\/p>\n\n\n\n<p><strong>Lastly, find out what languages the company uses and lean towards those<\/strong><\/p>\n\n\n\n<p>Don\u2019t fret if the language you\u2019re planning to use is not one the company uses, especially if you\u2019re a new grad where you\u2019ll learn new languages and skills on the job. When they interview you, they may ask if you know any other languages, this is to see whether you\u2019re eager and willing to learn.<\/p>\n\n\n\n<p>Common languages at some top companies:<\/p>\n\n\n\n<ul><li>Microsoft: C++, Java, C#, Python<\/li><li><a href=\"https:\/\/www.educative.io\/blog\/cracking-top-facebook-coding-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">Facebook<\/a>: Java, Python, Perl, PHP, C++<\/li><li><a href=\"https:\/\/www.educative.io\/blog\/google-coding-interview\" target=\"_blank\" rel=\"noreferrer noopener\">Google<\/a>: Go, Python, C++, JavaScript<\/li><li><a href=\"https:\/\/www.educative.io\/blog\/crack-amazon-coding-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon<\/a>: Java, Javascript, Ruby, Python, Perl<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/5961464659574784\" alt=\"widget\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/5961464659574784\" alt=\"widget\"\/><\/figure>\n\n\n\n<p>This is up for debate and depends on how much you already know and your comfortability.&nbsp;<strong>It may seem like a lot, but three months is usually the sweet spot for prep time.<\/strong>&nbsp;There\u2019s a lot to cover, from algorithms and data structures to system design and object-oriented design so it\u2019s best to space out your practice and take the time to understand each concept thoroughly.<\/p>\n\n\n\n<p>When studying for three months, there will be days when you are unmotivated, in times like this it\u2019s best to set a routine and hold yourself to it. If your ultimate goal is to land the job, you need to always be progressing towards that goal. You\u2019ve probably heard the concept of \u201cno zero days\u201d; little progress is better than none at all, so even if it\u2019s 30 minutes a day that will be enough to keep you on track.<\/p>\n\n\n\n<p>Find a routine that works for you. We recommend the&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/coding-interivew-preparation-bootcamp\" target=\"_blank\" rel=\"noreferrer noopener\">3 Month Coding Interview Preparation Bootcamp&nbsp;<\/a>as a tried and true routine that has worked for software developers who\u2019ve landed jobs at Facebook and Microsoft:<\/p>\n\n\n\n<p>While you\u2019re beginning your practice, it\u2019s important to keep these guidelines in mind:<\/p>\n\n\n\n<ol><li>Start timing yourself. Ideally, you shouldn\u2019t spend more than 20\u201330 minutes solving any given problem. (This probably won\u2019t be possible for all questions right away.)<\/li><li>Don\u2019t be discouraged if you are not able to solve a problem within the allocated time. Solve it even if takes you a couple of hours, without looking at the solution. This will help you build the confidence that you can solve it and then you can focus on solving them faster later.<\/li><li>Start thinking about the&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/big-o-notation-cheat-sheet\" target=\"_blank\" rel=\"noreferrer noopener\">Big O complexity<\/a>&nbsp;of each solution. You will have to articulate the complexities in the actual interview clearly, so it\u2019s better to start now.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/4591770396524544\" alt=\"widget\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/4591770396524544\" alt=\"widget\"\/><\/figure>\n\n\n\n<p>Each company interviews a little differently. They all have their own values, as well as methods and styles for interviewing. As an example, Google waits for you to have 3-5 years of experience before they ask system design questions, whereas Facebook will ask it to new grads.<\/p>\n\n\n\n<p><strong>Study up on the company<\/strong><\/p>\n\n\n\n<p>Some companies like&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/google-coding-interview\" target=\"_blank\" rel=\"noreferrer noopener\">Google<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/cracking-top-facebook-coding-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">Facebook<\/a>&nbsp;put right on their career page what you should study. This is really valuable information that can relieve some anxiety when you\u2019re preparing. Also, almost every company has their values and culture on display for you to check out. Again this is valuable information that shouldn\u2019t be overlooked. According to Triplebyte, about 50% of candidates who fail interviews at companies fail for non-technical reasons. Culture plays a big part when companies evaluate you, a great example of this is&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/why-amazon-interview-question\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon<\/a>\u2019s \u201cBar Raiser\u201d who is an expert in evaluating you against their 14 core principles.<\/p>\n\n\n\n<p>Find out what different products they sell, try them out if you haven\u2019t used them, and be sure to have some opinions about what you like and dislike (make sure you explain why and what changes you\u2019d make) about the product.<\/p>\n\n\n\n<p><strong>Learn how they interview<\/strong><\/p>\n\n\n\n<p>Are you required to take an online assessment? Is the coding portion whiteboard or laptop-based? What do they look for in candidates?<\/p>\n\n\n\n<p>Learning how a company interviews will help you prepare accordingly, and can greatly reduce your anxiety. To find out how some of the top companies interview, you can check out detailed interview guides on&nbsp;<a href=\"https:\/\/www.codinginterview.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CodingInterview.com<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/6416678244057088\" alt=\"widget\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/6416678244057088\" alt=\"widget\"\/><\/figure>\n\n\n\n<p>As briefly mentioned in the previous section, behavioral\/cultural interviews are just as important as the technical portion, and in some cases even more so. As a best practice show how what you\u2019ve done relates to the position, and tailor it to the job description as it will better demonstrate how you\u2019re a fit for the role. It\u2019s also a good idea to show how the work you\u2019ve done can translate into their core values.<\/p>\n\n\n\n<p>Here are some basic rules in cultural fit interviews:<\/p>\n\n\n\n<ol><li>Show interest in the product, and demonstrate an understanding of it.<\/li><li>Be ready to describe scenarios where you had a conflict with your teammates or managers and how you resolved it. Please don\u2019t say that you never had a conflict if you\u2019ve been working as a software engineer for a few years.<\/li><li>Talk about what you want to accomplish in the company<\/li><li>Talk about some of your recent \/ most significant accomplishments as an engineer<\/li><li>Talk about some particularly crazy\/difficult bugs that you encountered.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=300,q=10\/api\/page\/5405094159843328\/image\/download\/6459167214665728\" alt=\"widget\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.educative.io\/cdn-cgi\/image\/f=auto,fit=contain,w=600\/api\/page\/5405094159843328\/image\/download\/6459167214665728\" alt=\"widget\"\/><\/figure>\n\n\n\n<p>Before scheduling your interview, it\u2019s a good idea to practice what it\u2019s like to be in a real interview. Have a programming buddy? Grab them and ask them to sit down with you for an hour.<\/p>\n\n\n\n<p>This is often overlooked, but success in your&nbsp;<a href=\"https:\/\/www.educative.io\/blog\/behavioral-interviews-how-to-prepare-and-ace-interview-questions\" target=\"_blank\" rel=\"noreferrer noopener\">behavioral interviews<\/a>&nbsp;is just as important as your coding interview.<\/p>\n\n\n\n<h2>Wrapping up<\/h2>\n\n\n\n<p>These 5 strategies are key to standing out to modern recruiters. Above all else, hands-on practice with different types of real-world interview questions is the best way to prepare yourself.<\/p>\n\n\n\n<p>To help you practice all the top interview question formats, Educative has created&nbsp;<strong>Decode the Coding Interview: Real World Examples in&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-java\" target=\"_blank\" rel=\"noreferrer noopener\">Java<\/a>,&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-python\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>,&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-cpp\" target=\"_blank\" rel=\"noreferrer noopener\">C++<\/a>, or&nbsp;<a href=\"https:\/\/www.educative.io\/courses\/decode-coding-interview-js\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a><\/strong>. This course walks you through real-world examples of top interviewed concepts then shows you how to apply that learning to solve related interview questions.<\/p>\n\n\n\n<p>By the end of the course, you\u2019ll have the real-world context you need to adapt and solve any problem, even variations you haven\u2019t seen before.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coding interviews are a mixed bag. It depends on the company, the interviewer, your skill set, etc. There\u2019s no silver bullet for acing the interview, no matter how much we wished. It essentially comes down to how you prepare.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[132],"tags":[],"_links":{"self":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1743"}],"collection":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1743"}],"version-history":[{"count":1,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1743\/revisions"}],"predecessor-version":[{"id":1744,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1743\/revisions\/1744"}],"wp:attachment":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}