Software Engineer Interview Questions

Review this list of 587 software engineer interview questions and answers verified by hiring managers and candidates.
  • Software Engineer
    Concept
    +1 more
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 
    Software Engineer
    Behavioral
  • "You are working on a SaaS product that currently uses Basic Authentication (username/password) for API and application access. The security and compliance teams have mandated moving to a more secure, modern authentication mechanism — OIDC (OpenID Connect). Design the authentication system migration from Basic Authentication to OIDC. Discuss the architecture changes, the migration approach, and the rollout strategy. What are the technical challenges, impacts on customers, backward compatibility"

    Anonymous Stork - "You are working on a SaaS product that currently uses Basic Authentication (username/password) for API and application access. The security and compliance teams have mandated moving to a more secure, modern authentication mechanism — OIDC (OpenID Connect). Design the authentication system migration from Basic Authentication to OIDC. Discuss the architecture changes, the migration approach, and the rollout strategy. What are the technical challenges, impacts on customers, backward compatibility"See full answer

    Software Engineer
    System Design
  • 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.

  • Adobe logoAsked at Adobe 
    +5

    "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"

    Tiago R. - "function addChildren(root, val, inorder) { const rootInOrderIndex = inorder.indexOf(root.value); const childrenInOrderIndex = inorder.indexOf(val); if (childrenInOrderIndex < rootInOrderIndex) { if (!root.left) { root.left = new TreeNode(val); } else { addChildren(root.left, val, inorder); } } else { if (!root.right) { root.right = new TreeNode(val); } else { addChildren(root.right,"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • "BETWEEN and HAVING clauses in SQL serve different purposes: 1. BETWEEN Clause Used to filter rows based on a range of values. Works with numeric, date, or text values. Can be used with WHERE or HAVING clauses. The range includes both lower and upper bounds. Example: Filtering employees with salaries between 30,000 and 50,000 `SELECT * FROM Employees WHERE salary BETWEEN 30000 AND 50000;` 2. HAVING Clause Used to filter **groups"

    Meenakshi D. - "BETWEEN and HAVING clauses in SQL serve different purposes: 1. BETWEEN Clause Used to filter rows based on a range of values. Works with numeric, date, or text values. Can be used with WHERE or HAVING clauses. The range includes both lower and upper bounds. Example: Filtering employees with salaries between 30,000 and 50,000 `SELECT * FROM Employees WHERE salary BETWEEN 30000 AND 50000;` 2. HAVING Clause Used to filter **groups"See full answer

    Software Engineer
    Concept
    +4 more
  • 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
  • Meta (Facebook) logoAsked at Meta (Facebook) 

    "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
  • Meta (Facebook) logoAsked at Meta (Facebook) 
    Software Engineer
    Behavioral
    +1 more
  • Adobe logoAsked at Adobe 
    Software Engineer
    System Design
  • Microsoft logoAsked at Microsoft 

    "Interviewer wanted to learn more about architecture and or scalability. But I was not sure what the expected answer was"

    Mridul J. - "Interviewer wanted to learn more about architecture and or scalability. But I was not sure what the expected answer was"See full answer

    Software Engineer
    Behavioral
  • 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
  • Anthropic logoAsked at Anthropic 

    "i would follow engage/ listen/understand/collaborate/engage/resolve- approach to manage conflicts. I would explain each phase in a project where I face conflict and how I used above approach to resolve the conflict"

    A B. - "i would follow engage/ listen/understand/collaborate/engage/resolve- approach to manage conflicts. I would explain each phase in a project where I face conflict and how I used above approach to resolve the conflict"See full answer

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

    "Understanding the Basics Choosing Learning Resources Practicing and Applying Knowledge Seeking Help and Staying Updated Leveraging Modern Tools"

    An D. - "Understanding the Basics Choosing Learning Resources Practicing and Applying Knowledge Seeking Help and Staying Updated Leveraging Modern Tools"See full answer

    Software Engineer
    Behavioral
  • Adobe logoAsked at Adobe 
    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Google logoAsked at Google 

    "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
Showing 281-300 of 587