Skip to main content

Software Engineer Interview Questions

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

    "You are given a string S and a number K as input, and your task is to print S to console output considering that, at most, you can print K characters per line. Example: S = "abracadabra sample" K = 11 Output: abracadabra sample Note that this problem requires the interviewee gather extra requirements from the interviewer (e.g. do we care about multiple white spaces? what if the length of a word is greater than K, ...)"

    B. T. - "You are given a string S and a number K as input, and your task is to print S to console output considering that, at most, you can print K characters per line. Example: S = "abracadabra sample" K = 11 Output: abracadabra sample Note that this problem requires the interviewee gather extra requirements from the interviewer (e.g. do we care about multiple white spaces? what if the length of a word is greater than K, ...)"See full answer

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

    "I was able to provide the optimal approach and coded it up"

    Anonymous Wasp - "I was able to provide the optimal approach and coded it up"See full answer

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

    "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
  • Canva logoAsked at Canva 
    1 answer

    "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
  • Nvidia logoAsked at Nvidia 
    1 answer

    "Clarifying When we say cloud gaming, we refer to a video gaming experience using cloud computing, right? Assumption: Yes. Understanding of cloud computing first. I'll use some analogies: Imagine you are looking to do heavy computing but don't have a powerful CPU and GPU. CPU and GPU are like your big calculators. You can buy a powerful CPU and GPU, but problems: It costs a lot to buy. It costs a lot to run. You don't need it 24-7. You are not a un"

    Darpan D. - "Clarifying When we say cloud gaming, we refer to a video gaming experience using cloud computing, right? Assumption: Yes. Understanding of cloud computing first. I'll use some analogies: Imagine you are looking to do heavy computing but don't have a powerful CPU and GPU. CPU and GPU are like your big calculators. You can buy a powerful CPU and GPU, but problems: It costs a lot to buy. It costs a lot to run. You don't need it 24-7. You are not a un"See full answer

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

  • Blend logoAsked at Blend 
    Add answer
    Software Engineer
    Behavioral
    +1 more
  • Apple logoAsked at Apple 
    1 answer

    "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
  • Confluent logoAsked at Confluent 
    1 answer

    "This depends on the list of documents and the length of the documents. My implementation will use Trie with node containing the following: class TrieNode { is_end: boolean, instances: { docid → [wordpositions] }, children: array[26] } Look up for a word will give result instances{docid:wordposition...} dictionary (which can be further improved by methods like max instance on a document....you name it...) Trie space is proportional to the total characters in"

    Aelaf G. - "This depends on the list of documents and the length of the documents. My implementation will use Trie with node containing the following: class TrieNode { is_end: boolean, instances: { docid → [wordpositions] }, children: array[26] } Look up for a word will give result instances{docid:wordposition...} dictionary (which can be further improved by methods like max instance on a document....you name it...) Trie space is proportional to the total characters in"See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • 1 answer

    "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
  • Software Engineer
    Behavioral
  • Apple logoAsked at Apple 
    3 answers

    "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
  • Discord logoAsked at Discord 
    Add answer
    Software Engineer
    Behavioral
    +4 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
  • Nvidia logoAsked at Nvidia 
    Add answer
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    1 answer

    "In my role as VP of operational model transformation was leading the definition of current and to be state of operations for a business representing >50% of the revenue & profits of the company. In a monthly feedback session, my manager shared how he noticed I had not delegated tasks and that I should work with 2 members who had been seconded to the team. We were working on a tight timeline and we wanted to get the targets completed earlier so that we can provide some buffer for further alignm"

    Chung jin C. - "In my role as VP of operational model transformation was leading the definition of current and to be state of operations for a business representing >50% of the revenue & profits of the company. In a monthly feedback session, my manager shared how he noticed I had not delegated tasks and that I should work with 2 members who had been seconded to the team. We were working on a tight timeline and we wanted to get the targets completed earlier so that we can provide some buffer for further alignm"See full answer

    Software Engineer
    Behavioral
    +2 more
  • Apple logoAsked at Apple 
    1 answer

    "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
  • LinkedIn logoAsked at LinkedIn 
    3 answers

    "Currently, there's no option to write Python code for the solution to this problem. Is it possible to add it?"

    Abhishek V. - "Currently, there's no option to write Python code for the solution to this problem. Is it possible to add it?"See full answer

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

    "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
  • Adobe logoAsked at Adobe 

    Permutations

    IDE
    Medium
    3 answers

    "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
  • Software Engineer
    Data Structures & Algorithms
Showing 401-420 of 624