Software Engineer System Design Interview Questions

Review this list of 70 system design software engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "Some of the things I went though when I got a chance to work on this. Functional Requirements Scanning files and downloading the folders from the server which has the web site hosted. Scanning the folder structure and just capturing the files or downloading the files to some other location. What type of files will we see ? js css html modules sub modules json --- All the files we see on the web server. ... Non-Fun"

    Anonymous Hare - "Some of the things I went though when I got a chance to work on this. Functional Requirements Scanning files and downloading the folders from the server which has the web site hosted. Scanning the folder structure and just capturing the files or downloading the files to some other location. What type of files will we see ? js css html modules sub modules json --- All the files we see on the web server. ... Non-Fun"See full answer

    Software Engineer
    System Design
    +1 more
  • Databricks logoAsked at Databricks 
    Software Engineer
    System Design
    +1 more
  • Adobe logoAsked at Adobe 
    Video answer for 'Design a typeahead box for a search engine.'
    +5

    "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"

    Aymen D. - "It would have been more interesting to focus on the system design rather than the Trie DS, Interviewee could have just mentioned the Trie and passed to things more important. Interviewee should have focused on the factors on which he wants to scale the API servers, popularity of the query parts ? region may be ? A hash of many factors ? Caches should have definitely be discussed, Cache eviction policies, Cache invalidation managements... Interviewee should have mentioned which kind of API pro"See full answer

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

    "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"

    GalacticInterviewer - "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"See full answer

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

  • Apple logoAsked at Apple 
    +1

    "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"

    Pathworks P. - "To answer this, I will focus my efforts on explaining the most common type of API used in most modern software development applications - the REST API. For the purpose of simplicity, I will also keep the topics of Authorization and Authentication out of the mix. In essence, an API is a group of logic that takes in a specific set of inputs and responds with a specific set of outputs. This is analogous to going to a drive-thru and placing an order for a meal. When you give an API a bunch of"See full answer

    Software Engineer
    System Design
    +3 more
  • Salesforce logoAsked at Salesforce 
    Video answer for 'Design Ticketmaster'
    Software Engineer
    System Design
  • "While all branches should ideally be tested, some are more critical than others based on the following factors: A. High-Risk or Business-Critical Logic Branches that handle authentication & authorization (e.g., login, role-based access control) Financial transactions or payment processing logic (e.g., tax calculations, refunds, invoice generation) Security-related branches (e.g., encryption/decryption, token verification) B. Error Handling & Exception Paths Branches that deal with error conditi"

    Adesegun K. - "While all branches should ideally be tested, some are more critical than others based on the following factors: A. High-Risk or Business-Critical Logic Branches that handle authentication & authorization (e.g., login, role-based access control) Financial transactions or payment processing logic (e.g., tax calculations, refunds, invoice generation) Security-related branches (e.g., encryption/decryption, token verification) B. Error Handling & Exception Paths Branches that deal with error conditi"See full answer

    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA Feel free to comment here or on the video for further discussion."

    Rjj - "I tried solving this question and here is the recorded video for the entire solution - https://youtu.be/G_LIbTp58XA Feel free to comment here or on the video for further discussion."See full answer

    Software Engineer
    System Design
    +1 more
  • Software Engineer
    System Design
  • Visa logoAsked at Visa 
    Software Engineer
    System Design
  • Goldman Sachs logoAsked at Goldman Sachs 
    Software Engineer
    System Design
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"

    Vikash A. - "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"See full answer

    Software Engineer
    System Design
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Design Uber Eats.'
    +5

    "basic drew the diagram"

    Aswath B. - "basic drew the diagram"See full answer

    Software Engineer
    System Design
    +2 more
  • Canva logoAsked at Canva 
    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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Software Engineer
    System Design
    +1 more
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "I think LRU will be the right option for this because dns cache has ttl associated with it and the combinatuon of LRU cache and timer expiry will be the most effectively used solution. "

    Nikhil S. - "I think LRU will be the right option for this because dns cache has ttl associated with it and the combinatuon of LRU cache and timer expiry will be the most effectively used solution. "See full answer

    Software Engineer
    System Design
  • DocuSign logoAsked at DocuSign 

    "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
  • Goldman Sachs logoAsked at Goldman Sachs 

    "Microservices for resolving diffs, storage S3 for keeping files"

    Anonymous Jellyfish - "Microservices for resolving diffs, storage S3 for keeping files"See full answer

    Software Engineer
    System Design
Showing 21-40 of 70