Top Software Engineer Interview Questions with Example Answers [2020]

Prepare for your Software Engineer interview by going through these most asked Software Engineer interview questions. Additionally, get access to sample answers and interviewer's expectations.

Search Software Engineer Questions:


  • Question: What is the difference between Code-First and Database-First method?
  • Question Overview: This question is designed to see how well a candidate understands the difference between Code-First and Database-First method.

    Sample Answer: Code-First is a development approach in which you write your code first and then create your database. Database-First is a development approach in which you create your database first and then write your code.

      What the interviewer is looking for:
    • - Understanding of Code-First and Database-First
    • - Knowledge of database

  • Question: What is a linked list?
  • Question Overview: This is a basic computer science question that tests a candidate's knowledge of data structures and algorithms.

    Sample Answer: A linked list is a data structure that contains a series of nodes. Each node contains a value and a pointer to the next node in the list. The last node in the list contains a pointer to null, which is used to indicate the end of the list.

      What the interviewer is looking for:
    • - Data structure knowledge
    • - Algorithms knowledge
    • - Computer science knowled

  • Question: What is your experience with Java?
  • Question Overview: This question is designed to test the candidate's knowledge of Java and their ability to articulate their experience with the language.

    Sample Answer: I've been working with Java for the last five years. I've worked on a number of different projects using Java, from web applications to desktop applications. I've also worked on a few Android apps using Java.

      What the interviewer is looking for:
    • - Java knowledge
    • - Java experience
    • - Java fit

  • Question: Implement a stack from scratch and include a min() function that performs at O(1) time.
  • Question Overview: This question is designed to test a candidate's knowledge of data structures and their ability to implement them.

    Sample Answer: I would create a class called Stack that would have two private variables: a pointer to the top of the stack and an integer that represents the number of items in the stack. The constructor would take two parameters: the number of items in the stack and the pointer to the top of the stack. The push() method would take a single parameter, which is the item to be added to the stack. The pop() method would take no parameters and return an item from the stack. The min() function would take no parameters and return an integer representing the minimum value in the stack.

      What the interviewer is looking for:
    • - Coding ability
    • - Data structure knowledge
    • - Problem-solving abilit

  • Question: How will you find the first pair of numbers that sums to a given target value?
  • Question Overview: This question is designed to test the candidate's problem-solving skills and their ability to think outside the box.

    Sample Answer: I would first try to find the highest value that the first number could be. Then I would try to find the lowest value that the second number could be. Then I would try to find a range of values for both numbers that would sum to the target value.

      What the interviewer is looking for:
    • - Problem-solving skills
    • - Ability to think outside the box
    • - Creativity

  • Question: What are your hobbies?
  • Question Overview: This question is designed to see how well a candidate can communicate outside of their professional life. It also gives you insight into what they do for fun and how they spend their free time.

    Sample Answer: I like to go running in the mornings, and I'm a big fan of the New York Yankees. I also like to read books on history and politics, and I'm a member of the local library.

      What the interviewer is looking for:
    • - Hobbies
    • - Communication skills
    • - Personality

  • Question: How would you reverse a string?
  • Question Overview: This is a basic coding question that tests the candidate's knowledge of the most common string functions.

    Sample Answer: I would use a for loop to iterate through each character in the string and use a switch statement to check if the character is a letter or not. If it is a letter, I would add it to the end of the reversed string, and if it isn't, I would add a space to the end of the reversed string.

      What the interviewer is looking for:
    • - Coding knowledge
    • - Coding ability
    • - Problem-solving skills

  • Question: Tell me about your life.
  • Question Overview: This question is designed to see how well the candidate can tell a story and how well they can communicate.

    Sample Answer: I grew up in a small town in the Midwest, and I was always interested in computers. I started programming when I was 12, and by the time I was in high school, I was working part-time as a web developer. After high school, I went to college and got a degree in Computer Science. I've been working as a software engineer for the past three years, and I love it!

      What the interviewer is looking for:
    • - Communication skills
    • - Storytelling skills
    • - Personality

  • Question: How would you design a LRU cache?
  • Question Overview: This question is designed to see how well a candidate can think through a problem, and how they would implement a solution.

    Sample Answer: A least recently used cache is a cache that stores the least recently used items in memory. This is useful for applications that have a lot of traffic and need to keep the most frequently accessed items in memory. The first step in designing a LRU cache is to determine what data structure you will use to store the items. I would use a hash table with a size of 2^n, where n is the number of items in the cache. The next step is to determine how you will determine if an item is least recently used. I would use a timestamp on each item in the cache, and then use that timestamp to determine if an item was least recently used.

      What the interviewer is looking for:
    • - Coding ability
    • - Problem-solving skills
    • - Problem-solving abilit

  • Question: How would you solve a problem on where to place new AmazonGo stores based on a map of current Amazon locations?
  • Question Overview: This question tests a candidate's ability to think through a problem and come up with a solution.

    Sample Answer: I would start by drawing a map of the current Amazon locations. Then I would look at the map and try to find patterns in where they are located. I would then try to find a pattern in the new proposed locations and see if there is a way to optimize the placement of new stores.

      What the interviewer is looking for:
    • - Problem-solving skills
    • - Ability to think through a problem
    • - Creativity