Skip to main content

Software Engineer Interview Questions

Review this list of 619 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Oracle logoAsked at Oracle 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "I followed STAR format"

    Shashikant A. - "I followed STAR format"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Adobe logoAsked at Adobe 
    Video answer for 'Move all zeros to the end of an array.'
    +61

    "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "

    Avon T. - "Initialize left pointer: Set a left pointer left to 0. Iterate through the array: Iterate through the array from left to right. If the current element is not 0, swap it with the element at the left pointer and increment left. Time complexity: O(n). The loop iterates through the entire array once, making it linear time. Space complexity: O(1). The algorithm operates in-place, modifying the input array directly without using additional data structures. "See full answer

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

    "General response: Apple’s approach to delivering seamless, personalized experiences through data, while upholding a strong ethical commitment to privacy, resonates with my own values. I want to contribute to projects that optimize user engagement and create meaningful interactions on a large scale, and I believe Apple is the ideal place to make that impact. Tailored to the team: Talk about the product, its impact internally, and the customer."

    Arshia I. - "General response: Apple’s approach to delivering seamless, personalized experiences through data, while upholding a strong ethical commitment to privacy, resonates with my own values. I want to contribute to projects that optimize user engagement and create meaningful interactions on a large scale, and I believe Apple is the ideal place to make that impact. Tailored to the team: Talk about the product, its impact internally, and the customer."See full answer

    Software Engineer
    Behavioral
    +2 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • "While answering such a question, it is important to focus on personal growth, learning, and how the experience improved your teamwork. You want to demonstrate self-awareness, humility, and an ability to adapt. I had this experience while working on a cross-functional project that involved collaboration between the engineering and marketing teams. In the interview, I shared a story when I misjudged someone and showed unconscious bias towards due their gender, ethnicity or age. It was embarrassin"

    Malay K. - "While answering such a question, it is important to focus on personal growth, learning, and how the experience improved your teamwork. You want to demonstrate self-awareness, humility, and an ability to adapt. I had this experience while working on a cross-functional project that involved collaboration between the engineering and marketing teams. In the interview, I shared a story when I misjudged someone and showed unconscious bias towards due their gender, ethnicity or age. It was embarrassin"See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 

    "When I did't reach my expected deadline and if my work is unfinished after the deadline is arrived, I started rectifying the areas where I leg behind why i did't meet the expected deadline and i complete the work as soon as possible by working double and hard . And next time i will make sure that the problems which i faced earlier should not arrived again , and I mus match the deadline."

    Deepak K. - "When I did't reach my expected deadline and if my work is unfinished after the deadline is arrived, I started rectifying the areas where I leg behind why i did't meet the expected deadline and i complete the work as soon as possible by working double and hard . And next time i will make sure that the problems which i faced earlier should not arrived again , and I mus match the deadline."See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 

    "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."

    Amparo L. - "One time at Lifetime Fitness 2019, One student was throwing a lot of towels in the counter which made things very disorganized, then I made a compromise with my coworker to put 2 towels at a time and then it worked well because it made the workspace very organized."See full answer

    Software Engineer
    Behavioral
    +1 more
  • Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 

    "performance issues and sudden spikes on input requests by scaling techniques and optimization."

    Srini K. - "performance issues and sudden spikes on input requests by scaling techniques and optimization."See full answer

    Software Engineer
    Behavioral
    +5 more
  • "Build a counter using queue, one queue per service ("a", "b") and one with just timestamps to get the overall load. Build rate limiter service using the counter and interviewer asked if there rate limiter might use a different instance of a counter"

    Chethan N. - "Build a counter using queue, one queue per service ("a", "b") and one with just timestamps to get the overall load. Build rate limiter service using the counter and interviewer asked if there rate limiter might use a different instance of a counter"See full answer

    Software Engineer
    Coding
  • Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    Video answer for 'Design a key-value store.'

    "Simple file system ( Hash Map , LSM trees), and consistent hashing. I failed to discuss about conflicts ( Versioning)"

    V V. - "Simple file system ( Hash Map , LSM trees), and consistent hashing. I failed to discuss about conflicts ( Versioning)"See full answer

    Software Engineer
    System Design
    +2 more
  • Amazon logoAsked at Amazon 
    +6

    "DFS with check of an already seen node in the graph would work from collections import deque, defaultdict from typing import List def iscourseloopdfs(idcourse: int, graph: defaultdict[list]) -> bool: stack = deque([(id_course)]) seen_courses = set() while stack: print(stack) curr_course = stack.pop() if currcourse in seencourses: return True seencourses.add(currcourse) for dependency in graph[curr_course]: "

    Gabriele G. - "DFS with check of an already seen node in the graph would work from collections import deque, defaultdict from typing import List def iscourseloopdfs(idcourse: int, graph: defaultdict[list]) -> bool: stack = deque([(id_course)]) seen_courses = set() while stack: print(stack) curr_course = stack.pop() if currcourse in seencourses: return True seencourses.add(currcourse) for dependency in graph[curr_course]: "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 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
  • Amazon logoAsked at Amazon 
    +3

    " The Situation A few months ago, our trading platform started experiencing significant latency issues during peak trading hours. This latency was affecting our ability to process real-time market data and execute trades efficiently, potentially leading to substantial financial losses and missed opportunities. Identifying the Problem The first step was to identify the root cause of the latency. I organized a team meeting with our data engineers, DevOps, and network specialists to gather"

    Scott S. - " The Situation A few months ago, our trading platform started experiencing significant latency issues during peak trading hours. This latency was affecting our ability to process real-time market data and execute trades efficiently, potentially leading to substantial financial losses and missed opportunities. Identifying the Problem The first step was to identify the root cause of the latency. I organized a team meeting with our data engineers, DevOps, and network specialists to gather"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Adobe logoAsked at Adobe 
    Video answer for 'Given stock prices for the next n days, how can you maximize your profit by buying or selling one share per day?'
    +14

    "public static int maxProfitGreedy(int[] stockPrices) { int maxProfit = 0; for(int i = 1; i todayPrice) { maxProfit += tomorrowPrice - todayPrice; } } return maxProfit; } "

    Laksitha R. - "public static int maxProfitGreedy(int[] stockPrices) { int maxProfit = 0; for(int i = 1; i todayPrice) { maxProfit += tomorrowPrice - todayPrice; } } return maxProfit; } "See full answer

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

    "Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."

    דניאל ר. - "Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • "I would assume that this is similar to an intervals question. Meeting Rooms II (https://www.lintcode.com/problem/919/?fromId=203&_from=collection) on Leetcode seems like the closest comparison, it's a premium question so I linked Lintcode. I'm assuming that we also need to just return the minimum number of cars used. You need to sort for the most optimal solution, so you're constrained by an O(nlogn) time complexity. So any sorting solution could work (using a heap, sorting the array input arra"

    Sohum S. - "I would assume that this is similar to an intervals question. Meeting Rooms II (https://www.lintcode.com/problem/919/?fromId=203&_from=collection) on Leetcode seems like the closest comparison, it's a premium question so I linked Lintcode. I'm assuming that we also need to just return the minimum number of cars used. You need to sort for the most optimal solution, so you're constrained by an O(nlogn) time complexity. So any sorting solution could work (using a heap, sorting the array input arra"See full answer

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

    "General Approach (using Max-Heap) Use a max-heap (priority queue) of size k. For each point: Compute the distance to P. Push it into the heap. If heap size > k, remove the farthest point. The heap will contain the k closest points to P. import java.util.*; public class KClosestPoints { static class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } // Euclidean distance squared (no need to take square root) p"

    Khushbu R. - "General Approach (using Max-Heap) Use a max-heap (priority queue) of size k. For each point: Compute the distance to P. Push it into the heap. If heap size > k, remove the farthest point. The heap will contain the k closest points to P. import java.util.*; public class KClosestPoints { static class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } // Euclidean distance squared (no need to take square root) p"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
Showing 141-160 of 619