Skip to main content

Software Engineer Coding Interview Questions

Review this list of 267 Coding Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Amazon logoAsked at Amazon 
    1 answer

    "input_logs = [ f"{senderid} {receiverid} {transaction_count}" "1 2 2", "3 2 42", "2 2 22", "1 1 12", "2 1 1", "2 5 4", "4 2 15" ] input_threshold = 20 exptected_output = [ list of user_ids that made more than 20 transactions sorted by number of transactions in descending order "3", # 42 transactions "2", # 27 transactions (22 + 1 + 4) #"4", # 15 transactions #"1" # 14 transactions (2 + 12 + 1) ] def gettopapi_users(logs, thres"

    Anonymous Unicorn - "input_logs = [ f"{senderid} {receiverid} {transaction_count}" "1 2 2", "3 2 42", "2 2 22", "1 1 12", "2 1 1", "2 5 4", "4 2 15" ] input_threshold = 20 exptected_output = [ list of user_ids that made more than 20 transactions sorted by number of transactions in descending order "3", # 42 transactions "2", # 27 transactions (22 + 1 + 4) #"4", # 15 transactions #"1" # 14 transactions (2 + 12 + 1) ] def gettopapi_users(logs, thres"See full answer

    Software Engineer
    Coding
    +1 more
  • Google logoAsked at Google 
    1 answer

    "def encode(root): if not root: return [] def dfs(node): if not node: return res.append(node.val) res.append(len(node,children)) for child_node in node.children: dfs(child_node) res = [] dfs(root) return res def decode(arr): if not arr: return None n = len(arr) i = 0 def dfs(val, children_count): if children_count == 0: return Node(val) cur_node = Node(val) cur_node.children = [] for j in range(children_count): nonlocal i i += 2 cur_node.children.append(dfs(arr[i], arr[i"

    Ying T. - "def encode(root): if not root: return [] def dfs(node): if not node: return res.append(node.val) res.append(len(node,children)) for child_node in node.children: dfs(child_node) res = [] dfs(root) return res def decode(arr): if not arr: return None n = len(arr) i = 0 def dfs(val, children_count): if children_count == 0: return Node(val) cur_node = Node(val) cur_node.children = [] for j in range(children_count): nonlocal i i += 2 cur_node.children.append(dfs(arr[i], arr[i"See full answer

    Software Engineer
    Coding
  • Meta logoAsked at Meta 
    4 answers
    +1

    "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"

    GalacticInterviewer - "Approach 1: Use sorting and return the kth largest element from the sorted list. Time complexity: O(nlogn) Approach 2: Use max heap and then select the kth largest element. time complexity: O(n+logn) Approach 3: Quickselect. Time complexity O(n) I explained my interviewer the 3 approaches. He told me to solve in a naive manner. Used Approach 1 had some time left so coded approach 3 also The average time complexity of Quickselect is O(n), making it very efficient for its purpose. However, in"See full answer

    Software Engineer
    Coding
    +2 more
  • Meta logoAsked at Meta 
    21 answers
    +17

    "static int[] sortKMessedArray(int[] inputarr, int k) { for (int i= 1; i= 0 ) { if (curval < inputarr[j] ) { inputarr[j+1] = inputarr[j]; j-- ; } } //inputarr[i] = inputarr[j] ; inputarr[j+1] = curval; } return inputarr; }"

    Dm - "static int[] sortKMessedArray(int[] inputarr, int k) { for (int i= 1; i= 0 ) { if (curval < inputarr[j] ) { inputarr[j+1] = inputarr[j]; j-- ; } } //inputarr[i] = inputarr[j] ; inputarr[j+1] = curval; } return inputarr; }"See full answer

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

  • Software Engineer
    Coding
  • Netflix logoAsked at Netflix 
    Add answer
    Software Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    16 answers
    +12

    "Problem Statement: The Fibonacci sequence is defined as F(n) = F(n-1) + F(n-2) with F(0) = 1 and F(1) = 1. The solution is given in the problem statement itself. If the value of n = 0, return 1. If the value of n = 1, return 1. Otherwise, return the sum of data at (n - 1) and (n - 2). Explanation: The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, typically starting with 0 and 1. Java Solution: public static int fib(int n"

    Rishi G. - "Problem Statement: The Fibonacci sequence is defined as F(n) = F(n-1) + F(n-2) with F(0) = 1 and F(1) = 1. The solution is given in the problem statement itself. If the value of n = 0, return 1. If the value of n = 1, return 1. Otherwise, return the sum of data at (n - 1) and (n - 2). Explanation: The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, typically starting with 0 and 1. Java Solution: public static int fib(int n"See full answer

    Software Engineer
    Coding
    +2 more
  • Apple logoAsked at Apple 
    Add answer
    Software Engineer
    Coding
    +4 more
  • Airbnb logoAsked at Airbnb 
    Add answer
    Software Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    Add answer
    Software Engineer
    Coding
    +4 more
  • Amazon logoAsked at Amazon 
    1 answer

    "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "

    Anonymous Unicorn - "Count items between indices within compartments compartments are delineated by by: '|' items are identified by: '*' input_inventory = "*||||" inputstartidxs = [1, 4, 6] inputendidxs = [9, 5, 8] expected_output = [3, 0, 1] Explanation: "*||||" 0123456789... indices ++ + # within compartments ^ start_idx = 1 ^ end_idx = 9 -- - # within idxs but not within compartments "*||||" 0123456789... indices "See full answer

    Software Engineer
    Coding
    +1 more
  • AMD logoAsked at AMD 
    15 answers
    Video answer for 'Find the number of rotations in a circularly sorted array.'
    +10

    "function findRotations(nums) { if (nums.length 0 && nums[mid] > nums[mid-1]) { left = mid; } else { right = mid; } } return rig"

    Tiago R. - "function findRotations(nums) { if (nums.length 0 && nums[mid] > nums[mid-1]) { left = mid; } else { right = mid; } } return rig"See full answer

    Software Engineer
    Coding
    +1 more
  • Google logoAsked at Google 
    2 answers

    "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
    Coding
    +1 more
  • "/* You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms. Each room contains a single instruction that tells you which room to go to next. * instructions1 and treasurerooms_1 * lily* --------- daisy sunflower | | | v v v jasmin --> tulip* violet* ----> rose* --> ^ | ^ ^ | "

    Azeezat R. - "/* You are with your friends in a castle, where there are multiple rooms named after flowers. Some of the rooms contain treasures - we call them the treasure rooms. Each room contains a single instruction that tells you which room to go to next. * instructions1 and treasurerooms_1 * lily* --------- daisy sunflower | | | v v v jasmin --> tulip* violet* ----> rose* --> ^ | ^ ^ | "See full answer

    Software Engineer
    Coding
    +1 more
  • Oracle logoAsked at Oracle 
    Add answer
    Software Engineer
    Coding
    +1 more
  • Adobe logoAsked at Adobe 
    Add answer
    Software Engineer
    Coding
    +4 more
  • +7

    " DP Solution Time: O(W * C) Space: O(W * C) from typing import List def knapsack(weight: List[int], values: List[int], cap: int) -> int: dp = [[0] * (cap + 1) for _ in range( len(values) + 1 )] for i in range(1, len(weight)+1): for c in range(1, cap + 1): curr_weight = weight[i - 1] curr_value = values[i - 1] include = 0 exclude = dpi-1 if c - curr_weight >= 0: include = curr_valu"

    Rick E. - " DP Solution Time: O(W * C) Space: O(W * C) from typing import List def knapsack(weight: List[int], values: List[int], cap: int) -> int: dp = [[0] * (cap + 1) for _ in range( len(values) + 1 )] for i in range(1, len(weight)+1): for c in range(1, cap + 1): curr_weight = weight[i - 1] curr_value = values[i - 1] include = 0 exclude = dpi-1 if c - curr_weight >= 0: include = curr_valu"See full answer

    Software Engineer
    Coding
    +2 more
Showing 121-140 of 267
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