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

    "A red-black tree is a self-balancing binary search tree. The motivation for this is that the benefits of O(logN) search, insertion, and deletion that a binary tree provides us will disappear if we let the tree get too "imbalanced" (e.g. there are too many nodes on one side of the tree or some branches have a depth that is way out of proportion to the average branch depth). This imbalance will occur if we don't adjust the tree after inserting or deleting nodes, hence our need for self-balancing c"

    Alex M. - "A red-black tree is a self-balancing binary search tree. The motivation for this is that the benefits of O(logN) search, insertion, and deletion that a binary tree provides us will disappear if we let the tree get too "imbalanced" (e.g. there are too many nodes on one side of the tree or some branches have a depth that is way out of proportion to the average branch depth). This imbalance will occur if we don't adjust the tree after inserting or deleting nodes, hence our need for self-balancing c"See full answer

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

    "public class HashMap { public class Element { T key; V value; Element(T k, V v) { this.key = k; this.value = v; } } private static final int DEFAULT_CAPACITY = 16; private static final float LOAD_FACTOR = 0.75f; private LinkedList[] table = new LinkedList[DEFAULT_CAPACITY]; private int size = 0; private int threshold = (int) (DEFAULTCAPACITY * LOADFACTOR); public void put(T k"

    Md kamrul H. - "public class HashMap { public class Element { T key; V value; Element(T k, V v) { this.key = k; this.value = v; } } private static final int DEFAULT_CAPACITY = 16; private static final float LOAD_FACTOR = 0.75f; private LinkedList[] table = new LinkedList[DEFAULT_CAPACITY]; private int size = 0; private int threshold = (int) (DEFAULTCAPACITY * LOADFACTOR); public void put(T k"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
  • Canva logoAsked at Canva 

    "3.3 years , java and Angular Full stack developer "

    Prakash K. - "3.3 years , java and Angular Full stack developer "See full answer

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

  • Adobe logoAsked at Adobe 
    +1

    "static boolean sudokuSolve(char board) { return sudokuSolve(board, 0, 0); } static boolean sudokuSolve(char board, int r, int c) { if(c>=board[0].length) { r=r+1; c=0; } if(r>=board.length) return true; if(boardr=='.') { for(int num=1; num<=9; num++) { boardr=(char)('0' + num); if(isValidPosition(board, r, c)) { if(sudokuSolve(board, r, c+1)) return true; } boardr='.'; } } else { return sudokuSolve(board, r, c+1); } return false; } static boolean isValidPosition(char b"

    Divya R. - "static boolean sudokuSolve(char board) { return sudokuSolve(board, 0, 0); } static boolean sudokuSolve(char board, int r, int c) { if(c>=board[0].length) { r=r+1; c=0; } if(r>=board.length) return true; if(boardr=='.') { for(int num=1; num<=9; num++) { boardr=(char)('0' + num); if(isValidPosition(board, r, c)) { if(sudokuSolve(board, r, c+1)) return true; } boardr='.'; } } else { return sudokuSolve(board, r, c+1); } return false; } static boolean isValidPosition(char b"See full answer

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

    "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "

    Anonymous Roadrunner - "from typing import List def traprainwater(height: List[int]) -> int: if not height: return 0 l, r = 0, len(height) - 1 leftMax, rightMax = height[l], height[r] res = 0 while l < r: if leftMax < rightMax: l += 1 leftMax = max(leftMax, height[l]) res += leftMax - height[l] else: r -= 1 rightMax = max(rightMax, height[r]) "See full answer

    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Discord logoAsked at Discord 
    Software Engineer
    Behavioral
    +4 more
  • Stripe logoAsked at Stripe 

    "Use a mapping to store number characters to possible meaning, iterate through the numeronym matching all digits with their representation"

    Anonymous Bobcat - "Use a mapping to store number characters to possible meaning, iterate through the numeronym matching all digits with their representation"See full answer

    Software Engineer
    Technical
  • Software Engineer
    Behavioral
  • Software Engineer
    Behavioral
    +1 more
  • Google logoAsked at Google 

    "Success for an engineer means using skills and knowledge to solve real-world problems, grow continuously, and build a meaningful career."

    Bhavna S. - "Success for an engineer means using skills and knowledge to solve real-world problems, grow continuously, and build a meaningful career."See full answer

    Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Technical
  • Apple logoAsked at Apple 

    "class TrieNode { constructor() { this.children = {}; this.isEndOfWord = false; } } class Trie { constructor() { this.root = new TrieNode(); } insert(word) { let node = this.root; for (const char of word) { if (!node.children[char]) { node.children[char] = new TrieNode(); } node = node.children[char]; } node.isEndOfWord = true; } search(word) { l"

    Tiago R. - "class TrieNode { constructor() { this.children = {}; this.isEndOfWord = false; } } class Trie { constructor() { this.root = new TrieNode(); } insert(word) { let node = this.root; for (const char of word) { if (!node.children[char]) { node.children[char] = new TrieNode(); } node = node.children[char]; } node.isEndOfWord = true; } search(word) { l"See full answer

    Software Engineer
    Data Structures & Algorithms
    +3 more
  • "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("

    Jaya S. - "Understood the problem statement by confirming details with interviewer. Approached by listing down all the basic features being provided by the platform. Platform -> Organizations can register themselves. One org can have more than one recruiters. Recruiters create jobs on the org portal. Candidate can apply to the jobs. Recruiters can accept and reject the applications. Categorized 4 parent tables by taking hints in between. The tables were USER -> ID, Name, Phone No, mail ID, Profile Des.("See full answer

    Software Engineer
    System Design
  • Adobe logoAsked at Adobe 
    Video answer for 'Solve John Conway's "Game of Life".'
    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Software Engineer
    Behavioral
    +1 more
  • Apple logoAsked at Apple 

    "Message queue is like a buffer. Its has 3 parts: Producer -> which creates a message and sends it to the queue. Queue -> which acta like a buffer pipe and stores the message. Subscriber -> which processes and releases messages one by one in FIFO manner."

    Rasika D. - "Message queue is like a buffer. Its has 3 parts: Producer -> which creates a message and sends it to the queue. Queue -> which acta like a buffer pipe and stores the message. Subscriber -> which processes and releases messages one by one in FIFO manner."See full answer

    Software Engineer
    System Design
  • "class Solution: def missingNumber(self, nums: list[int]) -> int: Sorting approach n = len(nums) s = n*(n+1)//2 r = s - sum(nums) return self.r l = [3,0,1] print(missingNumber(l))"

    Rohit B. - "class Solution: def missingNumber(self, nums: list[int]) -> int: Sorting approach n = len(nums) s = n*(n+1)//2 r = s - sum(nums) return self.r l = [3,0,1] print(missingNumber(l))"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
Showing 381-400 of 592