Software Engineer Coding Interview Questions

Review this list of 190 coding software engineer interview questions and answers verified by hiring managers and candidates.
  • Dropbox logoAsked at Dropbox 
    Video answer for 'Find duplicate files in a file system.'

    " read_dir(path: str) -> list[str] returns the full path of all files and sub- directories of a given directory. is_file(path: str) -> bool: returns true if the path points to a regular file. is_dir(path: str) -> bool: returns true if the path points to a directory. read_file(path: str) -> str: reads and returns the content of the file. The algorithm: notice that storing all the file contents' is too space intensive, so we can't read all the files' contents to store and compare with each"

    Idan R. - " read_dir(path: str) -> list[str] returns the full path of all files and sub- directories of a given directory. is_file(path: str) -> bool: returns true if the path points to a regular file. is_dir(path: str) -> bool: returns true if the path points to a directory. read_file(path: str) -> str: reads and returns the content of the file. The algorithm: notice that storing all the file contents' is too space intensive, so we can't read all the files' contents to store and compare with each"See full answer

    Software Engineer
    Coding
    +2 more
  • Flatiron Health logoAsked at Flatiron Health 
    Software Engineer
    Coding
    +2 more
  • Intuit logoAsked at Intuit 

    "did well but messed up dequeue"

    Shivani N. - "did well but messed up dequeue"See full answer

    Software Engineer
    Coding
    +1 more
  • "As we can pass info to only one child at a time, I told that from any given node, we have to pass the info to that child(of this node) which has the largest subtree rooted at it. To calculate the subtree sizes, I used DFS. And then to calculate the minimum time to pass info to all the nodes, I used BFS picking the largest subtree child first at every node. I couldn't write the complete code in the given time and also made a mistake in telling the overall time complexity of my approach. I think t"

    Lakshman B. - "As we can pass info to only one child at a time, I told that from any given node, we have to pass the info to that child(of this node) which has the largest subtree rooted at it. To calculate the subtree sizes, I used DFS. And then to calculate the minimum time to pass info to all the nodes, I used BFS picking the largest subtree child first at every node. I couldn't write the complete code in the given time and also made a mistake in telling the overall time complexity of my approach. I think t"See full answer

    Software Engineer
    Coding
    +1 more
  • New York Times logoAsked at New York Times 

    "input = [ {"topic": 1, "chapter": 1, "section": 1}, {"topic": 2, "chapter": 2, "section": 1}, {"topic": 3, "chapter": 2, "section": 2}, {"topic": 4, "chapter": 1, "section": 1}, {"topic": 5, "chapter": 1, "section": 1}, {"topic": 6, "chapter": 2, "section": 2}, {"topic": 7, "chapter": 2, "section": 2}, {"topic": 8, "chapter": 2, "section": 3}, ] expected_output = [ {'chapter': 1, 'sections': [ {'section': 1, 'topics': [ {'top"

    Anonymous Unicorn - "input = [ {"topic": 1, "chapter": 1, "section": 1}, {"topic": 2, "chapter": 2, "section": 1}, {"topic": 3, "chapter": 2, "section": 2}, {"topic": 4, "chapter": 1, "section": 1}, {"topic": 5, "chapter": 1, "section": 1}, {"topic": 6, "chapter": 2, "section": 2}, {"topic": 7, "chapter": 2, "section": 2}, {"topic": 8, "chapter": 2, "section": 3}, ] expected_output = [ {'chapter': 1, 'sections': [ {'section': 1, 'topics': [ {'top"See full answer

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

  • "boolean isMatch(String s, String p) { int i=0; int j=0; int sID=-1; int prevM=-1; while(i<s.length()){ if(j<p.length() && (s.charAt(i)==p.charAt(j) || p.charAt(j)=='?')){ i++; j++; }else if(j<p.length() && p.charAt(j)=='*'){ sID=j; prevM=i; j++; }else if(sID!=-1){ j=sID+1; prevM++; i=prevM; }else{ return false; } } while(j<p.length() && p.charAt(j)=='*') j++; if(i!=s.length() || j!=p.leng"

    Ravi C. - "boolean isMatch(String s, String p) { int i=0; int j=0; int sID=-1; int prevM=-1; while(i<s.length()){ if(j<p.length() && (s.charAt(i)==p.charAt(j) || p.charAt(j)=='?')){ i++; j++; }else if(j<p.length() && p.charAt(j)=='*'){ sID=j; prevM=i; j++; }else if(sID!=-1){ j=sID+1; prevM++; i=prevM; }else{ return false; } } while(j<p.length() && p.charAt(j)=='*') j++; if(i!=s.length() || j!=p.leng"See full answer

    Software Engineer
    Coding
    +1 more
  • LinkedIn logoAsked at LinkedIn 

    "Used prefix & postfix sums, resetting the product when 0 was found"

    Rg - "Used prefix & postfix sums, resetting the product when 0 was found"See full answer

    Software Engineer
    Coding
  • Goldman Sachs logoAsked at Goldman Sachs 

    "standard answer for this."

    Shar N. - "standard answer for this."See full answer

    Software Engineer
    Coding
    +1 more
  • JP Morgan Chase logoAsked at JP Morgan Chase 
    Software Engineer
    Coding
    +1 more
  • Apple logoAsked at Apple 
    Software Engineer
    Coding
    +1 more
  • Software Engineer
    Coding
  • Software Engineer
    Coding
    +1 more
  • "I wrote a function to determine if a given number is a power of 2 using logarithms."

    Susheel C. - "I wrote a function to determine if a given number is a power of 2 using logarithms."See full answer

    Software Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    +6

    "function isPalindrome(s, start, end) { while (s[start] === s[end] && end >= start) { start++; end--; } return end <= start; } function longestPalindromicSubstring(s) { let longestPalindrome = ''; for (let i=0; i < s.length; i++) { let j = s.length-1; while (s[i] !== s[j] && i <= j) { j--; } if (s[i] === s[j]) { if (isPalindrome(s, i, j)) { const validPalindrome = s.substring(i, j+1"

    Tiago R. - "function isPalindrome(s, start, end) { while (s[start] === s[end] && end >= start) { start++; end--; } return end <= start; } function longestPalindromicSubstring(s) { let longestPalindrome = ''; for (let i=0; i < s.length; i++) { let j = s.length-1; while (s[i] !== s[j] && i <= j) { j--; } if (s[i] === s[j]) { if (isPalindrome(s, i, j)) { const validPalindrome = s.substring(i, j+1"See full answer

    Software Engineer
    Coding
    +3 more
  • Apple logoAsked at Apple 
    Software Engineer
    Coding
    +1 more
  • Apple logoAsked at Apple 
    +2

    "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
    Coding
    +4 more
  • Apple logoAsked at Apple 
    Software Engineer
    Coding
    +1 more
  • "import java.util.*; public class NetworkTopology { public int topologytype(int N, int M, int[] input3, int[] input4) { if (M != N - 1 && M != N) return -1; // Fast check for invalid cases int[] degree = new int[N + 1]; // Degree of each node (1-based indexing) // Build the degree array for (int i = 0; i < M; i++) { degree[input3[i]]++; degree[input4[i]]++; } // Check for Bus Topology boolean isBus = (M"

    Alessandro R. - "import java.util.*; public class NetworkTopology { public int topologytype(int N, int M, int[] input3, int[] input4) { if (M != N - 1 && M != N) return -1; // Fast check for invalid cases int[] degree = new int[N + 1]; // Degree of each node (1-based indexing) // Build the degree array for (int i = 0; i < M; i++) { degree[input3[i]]++; degree[input4[i]]++; } // Check for Bus Topology boolean isBus = (M"See full answer

    Software Engineer
    Coding
    +1 more
  • "int a_array[10] = {3,6,4,7,2,1,9}; int index = 0; int index2 = 0; for ( index = 0; index < sizeof(a_array); index++ ) { int tmpindex = index + 1; if ( tmpindex <= sizeof(a_array) ) { for ( index2 = tmpindex; index2 < sizeof(a_array); index2++ ) { if ( aarray[index] <= aarray[index2] ) { print( "%d is the NGE of %d" array[index2], array[index]); break; "

    Mark S. - "int a_array[10] = {3,6,4,7,2,1,9}; int index = 0; int index2 = 0; for ( index = 0; index < sizeof(a_array); index++ ) { int tmpindex = index + 1; if ( tmpindex <= sizeof(a_array) ) { for ( index2 = tmpindex; index2 < sizeof(a_array); index2++ ) { if ( aarray[index] <= aarray[index2] ) { print( "%d is the NGE of %d" array[index2], array[index]); break; "See full answer

    Software Engineer
    Coding
    +1 more
  • "public Double calculateRatio(String source, String destination) { Double ratio=1.0; while(graph.containsKey(source) && !visited.contains(source)) { visited.add(source); Map valueMap=graph.get(source); if(valueMap.containsKey(destination)) { return ratio*=valueMap.get(destination); } Map.Entry firstEntry=valueMap.entrySet().iterator().next(); source=firstEntry.getKey(); ratio*=firstEntry.getValue(); System.out.println("Entered"); } return null; }"

    Divya R. - "public Double calculateRatio(String source, String destination) { Double ratio=1.0; while(graph.containsKey(source) && !visited.contains(source)) { visited.add(source); Map valueMap=graph.get(source); if(valueMap.containsKey(destination)) { return ratio*=valueMap.get(destination); } Map.Entry firstEntry=valueMap.entrySet().iterator().next(); source=firstEntry.getKey(); ratio*=firstEntry.getValue(); System.out.println("Entered"); } return null; }"See full answer

    Software Engineer
    Coding
    +2 more
Showing 141-160 of 190