Skip to main content

Software Engineer Interview Questions

Review this list of 592 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • +11

    "Would be better to adjust resolution in the video player directly."

    Anonymous Prawn - "Would be better to adjust resolution in the video player directly."See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"

    Adarsh S. - "Thanks for the question! This is one of my favourite topics because it’s at the core of what we do as PMs DAILY: making the complex simple to drive alignment. I’ve got a structured way to approach this, and I’ll use it to explain payment aggregators - like Plaid - and how they enable Open Banking, with a twist about a technical hiccup I’ve seen in practice. Let’s dive in. I start by assessing the audience. Say I’m talking to a marketing manager at Transak - someone sharp but not techni"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Meta logoAsked at Meta 

    "class TreeNode(var val: Int, var left: TreeNode? = null, var right: TreeNode? = null) fun isAverageOfDescendants(root: TreeNode?): Boolean { fun helper(node: TreeNode?): Triple { if (node == null) return Triple(0, 0, true) val (leftSum, leftCount, leftValid) = helper(node.left) val (rightSum, rightCount, rightValid) = helper(node.right) val totalSum = leftSum + rightSum val totalCount = leftCount + rightCount // If leaf n"

    Gaurav B. - "class TreeNode(var val: Int, var left: TreeNode? = null, var right: TreeNode? = null) fun isAverageOfDescendants(root: TreeNode?): Boolean { fun helper(node: TreeNode?): Triple { if (node == null) return Triple(0, 0, true) val (leftSum, leftCount, leftValid) = helper(node.left) val (rightSum, rightCount, rightValid) = helper(node.right) val totalSum = leftSum + rightSum val totalCount = leftCount + rightCount // If leaf n"See full answer

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

    "we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"

    Kishor J. - "we can use two pointer + set like maintain i,j and also insert jth character to set like while set size is equal to our window j-i+1 then maximize our answer and increase jth pointer till last index"See full answer

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

  • +2

    "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"

    Pramod V. - "Referring to https://www.forbes.com/sites/forbesbusinesscouncil/2022/03/23/15-strategies-for-balancing-competing-stakeholder-priorities/?sh=7c82aa68262f Understand the conflicting priorities and align it with the goal/ objectives and the company mission. Start with the Least Common Denominator between the conflicting priorities to come to a commonality and start from there to objectively approach the next imp priority Always keep communication on and be transparent with 'equality' an"See full answer

    Software Engineer
    Behavioral
    +5 more
  • Anthropic logoAsked at Anthropic 
    Video answer for 'Design a web crawler.'
    +7

    "I think, robots.txt file is provided by websites which web-crawler is crawling. Am I wrong somewhere or missing some context?"

    S V. - "I think, robots.txt file is provided by websites which web-crawler is crawling. Am I wrong somewhere or missing some context?"See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    +1

    "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"

    Ben G. - "Situation - A time I dealt with conflict while on a team was while I was working at Shopify on physical and digital gift card refund point of sale solutions. The situation was that we were dealing with complex technical constraints including not changing particular UI components behavior to act as they should be intended. On the refund screen, the existing design was using a toggle on the same screen to bring up a modal for gift card selection to either select digital or physical options. Thi"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Google logoAsked at Google 

    "These are a set of utilities used to manage the heap memory as part of an application. The C standard library implements these functions. malloc(bytes) takes a number of bytes and returns a pointer to the start of the allocated buffer. If the allocation failed, a null pointer is returned instead. calloc(count, size) behaves like malloc(count * size), but also zero-initializes the allocated buffer, assuming the allocation succeeded. realloc(ptr, size) takes a pointer to a previously al"

    J R. - "These are a set of utilities used to manage the heap memory as part of an application. The C standard library implements these functions. malloc(bytes) takes a number of bytes and returns a pointer to the start of the allocated buffer. If the allocation failed, a null pointer is returned instead. calloc(count, size) behaves like malloc(count * size), but also zero-initializes the allocated buffer, assuming the allocation succeeded. realloc(ptr, size) takes a pointer to a previously al"See full answer

    Software Engineer
    Coding
    +1 more
  • Oracle logoAsked at Oracle 

    " At low level: I would use two stacks: one for forward history and other for backward history. i go to tryexponent.com => this url will be stored in backward history stack. i go to google => again this url will be stored in backward history stack. i press back => data from backward history will be popped and put in to forward history stack. I press forward => data from forward history stack will be popped and put in to backward history tab. Also, whenever i go to any url,"

    Anubhav S. - " At low level: I would use two stacks: one for forward history and other for backward history. i go to tryexponent.com => this url will be stored in backward history stack. i go to google => again this url will be stored in backward history stack. i press back => data from backward history will be popped and put in to forward history stack. I press forward => data from forward history stack will be popped and put in to backward history tab. Also, whenever i go to any url,"See full answer

    Software Engineer
    System Design
    +1 more
  • OpenAI logoAsked at OpenAI 
    Video answer for 'Design ChatGPT'
    +1

    "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"

    Robert H. - "The addition of an intermediate "sanitization" ML is something Neeraj used in the Uber Eats design and again seems kind of outside the scope here and redundant. This can simply be built into the AI response model to save a step. It's not clear what benefit this step provides, and he basically said we should have it "just because it would be good" and there's no concrete reasoning why to include it. Adding a Kafka queue to handle the thumbs-down ratings? For what purpose do you need a queue othe"See full answer

    Software Engineer
    System Design
    +1 more
  • "def findfreetime(schedules): Step 1: Flatten the list of schedules into a single list of intervals all_intervals = [interval for schedule in schedules for interval in schedule] Handle edge case of an empty schedule if not all_intervals: return [] Step 2: Sort all intervals by their start time all_intervals.sort(key=lambda x: x[0]) Step 3: Merge overlapping intervals mergedbusy = [allintervals[0]] for currentstart, currentend in"

    Himanshu P. - "def findfreetime(schedules): Step 1: Flatten the list of schedules into a single list of intervals all_intervals = [interval for schedule in schedules for interval in schedule] Handle edge case of an empty schedule if not all_intervals: return [] Step 2: Sort all intervals by their start time all_intervals.sort(key=lambda x: x[0]) Step 3: Merge overlapping intervals mergedbusy = [allintervals[0]] for currentstart, currentend in"See full answer

    Software Engineer
    Coding
  • Software Engineer
    Behavioral
  • Microsoft logoAsked at Microsoft 

    "Sorted the array and stored the minimum difference in a variable and then traversed the array for the pairs having minimum difference"

    Aashka C. - "Sorted the array and stored the minimum difference in a variable and then traversed the array for the pairs having minimum difference"See full answer

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

    "Constraints: 4-direction moves; no mode switching (pick exactly one of {1=bicycle, 2=bike, 3=car, 4=bus} for the full trip). Per-mode search: If a mode’s per-step time/cost are uniform, run BFS on allowed cells. Then totaltime = steps × timeperstep, tie-break by steps × costper_step. If time/cost vary by cell (given matrices), run Dijkstra per mode minimizing (totaltime, totalcost) lexicographically. Maintain the best ⟨time, cost⟩ per cell; relax when the new pair is strictly better. S"

    Rahul J. - "Constraints: 4-direction moves; no mode switching (pick exactly one of {1=bicycle, 2=bike, 3=car, 4=bus} for the full trip). Per-mode search: If a mode’s per-step time/cost are uniform, run BFS on allowed cells. Then totaltime = steps × timeperstep, tie-break by steps × costper_step. If time/cost vary by cell (given matrices), run Dijkstra per mode minimizing (totaltime, totalcost) lexicographically. Maintain the best ⟨time, cost⟩ per cell; relax when the new pair is strictly better. S"See full answer

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

    "Inorder traversal of the tree should be the solution for this problem."

    Balasubramanian R. - "Inorder traversal of the tree should be the solution for this problem."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • "S – Situation: In a university project, my team was building a collaborative code editor. As part of the functionality, we needed a login system so users could securely access their sessions and collaborate in real time. T – Task: I was responsible for implementing the authentication system. Initially, I planned to build the entire login system from scratch, including user management, password storage, and session handling. But as the deadline approached, I realized that implementing thi"

    Hamzeh H. - "S – Situation: In a university project, my team was building a collaborative code editor. As part of the functionality, we needed a login system so users could securely access their sessions and collaborate in real time. T – Task: I was responsible for implementing the authentication system. Initially, I planned to build the entire login system from scratch, including user management, password storage, and session handling. But as the deadline approached, I realized that implementing thi"See full answer

    Software Engineer
    Behavioral
  • Video answer for 'Design Weather App'
    Software Engineer
    System Design
    +2 more
Showing 81-100 of 592