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.
  • Accenture logoAsked at Accenture 
    +59

    "I follow a variation of the RICE framework when prioritizing how I ship product features. I start by looking at: Reach: Because the customer segmentation across our product portfolio is so similar, I tend to hold a lot of weight on product features that will maximize our customer reach with a minimal LOE. Impact: After establishing which customer segments will benefit from the product feature, I determine the urgency and estimated impact on each customer segment based on customer i"

    Ashley C. - "I follow a variation of the RICE framework when prioritizing how I ship product features. I start by looking at: Reach: Because the customer segmentation across our product portfolio is so similar, I tend to hold a lot of weight on product features that will maximize our customer reach with a minimal LOE. Impact: After establishing which customer segments will benefit from the product feature, I determine the urgency and estimated impact on each customer segment based on customer i"See full answer

    Software Engineer
    Behavioral
    +9 more
  • +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 

    "function longestCommonPrefix(arr1, arr2) { const prefixSet = new Set(); for (let num of arr1) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { prefixSet.add(str.substring(0, i)); } } let longestPrefix = ""; for (let num of arr2) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { let prefix = str.substring(0, i); if (prefixSet.has(prefix)) { "

    Maykon henrique D. - "function longestCommonPrefix(arr1, arr2) { const prefixSet = new Set(); for (let num of arr1) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { prefixSet.add(str.substring(0, i)); } } let longestPrefix = ""; for (let num of arr2) { let str = num.toString(); for (let i = 1; i <= str.length; i++) { let prefix = str.substring(0, i); if (prefixSet.has(prefix)) { "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • "Assumptions - Multiple reader/writer threads issue set() [with transaction] and get() operations concurrently All data can fit into memory. Requirements - Good performance (ex. less lock contention) Optimize memory footprint (ex. don't store stale entries in memory) Naive Approach - Wrap a standard hashmap/dictionary with reader-writer lock. We can also shard the map to reduce lock contention (ex. 32 segments for 32 core cpu) Allocate local buffer to a writer when a transacti"

    Pushkar G. - "Assumptions - Multiple reader/writer threads issue set() [with transaction] and get() operations concurrently All data can fit into memory. Requirements - Good performance (ex. less lock contention) Optimize memory footprint (ex. don't store stale entries in memory) Naive Approach - Wrap a standard hashmap/dictionary with reader-writer lock. We can also shard the map to reduce lock contention (ex. 32 segments for 32 core cpu) Allocate local buffer to a writer when a transacti"See full answer

    Software Engineer
    Coding
  • "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
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Adobe logoAsked at Adobe 
    +23

    "We can use dictionary to store cache items so that our read / write operations will be O(1). Each time we read or update an existing record, we have to ensure the item is moved to the back of the cache. This will allow us to evict the first item in the cache whenever the cache is full and we need to add new records also making our eviction O(1) Instead of normal dictionary, we will use ordered dictionary to store cache items. This will allow us to efficiently move items to back of the cache a"

    Alfred O. - "We can use dictionary to store cache items so that our read / write operations will be O(1). Each time we read or update an existing record, we have to ensure the item is moved to the back of the cache. This will allow us to evict the first item in the cache whenever the cache is full and we need to add new records also making our eviction O(1) Instead of normal dictionary, we will use ordered dictionary to store cache items. This will allow us to efficiently move items to back of the cache a"See full answer

    Software Engineer
    Data Structures & Algorithms
    +6 more
  • Uber logoAsked at Uber 

    "''' Problem Statement: Design a simplified Robinhood-like stock trading platform. Requirements: User Management: createuser(userid, name, initial_balance): Create user with cash balance getbalance(userid): Get user's cash balance deposit(user_id, amount): Add funds to account withdraw(user_id, amount): Withdraw funds (if sufficient balance) Stock Operations: updatestockprice(symbol, price): Update current price of a stock getstockprice(symb"

    Rahul .. - "''' Problem Statement: Design a simplified Robinhood-like stock trading platform. Requirements: User Management: createuser(userid, name, initial_balance): Create user with cash balance getbalance(userid): Get user's cash balance deposit(user_id, amount): Add funds to account withdraw(user_id, amount): Withdraw funds (if sufficient balance) Stock Operations: updatestockprice(symbol, price): Update current price of a stock getstockprice(symb"See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    +2

    " 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
  • "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
    +1 more
  • +2

    "Sounds like both the features requests address different problems, although it should be clarified in my opinion. I'd try to dig deep into why the customers are raising the requests to uncover the pain points. Questions like the following would help: "How are you currently solving it?" "What does it mean for you in terms of Cost or productivity?" (based on the context of the product) "Have you searched for an alternative?" Descriptive answers for the above questions should tell us if the"

    Kapil P. - "Sounds like both the features requests address different problems, although it should be clarified in my opinion. I'd try to dig deep into why the customers are raising the requests to uncover the pain points. Questions like the following would help: "How are you currently solving it?" "What does it mean for you in terms of Cost or productivity?" (based on the context of the product) "Have you searched for an alternative?" Descriptive answers for the above questions should tell us if the"See full answer

    Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Artificial Intelligence
    +2 more
  • Coinbase logoAsked at Coinbase 

    "In the Slack system design interview, I proposed a WebSocket-based architecture for real-time messaging, supported by a network of distributed chat servers. To track user connections and route messages efficiently, I leveraged ZooKeeper as a service registry and designed peer-to-peer communication between servers. For the data layer: • I used PostgreSQL to manage relational data such as users and chat participants. • Cassandra was chosen for high-throughput, scalable message storage with dura"

    Aneesh M. - "In the Slack system design interview, I proposed a WebSocket-based architecture for real-time messaging, supported by a network of distributed chat servers. To track user connections and route messages efficiently, I leveraged ZooKeeper as a service registry and designed peer-to-peer communication between servers. For the data layer: • I used PostgreSQL to manage relational data such as users and chat participants. • Cassandra was chosen for high-throughput, scalable message storage with dura"See full answer

    Software Engineer
    System Design
    +1 more
  • Software Engineer
    Behavioral
    +1 more
  • "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"

    Ramachandra N. - "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Software Engineer
    Behavioral
  • 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
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
    +5 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design a reservation and payment system for a parking garage.'
    +11

    "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."

    Chitapuram N. - "Since there is a need for the data to be accurate and consistent without any latency to allocate a spot, can't the data be synchronously synced to replicas after every write as the number of writes are not many per min, instead of read lock phenomena Let me know if i am on a wrong thought here."See full answer

    Software Engineer
    System Design
    +2 more
Showing 41-60 of 592