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.
  • Amazon logoAsked at Amazon 

    "Situation - A time I saw a peer struggling was while I was at Google working in Mountain View. A fellow colleague of mine was consistently not meeting standards in his performance reviews and wasn’t sure why. He was upset because Google was his dream company and he wasn’t sure how to improve based on his feedback. Task - I was tasked to design a based VUI framework for our discovery space on smart displays. This colleague was acting as the VUI lead for the project while I acted as t"

    Ben G. - "Situation - A time I saw a peer struggling was while I was at Google working in Mountain View. A fellow colleague of mine was consistently not meeting standards in his performance reviews and wasn’t sure why. He was upset because Google was his dream company and he wasn’t sure how to improve based on his feedback. Task - I was tasked to design a based VUI framework for our discovery space on smart displays. This colleague was acting as the VUI lead for the project while I acted as t"See full answer

    Software Engineer
    Behavioral
    +3 more
  • Software Engineer
    Behavioral
  • Adobe logoAsked at Adobe 
    +6

    "bool isValidBST(TreeNode* root, long min = LONGMIN, long max = LONGMAX){ if (root == NULL) return true; if (root->val val >= max) return false; return isValidBST(root->left, min, root->val) && isValidBST(root->right, root->val, max); } `"

    Alvaro R. - "bool isValidBST(TreeNode* root, long min = LONGMIN, long max = LONGMAX){ if (root == NULL) return true; if (root->val val >= max) return false; return isValidBST(root->left, min, root->val) && isValidBST(root->right, root->val, max); } `"See full answer

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

    "def mergeTwoListsRecursive(l1, l2): if not l1 or not l2: return l1 or l2 if l1.val < l2.val: l1.next = mergeTwoListsRecursive(l1.next, l2) return l1 else: l2.next = mergeTwoListsRecursive(l1, l2.next) return l2 "

    Ramachandra N. - "def mergeTwoListsRecursive(l1, l2): if not l1 or not l2: return l1 or l2 if l1.val < l2.val: l1.next = mergeTwoListsRecursive(l1.next, l2) return l1 else: l2.next = mergeTwoListsRecursive(l1, l2.next) return l2 "See full answer

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

  • "Whenever I find resistance to my idea, my general approach is to : Validate my idea Identify if it is a political reason or is it a valid engineering tech reason Assuming it is not political but it is resource/difference of opinions that are causing resistance. Then I would try to do a quick POC and show a value proposition for the idea to get the buy-in. One similar situation happened The situation was that stakeholders were promised a feature that would decrease their number of ticket"

    Jaim - "Whenever I find resistance to my idea, my general approach is to : Validate my idea Identify if it is a political reason or is it a valid engineering tech reason Assuming it is not political but it is resource/difference of opinions that are causing resistance. Then I would try to do a quick POC and show a value proposition for the idea to get the buy-in. One similar situation happened The situation was that stakeholders were promised a feature that would decrease their number of ticket"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Amazon logoAsked at Amazon 
    Video answer for 'Print the left view of a binary tree.'

    "Initially I asked clarifying questions like whether the tree can be empty or not and asked the interviewer to explain what is meant by left view and the explanation for the sample inputs. Then I came up with the level order traversal approach where we visit each level in the binary tree at once using a queue and at each level print the value of the first node. Interviewer seemed satisfied with the approach and asked me to code it up. Finally gave the time and space complexity of the solution."

    Ds S. - "Initially I asked clarifying questions like whether the tree can be empty or not and asked the interviewer to explain what is meant by left view and the explanation for the sample inputs. Then I came up with the level order traversal approach where we visit each level in the binary tree at once using a queue and at each level print the value of the first node. Interviewer seemed satisfied with the approach and asked me to code it up. Finally gave the time and space complexity of the solution."See full answer

    Software Engineer
  • Software Engineer
    Behavioral
  • "Let’s say the matrix is m x n (i.e., m rows and n columns). Start from the top-right corner of the matrix. Move left if you see a 1. Move down if you see a 0. Keep track of the row index where you last saw the leftmost 1 — that row has the most 1s. public class MaxOnesRow { public static int rowWithMostOnes(int matrix) { int rows = matrix.length; int cols = matrix[0].length; int maxRowIndex = -1; int j = cols - 1; /"

    Khushbu R. - "Let’s say the matrix is m x n (i.e., m rows and n columns). Start from the top-right corner of the matrix. Move left if you see a 1. Move down if you see a 0. Keep track of the row index where you last saw the leftmost 1 — that row has the most 1s. public class MaxOnesRow { public static int rowWithMostOnes(int matrix) { int rows = matrix.length; int cols = matrix[0].length; int maxRowIndex = -1; int j = cols - 1; /"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Software Engineer
    System Design
  • Nvidia logoAsked at Nvidia 

    "`#include using namespace std; void printNumbersTillN(int n){ if(n_==0){ return; } printNumbersTillN(n-1); // go to the end -> reach 1 cout>_n; printNumbersTillN(n); }`"

    Jet 1. - "`#include using namespace std; void printNumbersTillN(int n){ if(n_==0){ return; } printNumbersTillN(n-1); // go to the end -> reach 1 cout>_n; printNumbersTillN(n); }`"See full answer

    Software Engineer
    Coding
  • Apple logoAsked at Apple 
    +2

    "This could be done using two-pointer approach assuming array is sorted: left and right pointers. We need track two sums (left and right) as we move pointers. For moving pointers we will move left to right by 1 (increment) when right sum is greater. We will move right pointer to left by 1 (decrement) when left sum is greater. at some point we will either get the sum same and that's when we exit from the loop. 0-left will be one array and right-(n-1) will be another array. We are not going to mo"

    Bhaskar B. - "This could be done using two-pointer approach assuming array is sorted: left and right pointers. We need track two sums (left and right) as we move pointers. For moving pointers we will move left to right by 1 (increment) when right sum is greater. We will move right pointer to left by 1 (decrement) when left sum is greater. at some point we will either get the sum same and that's when we exit from the loop. 0-left will be one array and right-(n-1) will be another array. We are not going to mo"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Amazon logoAsked at Amazon 

    "I'm seeking a role in which I can be continually challenged to devise innovative and streamlined solutions for complex issues, particularly with regard to the persistent soaking problem. I'm excited about the opportunity to not only excel in my own performance but also to empower and enable my colleagues to perform at their absolute best. My goal is to wield my influence and magnetic qualities to not only attract but also retain top-tier engineering talent, all in alignment with our shared objec"

    Anonymous Narwhal - "I'm seeking a role in which I can be continually challenged to devise innovative and streamlined solutions for complex issues, particularly with regard to the persistent soaking problem. I'm excited about the opportunity to not only excel in my own performance but also to empower and enable my colleagues to perform at their absolute best. My goal is to wield my influence and magnetic qualities to not only attract but also retain top-tier engineering talent, all in alignment with our shared objec"See full answer

    Software Engineer
    Behavioral
    +1 more
  • Meta logoAsked at Meta 
    +1

    "my answer: void* memcpy(void* dest, const void* src, size_t n) { unsigned char* uDest = static_cast(dest); const unsigned char* ucSrc = static_cast(src); for(size_t i= 0; i(dest); const unsigned c"

    Srihitha J. - "my answer: void* memcpy(void* dest, const void* src, size_t n) { unsigned char* uDest = static_cast(dest); const unsigned char* ucSrc = static_cast(src); for(size_t i= 0; i(dest); const unsigned c"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Amazon logoAsked at Amazon 
    +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
  • "I did not give the proper ans so gettting rejected"

    Praveen K. - "I did not give the proper ans so gettting rejected"See full answer

    Software Engineer
    Concept
  • Software Engineer
    Concept
  • Amazon logoAsked at Amazon 

    "Law is my passion. Traveling all over the world in 5 years"

    Moshe S. - "Law is my passion. Traveling all over the world in 5 years"See full answer

    Software Engineer
    Behavioral
    +4 more
  • "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."

    Techzen I. - "Implemented the Java code to find the largest island. It is similar to count the island. But in this we need to keep track of max island and compute its perimeter."See full answer

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

    "I suggest a 4 step process: Ensure your recruitment process and company's branding are inclusive. This means using inclusive language in your job postings, avoiding gender stereotypes, and making sure your company's website and social media presence are welcoming to people from all backgrounds. Partner with nonprofit and cultural organizations to reach a more diverse pool of candidates. Many organizations can help you connect with candidates from underrepresented groups. These org"

    gdecuri - "I suggest a 4 step process: Ensure your recruitment process and company's branding are inclusive. This means using inclusive language in your job postings, avoiding gender stereotypes, and making sure your company's website and social media presence are welcoming to people from all backgrounds. Partner with nonprofit and cultural organizations to reach a more diverse pool of candidates. Many organizations can help you connect with candidates from underrepresented groups. These org"See full answer

    Software Engineer
    Behavioral
    +1 more
Showing 341-360 of 592