Software Engineer Interview Questions

Review this list of 438 software engineer interview questions and answers verified by hiring managers and candidates.
  • Adobe logoAsked at Adobe 
    +28

    "Reversing a linked list is a very popular question. We have two approaches to reverse the linked list: Iterative approach and recursion approach. Iterative approach (JavaScript) function reverseLL(head){ if(head === null) return head; let prv = null; let next = null; let cur = head; while(cur){ next = cur.next; //backup cur.next = prv; prv = cur; cur = next; } head = prv; return head; } Recursion Approach (JS) function reverseLLByRecursion("

    Satyam S. - "Reversing a linked list is a very popular question. We have two approaches to reverse the linked list: Iterative approach and recursion approach. Iterative approach (JavaScript) function reverseLL(head){ if(head === null) return head; let prv = null; let next = null; let cur = head; while(cur){ next = cur.next; //backup cur.next = prv; prv = cur; cur = next; } head = prv; return head; } Recursion Approach (JS) function reverseLLByRecursion("See full answer

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

    "Situation: Our company was going through tech stack updated and our team tasked to migrate existing code into Typescript(TS) and all future development to be written with TS within our codebase. TASK: Migrate existing codebase to TS and future integration to be TS compatible. ACTION: The team deep dived into picking up TS skill and learnt some basics and focused on delivering the migration in phases. I prioritised the files to migrate based on levels of complexity. I created a Fil"

    Shashank K. - "Situation: Our company was going through tech stack updated and our team tasked to migrate existing code into Typescript(TS) and all future development to be written with TS within our codebase. TASK: Migrate existing codebase to TS and future integration to be TS compatible. ACTION: The team deep dived into picking up TS skill and learnt some basics and focused on delivering the migration in phases. I prioritised the files to migrate based on levels of complexity. I created a Fil"See full answer

    Software Engineer
    Behavioral
    +1 more
  • +20

    "Since the problem asks for a O(logN) solution, I have to assume that the numbers are already sorted, meaning the same number are adjacent to each other, the value of the numbers shouldn't matter, and they expect us to use Binary Search. First, we should analyze the pattern of a regular number array without a single disrupter. Index: 0 1 2 3 4. 5 6. 7. 8. 9 Array:[1, 1, 2, 2, 4, 4, 5, 5, 6, 6] notice the odd indexes are always referencing the second of the reoccurring numbers and t"

    Bamboo Y. - "Since the problem asks for a O(logN) solution, I have to assume that the numbers are already sorted, meaning the same number are adjacent to each other, the value of the numbers shouldn't matter, and they expect us to use Binary Search. First, we should analyze the pattern of a regular number array without a single disrupter. Index: 0 1 2 3 4. 5 6. 7. 8. 9 Array:[1, 1, 2, 2, 4, 4, 5, 5, 6, 6] notice the odd indexes are always referencing the second of the reoccurring numbers and t"See full answer

    Software Engineer
    Coding
  • Accenture logoAsked at Accenture 
    Video answer for 'Tell me about yourself.'
    +111

    "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"

    Bipin R. - "As you know, this is the most important question for any interview. Here is a structure I like to follow, Start with 'I'm currently a SDE/PM/TPM etc with XYZ company.... ' Mention how you got into PM/TPM/SDE field (explaining your journey) Mention 1 or 2 accomplishments Mention what you do outside work (blogging, volunteer etc) Share why are you looking for a new role Ask the interviewer if they have any questions or will like to dive deep into any of your experience"See full answer

    Software Engineer
    Behavioral
    +9 more
  • Amazon logoAsked at Amazon 

    "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."

    B. T. - "The interviewer was interested how the system design would be for files, directories, symbolic links. After proposing my idea, I was asked to print all files for a given path."See full answer

    Software Engineer
    System Design
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Google logoAsked at Google 
    +55

    "Approach Clarify the question Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over Define constraints --> budgetary constraint, design should be user-friendly and convenient Define goals --> get folks out of harm's way quickly and notify fire department to c"

    Bella R. - "Approach Clarify the question Define deaf --> unable to hear, but can communicate via sign language, lip read and use all other senses Define fire alarm --> for residential use, it notifies occupants of smoke and potential fires and alerts fire department to check in and/or come over Define constraints --> budgetary constraint, design should be user-friendly and convenient Define goals --> get folks out of harm's way quickly and notify fire department to c"See full answer

    Software Engineer
    Product Design
    +2 more
  • Amazon logoAsked at Amazon 
    Video answer for 'What is the project you are most proud of?'
    +49

    "I was working for my friend building streams at venues across the Chicago land area for FGC (fighting game tournaments), I adjusted and engineered his equipment to be set up permanently that's until covid came around at least. I used OBS to give visual appearances to stream watchers. So we're talking about subscribe, follow, and donation notifications and things of that nature for viewers to know they contributed in one of those ways. I set up proper sign-up scheduling for participants to lock t"

    Ayinde B. - "I was working for my friend building streams at venues across the Chicago land area for FGC (fighting game tournaments), I adjusted and engineered his equipment to be set up permanently that's until covid came around at least. I used OBS to give visual appearances to stream watchers. So we're talking about subscribe, follow, and donation notifications and things of that nature for viewers to know they contributed in one of those ways. I set up proper sign-up scheduling for participants to lock t"See full answer

    Software Engineer
    Behavioral
    +8 more
  • Apple logoAsked at Apple 

    "For any project based questions, it is important to structure your response clearly, showcasing your thought process, technical skills, problem-solving abilities, and how your work added value. Besides the STAR method, you can also use this kind of framework: 1. Start by selecting a relevant project (related to the role) Give the project background and what specific problem it solved. 2. Align the project's objective and your role Be specific about your role: were you the le"

    Malay K. - "For any project based questions, it is important to structure your response clearly, showcasing your thought process, technical skills, problem-solving abilities, and how your work added value. Besides the STAR method, you can also use this kind of framework: 1. Start by selecting a relevant project (related to the role) Give the project background and what specific problem it solved. 2. Align the project's objective and your role Be specific about your role: were you the le"See full answer

    Software Engineer
    Behavioral
    +5 more
  • "Context: While working as a Senior Systems Engineer at Indra on a project for BBVA, I was primarily responsible for building ETLs and optimizing data pipelines using Spark and Scala. Action: During a critical deployment phase, our QA lead had to leave unexpectedly due to a personal emergency. With no one available to manage testing coordination, I volunteered to step in — even though it wasn’t my formal responsibility. I quickly reviewed the test cases, communicated with stakeholders, an"

    Otto yhoda A. - "Context: While working as a Senior Systems Engineer at Indra on a project for BBVA, I was primarily responsible for building ETLs and optimizing data pipelines using Spark and Scala. Action: During a critical deployment phase, our QA lead had to leave unexpectedly due to a personal emergency. With no one available to manage testing coordination, I volunteered to step in — even though it wasn’t my formal responsibility. I quickly reviewed the test cases, communicated with stakeholders, an"See full answer

    Software Engineer
    Behavioral
  • "Batch Packing Problem In Amazon’s massive warehouse inventory, there are different types of products. You are given an array products of size n, where products[i] represents the number of items of product type i. These products need to be packed into batches for shipping. The batch packing must adhere to the following conditions: No two items in the same batch can be of the same product type. The number of items packed in the current batch must be strictly greater than the number pack"

    Anonymous Goat - "Batch Packing Problem In Amazon’s massive warehouse inventory, there are different types of products. You are given an array products of size n, where products[i] represents the number of items of product type i. These products need to be packed into batches for shipping. The batch packing must adhere to the following conditions: No two items in the same batch can be of the same product type. The number of items packed in the current batch must be strictly greater than the number pack"See full answer

    Software Engineer
    Coding
    +1 more
  • Amazon logoAsked at Amazon 

    "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"

    Pavani B. - "Request inputs/feedback on my response below with regards to this question and ways to improve and if it looks apt for this question. As a TPM at xxx, I was responsible for delivering a feature that would provide prescription (medications) alternatives to users in the Prescription Shopping Consumer Experience App. The project had a tight deadline as it was something that our account management team promised to a client who wanted it for their employees. My goal was to ensure smooth development"See full answer

    Software Engineer
    Behavioral
    +1 more
  • +8

    "Used Recursive approach to traverse the binary search tree and sum the values of the nodes that fall within the specified range [low, high]"

    Srikant V. - "Used Recursive approach to traverse the binary search tree and sum the values of the nodes that fall within the specified range [low, high]"See full answer

    Software Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    +25

    "public static boolean isPalindrome(String str){ boolean flag = true; int len = str.length()-1; int j = len; for(int i=0;i<=len/2;i++){ if(str.charAt(i)!=str.charAt(j--)){ flag = false; break; } } return flag; }"

    Sravanthi M. - "public static boolean isPalindrome(String str){ boolean flag = true; int len = str.length()-1; int j = len; for(int i=0;i<=len/2;i++){ if(str.charAt(i)!=str.charAt(j--)){ flag = false; break; } } return flag; }"See full answer

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

    "I firstly discuss the brute force approach in O(n^2) time complexity , than i moved to O(nlogn) tine complexity than i discussed the O(n) time complexity and O(n) space complexity . But interviewer want more optimised solution , in O(n) time complexity without using extra space , The solution wants O(1) space complexity i have to do changes in same array without using any space . This method is something like i have to place positive values to its original position by swapping and rest negativ"

    Anni P. - "I firstly discuss the brute force approach in O(n^2) time complexity , than i moved to O(nlogn) tine complexity than i discussed the O(n) time complexity and O(n) space complexity . But interviewer want more optimised solution , in O(n) time complexity without using extra space , The solution wants O(1) space complexity i have to do changes in same array without using any space . This method is something like i have to place positive values to its original position by swapping and rest negativ"See full answer

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

    " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"

    Scott S. - " To clarify on what we are trying to solve for and get the definition of a distributed scheduler straight . So A Distributed Scheduler refers to a system that can handle job scheduling and execution in a scalable and fault-tolerant manner by distributing the workload across multiple servers or nodes. we will make some assumptions with the design , as follows: we will assume 10,000 QPS for job submissions and should be able query for jobs status . Job execution should have minimal latency"See full answer

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

    "I talked about a time that my manager had a better understanding of something than me and that I had to start to ask him what he knew about a certain type of thing once I was getting work assigned"

    Michael A. - "I talked about a time that my manager had a better understanding of something than me and that I had to start to ask him what he knew about a certain type of thing once I was getting work assigned"See full answer

    Software Engineer
    Behavioral
  • +18

    "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"

    Dean Z. - "I will use below 4 pillars to rate and prioritize those 5 projects: Analyze the impact of those 5 projects, to our team and to the whole company maybe Find out if those 5 projects have any dependency between each other Clarify the timeline of each project Identity the status of resources to work on those 5 projects and also the status of their dependencies"See full answer

    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Software Engineer
    Behavioral
    +1 more
  • "This was a 60 minute assessment. The clock is ticking and you're being observed by a senior+ level engineer. Be ready to perform for an audience. The implementation for the system gets broken up into three parts: Implement creating accounts and depositing money into an account by ID Implement transferring money with validation to ensure the accounts for the transfer both exist and that the account money is being removed from has enough money in it to perform the transfer Implement find"

    devopsjesus - "This was a 60 minute assessment. The clock is ticking and you're being observed by a senior+ level engineer. Be ready to perform for an audience. The implementation for the system gets broken up into three parts: Implement creating accounts and depositing money into an account by ID Implement transferring money with validation to ensure the accounts for the transfer both exist and that the account money is being removed from has enough money in it to perform the transfer Implement find"See full answer

    Software Engineer
    Coding
  • Microsoft logoAsked at Microsoft 
    +8

    "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"

    Nagendra S. - "Assumptions: Platform: iOS/Android and Web Application Service Type: Renting Bicycles (hourly, daily, weekly), possibility of buying or selling Geography: Focusing on Asian markets, e.g., India, where bicycles are a popular mode of transportation Role: Product Manager at Microsoft Objective: Design an app focusing on customer engagement and new customer acquisition Setting the Stage: Why a Renting Business? Market Potential: In Asian markets, a si"See full answer

    Software Engineer
    Product Design
    +1 more
Showing 21-40 of 438