Software Engineer Interview Questions

Review this list of 497 software engineer interview questions and answers verified by hiring managers and candidates.
  • +1

    "I think sliding window will work here and it is the most optimized approach to solve this question."

    Gaurav K. - "I think sliding window will work here and it is the most optimized approach to solve this question."See full answer

    Software Engineer
    Coding
    +1 more
  • TikTok logoAsked at TikTok 

    "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."

    Jagan M. - "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."See full answer

    Software Engineer
    System Design
    +1 more
  • Software Engineer
    Behavioral
  • "To recount an experience from my last project . We were at the initial stages of designing a new data platform to enhance our trading analytics capabilities. The conflict arose over the selection of a data processing framework. I was advocating for Apache Spark due to its scalability and performance benefits, especially for handling large volumes of derivatives data. Another senior team member preferred a different technology they had more experience with, which they believed would be easier to"

    Scott S. - "To recount an experience from my last project . We were at the initial stages of designing a new data platform to enhance our trading analytics capabilities. The conflict arose over the selection of a data processing framework. I was advocating for Apache Spark due to its scalability and performance benefits, especially for handling large volumes of derivatives data. Another senior team member preferred a different technology they had more experience with, which they believed would be easier to"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Apple logoAsked at Apple 
    Software Engineer
    Data Structures & Algorithms
    +4 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Amazon logoAsked at Amazon 

    "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."

    Ali H. - "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."See full answer

    Software Engineer
    Concept
    +7 more
  • Nvidia logoAsked at Nvidia 

    "`#include using namespace std; void printNumbersTillN(int n){ if(n_==0){ return; } printNumbersTillN(n-1); // go to the end -> reach 1 cout>_n; printNumbersTillN(n); }`"

    Jet 1. - "`#include using namespace std; void printNumbersTillN(int n){ if(n_==0){ return; } printNumbersTillN(n-1); // go to the end -> reach 1 cout>_n; printNumbersTillN(n); }`"See full answer

    Software Engineer
    Coding
  • Airbnb logoAsked at Airbnb 

    "Colleague moved to a different role, so I decided to fill in and did outshine in showing results within the group."

    Anjali M. - "Colleague moved to a different role, so I decided to fill in and did outshine in showing results within the group."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Capital One logoAsked at Capital One 

    "conduct direct user research through methods such as interviews, surveys, and focus groups to gather qualitative insights into user preferences, pain points, and behaviors. Additionally, I analyze quantitative data from sources like user analytics, feedback metrics, and market research to identify trends and patterns. Collaborating closely with stakeholders, including customers, internal teams, and subject matter experts, further enriches the requirements gathering process by incorporating diver"

    Jack F. - "conduct direct user research through methods such as interviews, surveys, and focus groups to gather qualitative insights into user preferences, pain points, and behaviors. Additionally, I analyze quantitative data from sources like user analytics, feedback metrics, and market research to identify trends and patterns. Collaborating closely with stakeholders, including customers, internal teams, and subject matter experts, further enriches the requirements gathering process by incorporating diver"See full answer

    Software Engineer
    Execution
    +2 more
  • Spotify logoAsked at Spotify 

    Balanced Tree

    IDE
    Medium
    +7

    "function visitChildren(node) { let leftSubtreeHeight = 0; let rightSubtreeHeight = 0; let isChildrenBalanced = true; if (node.left) { const { isBalanced, height } = visitChildren(node.left); isChildrenBalanced = isChildrenBalanced && isBalanced; leftSubtreeHeight += height + 1; } if (isChildrenBalanced && node.right) { const { isBalanced, height } = visitChildren(node.right); isChildrenBalanced = isChildrenBalanced && isBalan"

    Tiago R. - "function visitChildren(node) { let leftSubtreeHeight = 0; let rightSubtreeHeight = 0; let isChildrenBalanced = true; if (node.left) { const { isBalanced, height } = visitChildren(node.left); isChildrenBalanced = isChildrenBalanced && isBalanced; leftSubtreeHeight += height + 1; } if (isChildrenBalanced && node.right) { const { isBalanced, height } = visitChildren(node.right); isChildrenBalanced = isChildrenBalanced && isBalan"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    +1

    "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"

    Vaibhav C. - "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"See full answer

    Software Engineer
    Coding
    +2 more
  • "Initially I asked clarifying questions like whether the tree can be empty or not and asked the interviewer to explain what is meant by left view and the explanation for the sample inputs. Then I came up with the level order traversal approach where we visit each level in the binary tree at once using a queue and at each level print the value of the first node. Interviewer seemed satisfied with the approach and asked me to code it up. Finally gave the time and space complexity of the solution."

    Ds S. - "Initially I asked clarifying questions like whether the tree can be empty or not and asked the interviewer to explain what is meant by left view and the explanation for the sample inputs. Then I came up with the level order traversal approach where we visit each level in the binary tree at once using a queue and at each level print the value of the first node. Interviewer seemed satisfied with the approach and asked me to code it up. Finally gave the time and space complexity of the solution."See full answer

    Software Engineer
  • Amazon logoAsked at Amazon 

    "Situation - A time I saw a peer struggling was while I was at Google working in Mountain View. A fellow colleague of mine was consistently not meeting standards in his performance reviews and wasn’t sure why. He was upset because Google was his dream company and he wasn’t sure how to improve based on his feedback. Task - I was tasked to design a based VUI framework for our discovery space on smart displays. This colleague was acting as the VUI lead for the project while I acted as t"

    Ben G. - "Situation - A time I saw a peer struggling was while I was at Google working in Mountain View. A fellow colleague of mine was consistently not meeting standards in his performance reviews and wasn’t sure why. He was upset because Google was his dream company and he wasn’t sure how to improve based on his feedback. Task - I was tasked to design a based VUI framework for our discovery space on smart displays. This colleague was acting as the VUI lead for the project while I acted as t"See full answer

    Software Engineer
    Behavioral
    +3 more
  • +5

    "function knapsack(weights, values, cap) { const indicesByValue = Object.keys(weights).map(weight => parseInt(weight)); indicesByValue.sort((a, b) => values[b]-values[a]); const steps = new Map(); function knapsackStep(cap, sack) { if (steps.has(sack)) { return steps.get(sack); } let maxOutput = 0; for (let index of indicesByValue) { if (!sack.has(index) && weights[index] <= cap) { maxOutput ="

    Tiago R. - "function knapsack(weights, values, cap) { const indicesByValue = Object.keys(weights).map(weight => parseInt(weight)); indicesByValue.sort((a, b) => values[b]-values[a]); const steps = new Map(); function knapsackStep(cap, sack) { if (steps.has(sack)) { return steps.get(sack); } let maxOutput = 0; for (let index of indicesByValue) { if (!sack.has(index) && weights[index] <= cap) { maxOutput ="See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."

    Techzen I. - "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Apple logoAsked at Apple 

    "I was able to provide the optimal approach and coded it up"

    Anonymous Wasp - "I was able to provide the optimal approach and coded it up"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Microsoft logoAsked at Microsoft 
    Video answer for 'Find the number of rotations in a circularly sorted array.'
    +8

    "function findRotations(nums) { if (nums.length 0 && nums[mid] > nums[mid-1]) { left = mid; } else { right = mid; } } return rig"

    Tiago R. - "function findRotations(nums) { if (nums.length 0 && nums[mid] > nums[mid-1]) { left = mid; } else { right = mid; } } return rig"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Discord logoAsked at Discord 
    Software Engineer
    Behavioral
    +4 more
Showing 261-280 of 497