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.
  • "I said we could always revert the production issues. Solve it at DEV environment and then publish again. Interviewer gave me an example of it like a database schema change that may not be possible to revert. I said that we always used SQL scripts to upgrade and downgrade the database schema for each production deployment. So it would not be a problem for us. I guess my answer was not accepted."

    Bulent K. - "I said we could always revert the production issues. Solve it at DEV environment and then publish again. Interviewer gave me an example of it like a database schema change that may not be possible to revert. I said that we always used SQL scripts to upgrade and downgrade the database schema for each production deployment. So it would not be a problem for us. I guess my answer was not accepted."See full answer

    Software Engineer
    Behavioral
  • OpenAI logoAsked at OpenAI 
    Software Engineer
    Coding
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
  • Capital One logoAsked at Capital One 
    +1

    "After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"

    Chinedu ekene O. - "After more than five years at my previous company, I had contributed significantly to many important projects and helped the team navigate critical transitions, such as our shift from a monolithic to a microservices architecture. However, over time, I realized that my goals and the direction of the company were no longer fully aligned. I felt I had outgrown the position and was ready for new challenges, where I could continue to grow both technically and professionally. Ultimately, I’m excited a"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Apple logoAsked at Apple 
    +4

    "public static void sortBinaryArray(int[] array) { int len = array.length; int[] res = new int[len]; int r=len-1; for (int value : array) { if(value==1){ res[r]= 1; r--; } } System.out.println(Arrays.toString(res)); } `"

    Nitin P. - "public static void sortBinaryArray(int[] array) { int len = array.length; int[] res = new int[len]; int r=len-1; for (int value : array) { if(value==1){ res[r]= 1; r--; } } System.out.println(Arrays.toString(res)); } `"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Airbnb logoAsked at Airbnb 
    +4

    "I always ask to clarify if this is a brand new team. If so, then I focus on bringing in people with strong technical aptitudes(since I'm hiring for software engineering), but also team members that have experience mentoring and good communication is a must. I look for people who have leadership qualities. I emphasize that building a brand new team isn't something I can do on my own, so the initial hires of that team are very important to help me expand it."

    Catherine I. - "I always ask to clarify if this is a brand new team. If so, then I focus on bringing in people with strong technical aptitudes(since I'm hiring for software engineering), but also team members that have experience mentoring and good communication is a must. I look for people who have leadership qualities. I emphasize that building a brand new team isn't something I can do on my own, so the initial hires of that team are very important to help me expand it."See full answer

    Software Engineer
    Behavioral
    +3 more
  • Amazon logoAsked at Amazon 

    "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "

    Anonymous Unicorn - "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • "/* You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms. Each room contains a single instruction that tells you which room to go to next. * instructions1 and treasurerooms_1 * lily* --------- daisy sunflower | | | v v v jasmin --> tulip* violet* ----> rose* --> ^ | ^ ^ | "

    Azeezat R. - "/* You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms. Each room contains a single instruction that tells you which room to go to next. * instructions1 and treasurerooms_1 * lily* --------- daisy sunflower | | | v v v jasmin --> tulip* violet* ----> rose* --> ^ | ^ ^ | "See full answer

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

    "Conflict is unavoidable for any project. The most important part of moving past conflict is to understand why it manifested in the first place. I would start by understanding: What type of conflict is it? 1 on 1, with another team, with another function? What shape it? Is it about communication, strategy, implementation, style? What impact does it have? Will it affect our timelines, how we work together, etc How do I feel about it? Is it a thorn in my side or something"

    James W. - "Conflict is unavoidable for any project. The most important part of moving past conflict is to understand why it manifested in the first place. I would start by understanding: What type of conflict is it? 1 on 1, with another team, with another function? What shape it? Is it about communication, strategy, implementation, style? What impact does it have? Will it affect our timelines, how we work together, etc How do I feel about it? Is it a thorn in my side or something"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Goldman Sachs logoAsked at Goldman Sachs 
    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
  • Visa logoAsked at Visa 
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 

    "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."

    Ali H. - "SQL databases are relational, NoSQL databases are non-relational. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable."See full answer

    Software Engineer
    Concept
    +7 more
  • Software Engineer
    Behavioral
  • Meta logoAsked at Meta 

    "microservices is a part of an application where we differentiate the code/things into small parts that makes our application more independent like if one part is not working then that will not impact to our whole application"

    Paras K. - "microservices is a part of an application where we differentiate the code/things into small parts that makes our application more independent like if one part is not working then that will not impact to our whole application"See full answer

    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    Video answer for 'Merge k sorted linked lists.'
    +7

    "A much better solution than the one in the article, below: It looks like the ones writing articles here in Javascript do not understand the time/space complexity of javascript methods. shift, splice, sort, etc... In the solution article you have a shift and a sort being done inside a while, that is, the multiplication of Ns. My solution, below, iterates through the list once and then sorts it, separately. It´s O(N+Log(N)) class ListNode { constructor(val = 0, next = null) { th"

    Guilherme F. - "A much better solution than the one in the article, below: It looks like the ones writing articles here in Javascript do not understand the time/space complexity of javascript methods. shift, splice, sort, etc... In the solution article you have a shift and a sort being done inside a while, that is, the multiplication of Ns. My solution, below, iterates through the list once and then sorts it, separately. It´s O(N+Log(N)) class ListNode { constructor(val = 0, next = null) { th"See full answer

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

    "The interviewer focused on the data models and steered the conversation there from the beginning. He had a specific design in mind and I just wasn't hitting it. He also wanted details on how I would implement the logic for splitting users into variants. I would recommend reading the LinkedIn blog on their AB Test system design."

    Anonymous Kingfisher - "The interviewer focused on the data models and steered the conversation there from the beginning. He had a specific design in mind and I just wasn't hitting it. He also wanted details on how I would implement the logic for splitting users into variants. I would recommend reading the LinkedIn blog on their AB Test system design."See full answer

    Software Engineer
    System Design
  • Meta logoAsked at Meta 
    Software Engineer
    Behavioral
    +1 more
  • Better.com logoAsked at Better.com 
    +1

    "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"

    Debajyoti B. - "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"See full answer

    Software Engineer
    Technical
Showing 281-300 of 592