{"id":20191,"date":"2019-04-24T17:03:10","date_gmt":"2019-04-24T16:03:10","guid":{"rendered":"https:\/\/www.intercom.com\/blog\/?p=20191"},"modified":"2020-07-30T12:54:41","modified_gmt":"2020-07-30T11:54:41","slug":"software-engineering-interview-questions","status":"publish","type":"post","link":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/","title":{"rendered":"How to prepare for software engineering interview questions"},"content":{"rendered":"<p>Preparing for interview questions in software engineering is almost a full-time job. There are endless resources online, and it\u2019s often overwhelming when you begin the process. It&#8217;s natural to be nervous and apprehensive when applying for roles, because you are facing the risk of judgment and rejection, which is enough to make anyone anxious.<\/p>\n<p>However, the best way to settle your nerves is to thoroughly prepare, so you know you are giving yourself the very best shot to get your ideal job. Practice and preparation will minimize the sense of uncertainty and help set yourself up for success.<\/p>\n<h2 id=\"4-types-of-software-engineering-interview-questions\">4 types of software engineering interview questions<\/h2>\n<p>If you are a graduate software engineer and getting ready for your first job interviews, here are the different areas you should focus on.<\/p>\n<h3>1. Questions about your background<\/h3>\n<p>You should be prepared to answer questions regarding your background, experience, past projects and knowledge. These questions are mostly open-ended and give you a good opportunity to choose what you want to talk about. Some example questions could be:<\/p>\n<ul>\n<li>&#8220;Tell me about a project you worked on, and you what you did or did not enjoy.&#8221;<\/li>\n<li>&#8220;Tell me about what you learned from working on this project.&#8221;<\/li>\n<li>&#8220;Can you talk about some challenges you faced?&#8221;<\/li>\n<li>&#8220;How did you coordinate the tasks among team members?&#8221;<\/li>\n<li>&#8220;If you did this project again, is there anything you would do differently?&#8221;<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">You can talk about software projects that you worked on during internships, work experience placements or college course work depending on your experience. Any experience you have is valuable so don\u2019t undermine the knowledge you gained through it. <\/span>When speaking about those past projects, a great answer would include a description, objectives, stakeholders and the impact of the project \u2013 or the &#8220;what,&#8221; &#8220;who,&#8221; &#8220;how&#8221; and &#8220;why.&#8221; This will help you demonstrate that you have a good understanding of the whole development process and not only the technical side of things. It\u2019s a good idea to include measures of success if they\u2019re relevant, i.e. &#8220;It helped people do <em>x<\/em> easier,&#8221; &#8220;It automated this process saving <em>x<\/em> amount of time for the team,&#8221; etc. This shows that you care about the impact of your work.<\/p>\n<blockquote class=\"pullquote-style-one\"><p>&#8220;Interviewers start with a total blank page and have a very short amount of time&#8221;<\/p><\/blockquote>\n<p>Even if something feels trivial to you, remember that the interviewer doesn&#8217;t know anything about you. They start with a total blank page and have a very short amount of time to understand how you interact with people, what excites you about your work and how you aim for success.<\/p>\n<p>Take the opportunity to reflect on your experiences and identify areas for growth to speak about. Interviewers are aware that nobody is perfect, but they do appreciate a growth mindset. Did you identify some process that could be fine-tuned? Maybe your communication could have been better in a particular situation?<\/p>\n<h3>2. Questions about the company<\/h3>\n<p>Interviewers normally will also ask about the factors that attracted you to the company and to the software engineering role. It&#8217;s crucial to do some research about the company in advance and prepare answers to questions, such as:<\/p>\n<ul>\n<li>What interests you about their industry?<\/li>\n<li>What made you interested in the company?<\/li>\n<li>What do you expect to achieve by working there?<\/li>\n<li>How does your background fit with what they do?<\/li>\n<li>What makes you think you would be a good fit for their culture?<\/li>\n<\/ul>\n<p>Knowing already about the software products they build can take you a long way. This involves both understanding the product space and being somewhat familiar with the technology stack. I usually leverage interview preparations as an opportunity to learn something new and understand if I would be interested in contributing to it. Then I am able to ask more relevant questions during the interview. Moreover, I find it much easier to be successful in an area that I\u2019m interested in.<\/p>\n<p>Don\u2019t worry about not knowing all the technologies they use. Being open about what you don\u2019t know (yet) looks good to most interviewers. Showing an interest to learn their domain before being offered the job looks even better.<\/p>\n<p>On a cultural fit questions, the interviewer expects to see how you interact with other people. If you have some internship experience, they might ask you about how you collaborate with your colleagues. For example, reaching out for help when you need it, taking time to help others, overcoming challenges and receiving or providing feedback are some possible topic areas.<\/p>\n<h3>3. General software engineering interview questions<\/h3>\n<p>On the technical side of things, being aware of the principles of software development like operating systems, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_programming\" target=\"_blank\" rel=\"noopener noreferrer\">object-oriented programming<\/a>, functional programming, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\" rel=\"noopener noreferrer\">test-driven development<\/a>, <a href=\"https:\/\/www.intercom.com\/blog\/why-continuous-deployment-just-keeps-on-giving\/\" target=\"_blank\" rel=\"noopener noreferrer\">continuous integration<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Software_design_pattern\" target=\"_blank\" rel=\"noopener noreferrer\">design patterns<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Version_control\" target=\"_blank\" rel=\"noopener noreferrer\">version control<\/a> is essential. Depending on the nature of the role you go for, networks, databases or systems basics might also be required.<\/p>\n<p>Read the job description thoroughly, and prepare yourself to be able to give the definitions and speak about the main benefits. You might not have practical experience, but it&#8217;s good to be able to talk about why they are important and discuss some industry trends.<\/p>\n<blockquote class=\"pullquote-style-two\"><p>&#8220;My very first mentor told me that I should apply for a role based on where I want to be, rather than where I currently am&#8221;<\/p><\/blockquote>\n<p>You don&#8217;t have to cross out every requirement of the job spec. My very first mentor told me that I should apply for a role based on where I want to be, rather than where I currently am. If you have some free time, trying to <a href=\"https:\/\/www.lauramedalia.com\/blog\/side-project-ideas-for-software-engineers-or-learning-to-code\" target=\"_blank\" rel=\"noopener noreferrer\">build<\/a> some <a href=\"https:\/\/www.codementor.io\/npostolovski\/40-side-project-ideas-for-software-engineers-g8xckyxef\" target=\"_blank\" rel=\"noopener noreferrer\">small side projects<\/a> to improve your familiarity with a new technology is a great idea as well.<\/p>\n<h3>4. Problem Solving questions<\/h3>\n<p>Now here comes the part that most people are nervous about. The &#8220;problem-solving&#8221; sessions, which test your problem-solving skills and understanding of data structures, algorithms and complexity.<\/p>\n<h4>Tips for getting through the preparation phase<\/h4>\n<p>There is unlimited material online to help you prepare. A classic book that breaks down the process and provides problems and solutions is <a href=\"http:\/\/www.crackingthecodinginterview.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Cracking the Coding Interview<\/em><\/a> by Gayle Laakmann McDowell. Online resources like <a href=\"https:\/\/leetcode.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">LeetCode<\/a> and <a href=\"https:\/\/www.hackerrank.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">HackerRank<\/a> are good alternatives.<\/p>\n<p>You have to figure out what works best for you when you study. Personally, I like to solve small problems and challenges,\u00a0<span style=\"font-weight: 400;\">like the <\/span><a href=\"http:\/\/codekata.com\/\"><span style=\"font-weight: 400;\">code katas<\/span><\/a><span style=\"font-weight: 400;\"> or the <\/span><a href=\"https:\/\/adventofcode.com\/\"><span style=\"font-weight: 400;\">advent of code<\/span><\/a><span style=\"font-weight: 400;\">.<\/span>\u00a0However, that can be time consuming. So when I want to learn more quickly, I find the solutions online and implement them myself to understand the algorithm. There are a lot of YouTube videos that explain how specific algorithms work, which you can use.<\/p>\n<p>When you implement a solution, take some time to push it in your GitHub account. Not only will it be helpful if you need it again later, but also helps you build a portfolio of your work.<\/p>\n<h4>Tips for the interview itself<\/h4>\n<ul>\n<li>Make sure you have completely understood the problem. Ask the interviewer for clarifying questions to make sure that you know what is asked from you.<\/li>\n<li>Don&#8217;t jump into writing code without having enough information. For example, you should make sure you know where you read the input from, what format the input is in and the size of the data.<\/li>\n<li>Start with the &#8220;brute force&#8221; solution and don&#8217;t think about performance yet. Keep it simple. Explain to the interviewer your process of thinking and state that you will try the brute force solution first.<\/li>\n<li>Don&#8217;t underestimate the difficulty of a task. Even seemingly simple tests, like <a href=\"https:\/\/hackernoon.com\/why-im-still-using-fizz-buzz-to-hire-software-developers-7e31a89a4bbf\" target=\"_blank\" rel=\"noopener noreferrer\">the FizzBuzz test<\/a>, can give a quick impression of how you break down and understand a problem. Usually a test might start simple and progress gradually.<\/li>\n<li>State any assumptions that you make. If you use library methods for javascript, python, or your language of choice, ask if you should implement them. For example, sorting is available in most programming languages.<\/li>\n<li>As you proceed to solve the problem, explain how you traverse your data, where you store and how you process them. This shows that you understand well the data that you manipulate and don&#8217;t just try things you&#8217;ve seen around.<\/li>\n<li>You can break down your problem into smaller functions with clear names and then go ahead and start implementing each one of them.<\/li>\n<\/ul>\n<p>Most of the time interviewers expect you to implement the simple solution first, and then they will ask you about complexity. Try to identify the loops that are involved, and the operations to calculate complexity. Keep space and time complexity in mind. How much memory do you need to store things compared to your input and how many iterations you need to do to get the result.<\/p>\n<p>Refresh your memory about standard algorithms complexity like sorting, searching, etc. Then try to figure out where things could be improved. Maybe you can use a different data structure? HashMaps, Sets and Linked Lists are typical structures used to optimize complexity depending on the problem. It&#8217;s good to have those structures under your belt and use them for the right problem.<\/p>\n<p>If you know the problem and the more effective solution in advance, proceed with it, but still, take some time to explain why it&#8217;s the optimal solution. If the interviewer gives you any feedback consider it carefully. Most of the time, the interviewer wants to help you and knows the solution already so their suggestions are worth considering.<\/p>\n<h4>What if I don&#8217;t solve the problem? Does it mean I failed the interview?<\/h4>\n<p>Not necessarily. The interviewer is most interested in your process of thinking. From my experience, interviewers focus on:<\/p>\n<ul>\n<li>What do you do when you are stuck? Are you able to explain why you are stuck, will they trust you with a task and know that you will ask for help when you need it?<\/li>\n<li>Are you able to understand how data structures work, or do you use them as a black box? For example, using a HashMap without having a particular reason to do it, or without explaining why it improves performance.<\/li>\n<li>Are you a good communicator overall? Do you accept feedback or are you too passionate about your solution?<\/li>\n<li>Did you make any progress during the interview?<\/li>\n<li>Can you operate under stress or do you completely shut down?<\/li>\n<\/ul>\n<h3>5. Questions for the interviewers<\/h3>\n<p>It&#8217;s good to prepare some questions for the interviewers as well. Remember, it\u2019s important to figure out if the company is a good fit for you. The more information you have, the easier it will be to make the decision afterwards. I usually prepare some questions in advance of the interview, such as:<\/p>\n<ul>\n<li>How are the engineering teams organized? How are the tasks distributed to the team?<\/li>\n<li>How do you go about testing your products?<\/li>\n<li>What team is it likely that I will be working on?<\/li>\n<li>How do you support people during onboarding? How long does it typically take for a new person to onboard?<\/li>\n<li>What would be an example of a task I would work on?<\/li>\n<li>What is the main stack you use for this project?<\/li>\n<li>What opportunities are available to work on different projects?<\/li>\n<li>How do you conduct performance reviews? What does career progression look like for this particular role?<\/li>\n<\/ul>\n<p>Think about your ideal work day \u2013 what you would like to know about it? Different people value different things in work. For example you might prefer a dynamic changing environment that gives more freedom, or you might feel productive in a more structured one. You might like to work in a more autonomous way or prefer to be part of a team.<\/p>\n<p>It is a good idea to figure out which environment helps you perform at your best and search for companies that will give you this opportunity. If you feel like the interviewer covered most of your questions, you don&#8217;t have to ask something just for the sake of it.<\/p>\n<h2 id=\"mindset-is-important-when-preparing-for-your-software-engineer-interview\">Mindset is important when preparing for your software engineer interview!<\/h2>\n<p>Of course, your technical skills are very important for the software engineering interviews. But don\u2019t underestimate the importance of your soft skills. People will work with you every day so they should feel like you are a pleasant person to work with. There is a big part of the job that is not about you writing code, but collaborating with other principles and teams.<\/p>\n<p>Collecting and understanding requirements, being able to articulate the problem in technical and non-technical ways, informing stakeholders about progress and problems are only some of them. If you believe you have some strong asset in your personality try to showcase this throughout the process.<\/p>\n<h2 id=\"aim-for-continuous-improvement\">Aim for continuous improvement<\/h2>\n<p>Don\u2019t forget that interviewing, like anything else, is a skill and gets better with experience. Don&#8217;t worry about failures, focus on what you learned and do better next time. When you gain some experience, it will become less stressful and thus easier to succeed. It&#8217;s a process of continuous improvement, you should be getting better and better every time you interview, so keep preparing and keep sharpening your technical and communication skills. Proper research for information is key to your good preparation \u2013 review sites, Quora or even just Google are good resources for common software engineer interview questions for companies.<\/p>\n<blockquote class=\"pullquote-style-two\"><p>&#8220;A little focused preparation goes a long way, but don\u2019t overdo it&#8221;<\/p><\/blockquote>\n<p>All this information might be overwhelming, but you are not going to be asked all of these questions in every interview. I tried to capture the different things I&#8217;ve seen so far to give you some areas to explore. A little focused preparation goes a long way, but don\u2019t overdo it. It&#8217;s easy to overthink an interview and tie yourself in knots. Good luck, go out there and be awesome! :)<\/p>\n<p>Do you have any other tips that you use when preparing? Share with us in the comments!<\/p>\n<hr \/>\n<p class=\"inline-cta-quote\"><a href=\"https:\/\/www.intercom.com\/blog\/careers\" target=\"_blank\" rel=\"noopener noreferrer\">We&#8217;re hiring! Check out our open roles here.<\/a><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.<\/p>\n","protected":false},"author":294,"featured_media":20192,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"category":[12898],"tags":[294],"coauthors":[1174],"class_list":["post-20191","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-interview"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Top Software Engineering Interview Questions [+Interview Prep]<\/title>\n<meta name=\"description\" content=\"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to prepare for software engineering interview questions\" \/>\n<meta property=\"og:description\" content=\"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Intercom Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/intercominc\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-24T16:03:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-30T11:54:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3600\" \/>\n\t<meta property=\"og:image:height\" content=\"1680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sofia Tzima\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@intercom\" \/>\n<meta name=\"twitter:site\" content=\"@intercom\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sofia Tzima\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/\"},\"author\":{\"name\":\"Sofia Tzima\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/cd6a931251cfe3a2d96234d1650f9489\"},\"headline\":\"How to prepare for software engineering interview questions\",\"datePublished\":\"2019-04-24T16:03:10+00:00\",\"dateModified\":\"2020-07-30T11:54:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/\"},\"wordCount\":2324,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/Software-engineer-interview-questions.jpg\",\"keywords\":[\"interview\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/\",\"name\":\"Top Software Engineering Interview Questions [+Interview Prep]\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/Software-engineer-interview-questions.jpg\",\"datePublished\":\"2019-04-24T16:03:10+00:00\",\"dateModified\":\"2020-07-30T11:54:41+00:00\",\"description\":\"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/software-engineering-interview-questions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/Software-engineer-interview-questions.jpg\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/Software-engineer-interview-questions.jpg\",\"width\":3600,\"height\":1680},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"name\":\"The Intercom Blog\",\"description\":\"Articles and Podcasts on Customer Service, AI and Automation, Product, and more\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#organization\",\"name\":\"The Intercom Blog\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"contentUrl\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Intercom-logo-sq-black-trans.png\",\"width\":1000,\"height\":1000,\"caption\":\"The Intercom Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/intercominc\",\"https:\\\/\\\/x.com\\\/intercom\",\"https:\\\/\\\/www.instagram.com\\\/intercom\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/2491343\",\"https:\\\/\\\/www.pinterest.ie\\\/intercom\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCJG0MvLP03kyzzAkD-w98aQ\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Intercom_(company)\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/#\\\/schema\\\/person\\\/cd6a931251cfe3a2d96234d1650f9489\",\"name\":\"Sofia Tzima\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg58b14177b61f8fac2b49bb7119f6104a\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg\",\"caption\":\"Sofia Tzima\"},\"description\":\"Former Product Engineer, Intercom. Mainly backend focused engineer with an interest in APIs and integrations but has worked full stack throughout her career. You can find more writing by Sofia at her Medium page.\",\"url\":\"https:\\\/\\\/www.intercom.com\\\/blog\\\/author\\\/sophiesiw\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Top Software Engineering Interview Questions [+Interview Prep]","description":"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/","og_locale":"en_US","og_type":"article","og_title":"How to prepare for software engineering interview questions","og_description":"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.","og_url":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/","og_site_name":"The Intercom Blog","article_publisher":"https:\/\/www.facebook.com\/intercominc","article_published_time":"2019-04-24T16:03:10+00:00","article_modified_time":"2020-07-30T11:54:41+00:00","og_image":[{"width":3600,"height":1680,"url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","type":"image\/jpeg"}],"author":"Sofia Tzima","twitter_card":"summary_large_image","twitter_creator":"@intercom","twitter_site":"@intercom","twitter_misc":{"Written by":"Sofia Tzima","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/#article","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/"},"author":{"name":"Sofia Tzima","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/cd6a931251cfe3a2d96234d1650f9489"},"headline":"How to prepare for software engineering interview questions","datePublished":"2019-04-24T16:03:10+00:00","dateModified":"2020-07-30T11:54:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/"},"wordCount":2324,"publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","keywords":["interview"],"articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/","url":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/","name":"Top Software Engineering Interview Questions [+Interview Prep]","isPartOf":{"@id":"https:\/\/www.intercom.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/#primaryimage"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","datePublished":"2019-04-24T16:03:10+00:00","dateModified":"2020-07-30T11:54:41+00:00","description":"If you are a graduate software engineer and preparing for your first job interviews, here are some tips that you can use to set yourself up for success.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/software-engineering-interview-questions\/#primaryimage","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","width":3600,"height":1680},{"@type":"WebSite","@id":"https:\/\/www.intercom.com\/blog\/#website","url":"https:\/\/www.intercom.com\/blog\/","name":"The Intercom Blog","description":"Articles and Podcasts on Customer Service, AI and Automation, Product, and more","publisher":{"@id":"https:\/\/www.intercom.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intercom.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intercom.com\/blog\/#organization","name":"The Intercom Blog","url":"https:\/\/www.intercom.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","contentUrl":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/08\/Intercom-logo-sq-black-trans.png","width":1000,"height":1000,"caption":"The Intercom Blog"},"image":{"@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/intercominc","https:\/\/x.com\/intercom","https:\/\/www.instagram.com\/intercom\/","https:\/\/www.linkedin.com\/company\/2491343","https:\/\/www.pinterest.ie\/intercom\/","https:\/\/www.youtube.com\/channel\/UCJG0MvLP03kyzzAkD-w98aQ","https:\/\/en.wikipedia.org\/wiki\/Intercom_(company)"]},{"@type":"Person","@id":"https:\/\/www.intercom.com\/blog\/#\/schema\/person\/cd6a931251cfe3a2d96234d1650f9489","name":"Sofia Tzima","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg58b14177b61f8fac2b49bb7119f6104a","url":"https:\/\/secure.gravatar.com\/avatar\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3d4e8ef7d50cee70b593ad9743b54b1438642d4d769b63ac18dcae0c7c39b5a?s=96&d=mm&r=pg","caption":"Sofia Tzima"},"description":"Former Product Engineer, Intercom. Mainly backend focused engineer with an interest in APIs and integrations but has worked full stack throughout her career. You can find more writing by Sofia at her Medium page.","url":"https:\/\/www.intercom.com\/blog\/author\/sophiesiw\/"}]}},"jetpack_featured_media_url":"https:\/\/www.intercom.com\/blog\/wp-content\/uploads\/2019\/04\/Software-engineer-interview-questions.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/20191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/users\/294"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/comments?post=20191"}],"version-history":[{"count":0,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/posts\/20191\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media\/20192"}],"wp:attachment":[{"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/media?parent=20191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/category?post=20191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/tags?post=20191"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.intercom.com\/blog\/wp-json\/wp\/v2\/coauthors?post=20191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}