Skip to main content

Top Software Engineer Interview Questions

Review this list of 715 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    5 answers
    +2

    "I would try to understand their perspective, focus on the issue, find common ground, brainstorm solutions, and agree on a course of action."

    Alemayehu m G. - "I would try to understand their perspective, focus on the issue, find common ground, brainstorm solutions, and agree on a course of action."See full answer

    Software Engineer
    Behavioral
    +2 more
  • Apple logoAsked at Apple 
    4 answers

    "i am a fresher"

    Akash A. - "i am a fresher"See full answer

    Software Engineer
    Behavioral
  • Capital One logoAsked at Capital One 
    2 answers

    "python: def justifywords(wordslist, width): result = [] currlinechar_count = 0 curr_words = [] for word in words_list: if curr_words: space_needed = len(word) + 1 # Space needed for the word and a preceding space else: space_needed = len(word) if currlinecharcount + spaceneeded > width: result.append(' '.join(curr_words)) curr_words = [word] currlinechar_count = len("

    Anonymous Unicorn - "python: def justifywords(wordslist, width): result = [] currlinechar_count = 0 curr_words = [] for word in words_list: if curr_words: space_needed = len(word) + 1 # Space needed for the word and a preceding space else: space_needed = len(word) if currlinecharcount + spaceneeded > width: result.append(' '.join(curr_words)) curr_words = [word] currlinechar_count = len("See full answer

    Software Engineer
    Coding
  • Adobe logoAsked at Adobe 
    10 answers
    +7

    "static TreeNode buildTree(int] preorder, int[] inorder) {//[2, 4, 5 if(preorder.length==0 || preorder.length!=inorder.length) { isNull=true; return null; } int parentElem=preorder[0];//2 int index=-1; index=binarySearch(inorder, parentElem);//3 //1 if(index==-1) { isNull=true; return null; } TreeNode root=new TreeNode(parentElem); int preOrder=0; int ind=-1; if(index>0) { int[] leftInOrder=Arrays.copyOfRange(inorder, 0, index); //[4, 2, 5]//[4] ind=binarySearch(preorder, inorder[index"

    Divya R. - "static TreeNode buildTree(int] preorder, int[] inorder) {//[2, 4, 5 if(preorder.length==0 || preorder.length!=inorder.length) { isNull=true; return null; } int parentElem=preorder[0];//2 int index=-1; index=binarySearch(inorder, parentElem);//3 //1 if(index==-1) { isNull=true; return null; } TreeNode root=new TreeNode(parentElem); int preOrder=0; int ind=-1; if(index>0) { int[] leftInOrder=Arrays.copyOfRange(inorder, 0, index); //[4, 2, 5]//[4] ind=binarySearch(preorder, inorder[index"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Affirm logoAsked at Affirm 
    1 answer

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

  • Apple logoAsked at Apple 
    9 answers
    +5

    "Make current as root. 2 while current is not null, if p and q are less than current, go left. If p and q are greater than current, go right. else return current. return null"

    Vaibhav D. - "Make current as root. 2 while current is not null, if p and q are less than current, go left. If p and q are greater than current, go right. else return current. return null"See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Oracle logoAsked at Oracle 
    4 answers
    +1

    "I think sliding window will work here and it is the most optimized approach to solve this question."

    Gaurav K. - "I think sliding window will work here and it is the most optimized approach to solve this question."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Meta logoAsked at Meta 
    5 answers
    +2

    "Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."

    דניאל ר. - "Implemented a recursive function which returns the length of the list so far. when the returned value equals k + 1 , assign current.next = current.next.next. If I made it back to the head return root.next as the new head of the linked list."See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Airbnb logoAsked at Airbnb 
    1 answer

    "I'm currently a School Bus Monitor at First Student, I make sure that the students on the bus are seated down, making sure they are safe during the bus ride. Sometimes depending on the day they may need me to help do a wheelchair so I sometimes help the driver out with making sure the wheelchair is safely secure, hooking up the 4 hooks on the wheelchair, putting the lap belt on the student and also making sure the student feels comfortable during the bus ride. After we finished dropping off our"

    Amparo L. - "I'm currently a School Bus Monitor at First Student, I make sure that the students on the bus are seated down, making sure they are safe during the bus ride. Sometimes depending on the day they may need me to help do a wheelchair so I sometimes help the driver out with making sure the wheelchair is safely secure, hooking up the 4 hooks on the wheelchair, putting the lap belt on the student and also making sure the student feels comfortable during the bus ride. After we finished dropping off our"See full answer

    Software Engineer
    Behavioral
    +5 more
  • LinkedIn logoAsked at LinkedIn 
    1 answer

    "Functional requirement's: partial search while searching for users, products any keywords in the search. additional keywords in the filter Black listed words in the search. Non functional requirements: low latency, search through 2 Billion records recent search should be cached. Design: high reads, we should have caching enabled over the primary db storages. caching cluster can be added when the search load increases. read ahead. - check in cache (periodic cache refresh), lfu, lru "

    Sandeep Y. - "Functional requirement's: partial search while searching for users, products any keywords in the search. additional keywords in the filter Black listed words in the search. Non functional requirements: low latency, search through 2 Billion records recent search should be cached. Design: high reads, we should have caching enabled over the primary db storages. caching cluster can be added when the search load increases. read ahead. - check in cache (periodic cache refresh), lfu, lru "See full answer

    Software Engineer
    System Design
    +1 more
  • "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
  • Apple logoAsked at Apple 

    Coin Change

    IDE
    Medium
    12 answers
    +9

    "The example given is wrong. The 2nd test case should have answer 3, as we can get to 6 by using 3 coins of denomination 2."

    Anmol R. - "The example given is wrong. The 2nd test case should have answer 3, as we can get to 6 by using 3 coins of denomination 2."See full answer

    Software Engineer
    Coding
    +4 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"

    Vaibhav C. - "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Nvidia logoAsked at Nvidia 
    3 answers

    "I started off with developing microservices for the game and then incorporating kafka to make it scalable"

    Kiran M. - "I started off with developing microservices for the game and then incorporating kafka to make it scalable"See full answer

    Software Engineer
    System Design
  • Accenture logoAsked at Accenture 
    1 answer
    Software Engineer
    Behavioral
    +1 more
  • Adobe logoAsked at Adobe 

    Permutations

    IDE
    Medium
    4 answers
    +1

    "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"

    Tiago R. - "function permute(nums) { if (nums.length <= 1) { return [nums]; } const prevPermutations = permute(nums.slice(0, nums.length-1)); const currentNum = nums[nums.length-1]; const permutations = new Set(); for (let prev of prevPermutations) { for (let i=0; i < prev.length; i++) { permutations.add([...prev.slice(0, i), currentNum, ...prev.slice(i)]); } permutations.add([...prev, currentNum]); } return [...permutations]"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • Mastercard logoAsked at Mastercard 
    Add answer
    Software Engineer
    Artificial Intelligence
    +2 more
  • Meta logoAsked at Meta 
    1 answer

    "Load Balancer to multiple API Servers, pub sub system to publish user events, Game Engine Service, Write through cache and NoSQL DB. HTTP Long Polling to get user status updates"

    gdecuri - "Load Balancer to multiple API Servers, pub sub system to publish user events, Game Engine Service, Write through cache and NoSQL DB. HTTP Long Polling to get user status updates"See full answer

    Software Engineer
    Product Design
    +2 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    Artificial Intelligence
    +2 more
Showing 261-280 of 715
Exponent

Get updates in your inbox with the latest tips, job listings, and more.

Follow Us

Products
Courses
Interview Questions
Interview Experiences
Popular articles
Guides
Coaching
For Partners
Company
Exponent © 2026
Terms of Service | Privacy