Skip to main content

Recent Software Engineer Interview Questions

Review this list of 650 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Meta logoAsked at Meta 
    3 answers

    "Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load). Designed a web crawler."

    Faraz A. - "Scoped out problem constraints - how much data to download, how many computers, and how much time, how you can be detected (decentralized load). Designed a web crawler."See full answer

    Software Engineer
    System Design
    +1 more
  • Freshworks logoAsked at Freshworks 
    5 answers
    +2

    "Designing a Price Drop Tracker system like CamelCamelCamel involves creating a platform that tracks price changes for products on various e-commerce websites and notifies users when prices drop. Here’s a detailed system design for such a service: Functional Requirements User Registration and Authentication\: Users can register and log in. Support for social media logins (e.g., Google, Facebook). Product Tracking\: Users can add products to their watchlist for"

    Scott S. - "Designing a Price Drop Tracker system like CamelCamelCamel involves creating a platform that tracks price changes for products on various e-commerce websites and notifies users when prices drop. Here’s a detailed system design for such a service: Functional Requirements User Registration and Authentication\: Users can register and log in. Support for social media logins (e.g., Google, Facebook). Product Tracking\: Users can add products to their watchlist for"See full answer

    Software Engineer
    System Design
    +1 more
  • Capital One logoAsked at Capital One 
    2 answers

    "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
    Analytical
    +2 more
  • DoorDash logoAsked at DoorDash 
    2 answers

    "The reason I want to work at Doordash is because I’m a really hard worker, I never give up and I’m good at delivering stuff to my teachers at school whenever they have something to drop off to them, I look at the paper and then I read the directions given to me on the ipad to drop it off."

    Amparo L. - "The reason I want to work at Doordash is because I’m a really hard worker, I never give up and I’m good at delivering stuff to my teachers at school whenever they have something to drop off to them, I look at the paper and then I read the directions given to me on the ipad to drop it off."See full answer

    Software Engineer
    Behavioral
    +2 more
  • DoorDash logoAsked at DoorDash 
    1 answer

    "Thorough analysis of the asks- what is the strategic fit, overall business value, goals? Analysis of resources - skillset/ time/ dependencies. Create a list of all the things that we have to do, rank them by value(impact), urgency and effort needed. Stakehodler inputs. Moscow priroitization/ value vs effort frameworks. Have clear communication channels with our stakehodlers to socialzie progress/ effort Sequence the asks - subject to changing circumstances. Call ou"

    Anonymous Boa - "Thorough analysis of the asks- what is the strategic fit, overall business value, goals? Analysis of resources - skillset/ time/ dependencies. Create a list of all the things that we have to do, rank them by value(impact), urgency and effort needed. Stakehodler inputs. Moscow priroitization/ value vs effort frameworks. Have clear communication channels with our stakehodlers to socialzie progress/ effort Sequence the asks - subject to changing circumstances. Call ou"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.

  • DocuSign logoAsked at DocuSign 
    1 answer

    "The real discussion was very much similar o what exposed at https://www.tryexponent.com/courses/software-engineering/system-design/design-rate-limiter, but - as I commented the video - the real interviewer wasn't so naive to do not forgive the client identification only because IP. I had to introduce glimpses of https://en.wikipedia.org/wiki/Knowyourcustomer practice, I quoted JWT. I proposed a logical map of id addressing a "deque" of time-stamps of requests, with a threshold for the deque an"

    Luca D. - "The real discussion was very much similar o what exposed at https://www.tryexponent.com/courses/software-engineering/system-design/design-rate-limiter, but - as I commented the video - the real interviewer wasn't so naive to do not forgive the client identification only because IP. I had to introduce glimpses of https://en.wikipedia.org/wiki/Knowyourcustomer practice, I quoted JWT. I proposed a logical map of id addressing a "deque" of time-stamps of requests, with a threshold for the deque an"See full answer

    Software Engineer
    System Design
  • 1 answer

    "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("

    Jaya S. - "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    9 answers
    +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
  • "Classes are represented in memory as areas where code and class shared objects are. The JVM use class loader to load classes and unload them if no more required at runtime as specified at https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.7, to name a very consolidated version of JVM. The interviewers supposed memory was freed without being subject to GC. I asked to discuss to clarify which hypothesis is right, the interviewers dismissed me. I'm very happy they didn't select m"

    Luca D. - "Classes are represented in memory as areas where code and class shared objects are. The JVM use class loader to load classes and unload them if no more required at runtime as specified at https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.7, to name a very consolidated version of JVM. The interviewers supposed memory was freed without being subject to GC. I asked to discuss to clarify which hypothesis is right, the interviewers dismissed me. I'm very happy they didn't select m"See full answer

    Software Engineer
    Technical
  • DoorDash logoAsked at DoorDash 
    2 answers

    "Binary Search on the array and after than compare the numbers at low and the high pointers whichever is closest is the answer. Because after the binary search low will be pointing to a number which is immediate greater than x and high will be pointing to a number which is immediate lesser than x. int low = 0; int high = n-1; while(low <= high){ int mid = (low + high) / 2; if(x == arr[mid]) return mid; //if x is already present then it will be the closest else if(x < arr[mid]) high"

    Shashwat K. - "Binary Search on the array and after than compare the numbers at low and the high pointers whichever is closest is the answer. Because after the binary search low will be pointing to a number which is immediate greater than x and high will be pointing to a number which is immediate lesser than x. int low = 0; int high = n-1; while(low <= high){ int mid = (low + high) / 2; if(x == arr[mid]) return mid; //if x is already present then it will be the closest else if(x < arr[mid]) high"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • DoorDash logoAsked at DoorDash 
    Add answer
    Software Engineer
    Behavioral
  • Microsoft logoAsked at Microsoft 
    3 answers

    "Let me try to explain it with simple life analogy You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster. In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."

    Praveen D. - "Let me try to explain it with simple life analogy You're cooking dinner in the kitchen. Multithreading is when you've got a bunch of friends helping out. Each friend does a different job—like one chops veggies while another stirs a sauce. Everyone focuses on their task, and together, you all make the meal faster. In a computer, it's like different jobs happening all at once, making stuff happen quicker, just like having lots of friends helping makes dinner ready faster."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Microsoft logoAsked at Microsoft 
    2 answers

    "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"

    Anonymous Starfish - "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"See full answer

    Software Engineer
    Behavioral
  • Airbnb logoAsked at Airbnb 
    1 answer

    "I'm currently a School Bus Monitor at First Student, I make sure that the students on the bus are seated down, making sure they are safe during the bus ride. Sometimes depending on the day they may need me to help do a wheelchair so I sometimes help the driver out with making sure the wheelchair is safely secure, hooking up the 4 hooks on the wheelchair, putting the lap belt on the student and also making sure the student feels comfortable during the bus ride. After we finished dropping off our"

    Amparo L. - "I'm currently a School Bus Monitor at First Student, I make sure that the students on the bus are seated down, making sure they are safe during the bus ride. Sometimes depending on the day they may need me to help do a wheelchair so I sometimes help the driver out with making sure the wheelchair is safely secure, hooking up the 4 hooks on the wheelchair, putting the lap belt on the student and also making sure the student feels comfortable during the bus ride. After we finished dropping off our"See full answer

    Software Engineer
    Behavioral
    +4 more
  • Amazon logoAsked at Amazon 
    2 answers

    "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"

    Anonymous Wombat - "Was the statement very similar to the leetcode or was it changed and only the main idea remained?"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Apple logoAsked at Apple 
    36 answers
    +30

    "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
  • Google logoAsked at Google 
    1 answer

    "Situation: As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot. Task: I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"

    fuzzyicecream14 - "Situation: As a Product Manager at Cisco, I was leading the development of a new highly critical product for enterprise customers. Midway through the project, a key engineering team was reassigned due to an urgent security patch, leaving us understaffed with only six weeks left before a critical customer pilot. Task: I had to ensure the product launched on time without sacrificing key features, despite losing half of our engineering team. The challenge was to"See full answer

    Software Engineer
    Behavioral
  • Databricks logoAsked at Databricks 
    1 answer

    "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"

    Yashasvi C. - "I would first like to clarify the requirements and assumptions for the system. I am assuming that the system should support basic file operations such as uploading, downloading, deleting, renaming files, and viewing directory structures along with file permissions. The file size can range from around 1MB to 1GB, and the system is expected to be read heavy, meaning downloads will be more frequent than uploads. The system should support a large scale, for example around 10 million total users with"See full answer

    Software Engineer
    System Design
    +1 more
  • Google logoAsked at Google 
    2 answers

    "def split_count(s): return 2**(len(s)-1) `"

    Steve M. - "def split_count(s): return 2**(len(s)-1) `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Adobe logoAsked at Adobe 
    15 answers
    +10

    " function climbStairs(n) { // 4 iterations of Dynamic Programming solutions: // Step 1: Recursive: // if (n <= 2) return n // return climbStairs(n-1) + climbStairs(n-2) // Step 2: Top-down Memoization // const memo = {0:0, 1:1, 2:2} // function f(x) { // if (x in memo) return memo[x] // memo[x] = f(x-1) + f(x-2) // return memo[x] // } // return f(n) // Step 3: Bottom-up Tabulation // const tab = [0,1,2] // f"

    Matthew K. - " function climbStairs(n) { // 4 iterations of Dynamic Programming solutions: // Step 1: Recursive: // if (n <= 2) return n // return climbStairs(n-1) + climbStairs(n-2) // Step 2: Top-down Memoization // const memo = {0:0, 1:1, 2:2} // function f(x) { // if (x in memo) return memo[x] // memo[x] = f(x-1) + f(x-2) // return memo[x] // } // return f(n) // Step 3: Bottom-up Tabulation // const tab = [0,1,2] // f"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
Showing 381-400 of 650