Skip to main content

Software Engineer Interview Questions

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

    "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"

    Anonymous Starfish - "Ask my manager how urgent is my task and why it should be done if needed. If its urgent enough and I can’t wait, communicate with team explaining what goals going to be achieved by implementing and why its important"See full answer

    Software Engineer
    Behavioral
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
  • Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Video answer for 'Implement a k-nearest neighbors algorithm.'
    +10

    "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"

    Dinar M. - "Even more faster and vectorized version, using np.linalg.norm - to avoid loop and np.argpartition to select lowest k. We dont need to sort whole array - we need to be sure that first k elements are lower than the rest. import numpy as np def knn(Xtrain, ytrain, X_new, k): distances = np.linalg.norm(Xtrain - Xnew, axis=1) k_indices = np.argpartition(distances, k)[:k] # O(N) selection instead of O(N log N) sort return int(np.sum(ytrain[kindices]) > k / 2.0) `"See full answer

    Software Engineer
    Coding
    +2 more
  • Amazon logoAsked at Amazon 
    +3

    "As an engineering manager, motivation is key to the success of the team. Here are some ways to motivate the team: Set clear goals: Clearly defined goals help team members understand what they're working towards and give them a sense of purpose. Offer growth opportunities: Providing opportunities for professional development and advancement can increase motivation and job satisfaction. Provide recognition and rewards: Recognising and rewarding team members for their hard work and achieve"

    Santhosh K. - "As an engineering manager, motivation is key to the success of the team. Here are some ways to motivate the team: Set clear goals: Clearly defined goals help team members understand what they're working towards and give them a sense of purpose. Offer growth opportunities: Providing opportunities for professional development and advancement can increase motivation and job satisfaction. Provide recognition and rewards: Recognising and rewarding team members for their hard work and achieve"See full answer

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

  • Meta logoAsked at Meta 

    "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"

    Vikash A. - "Functional Requirement Upload the file of any type POST v1/drive Upload the another version of file. POST v1/drive/{fileId} Delete the file. DELETE v1/drive/{fileId} Share the file. POST v1/drive/{fileId} Control the access level of the file. Provide the file accessibility following the directory structure. Non Functional Requirement Reliability: The file along with its versions uploaded should be"See full answer

    Software Engineer
    System Design
    +1 more
  • Netflix logoAsked at Netflix 
    Software Engineer
    Behavioral
  • Microsoft logoAsked at Microsoft 

    "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"

    GalacticInterviewer - "I first clarified what he needed for the leaderboard meaning did he need a gaming leaderboard system, a stock market leaderboard system where the trades placed would be ranked in terms of values or a coding platform leaderboard where the users are ranked as per the points earned by solving the problem? He answered that he wanted a multipurpose leaderboard system He was specifically interested in the design of the api part Explained him that assuming we had a flask api there would be a get re"See full answer

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

    "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"

    Sambangi C. - "#simple solution 1.firstly find the node in the bst (O(logn) time complexity it take) 2.now removing the node consists of 3 cases: 1.if the node is leaf (no children): (keep track of parent and do) parent.left or parent.right=NULL simply remove the node () 2.if(has one child) replace the node with its child 3.if has both childs we replace the node with either inorder predesor(max of left tree)or inorder succesor and remove the node wh"See full answer

    Software Engineer
    Coding
  • Hubspot logoAsked at Hubspot 
    Software Engineer
    System Design
    +1 more
  • Google logoAsked at Google 

    "Question: An array of n integers is given, and a positive integer k, where k << n. k indicates that the absolute difference between each element's current index (icurrent) and the index in the sorted array (isorted) is less than k (|icurr - isorted| < k). Sort the given array. The most common solution is with a Heap: def solution(arr, k): min_heap = [] result = [] for i in range(len(arr)) heapq.heappush(min_heap, arr[i]) "

    Guilherme M. - "Question: An array of n integers is given, and a positive integer k, where k << n. k indicates that the absolute difference between each element's current index (icurrent) and the index in the sorted array (isorted) is less than k (|icurr - isorted| < k). Sort the given array. The most common solution is with a Heap: def solution(arr, k): min_heap = [] result = [] for i in range(len(arr)) heapq.heappush(min_heap, arr[i]) "See full answer

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

    "First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently. Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"

    Stanley Y. - "First of all, stack and heap memory are abstraction on top of the hardware by the compiler. The hardware is not aware of stack and heap memory. There is only a single piece of memory that a program has access to. The compiler creates the concepts of stack and heap memory to run the programs efficiently. Programs use stack memory to store local variables and a few important register values such as frame pointer and return address for program counter. This makes it easier for the compiler to gene"See full answer

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

    "Arrays.sort(inputarray) sliding window with a size of 2. Check for the sum in the sliding window. subtract the start when window moves"

    Sridhar R. - "Arrays.sort(inputarray) sliding window with a size of 2. Check for the sum in the sliding window. subtract the start when window moves"See full answer

    Software Engineer
    Data Structures & Algorithms
    +5 more
  • Adobe logoAsked at Adobe 
    Video answer for 'Find the median of two sorted arrays.'
    Software Engineer
    Data Structures & Algorithms
    +4 more
  • Goldman Sachs logoAsked at Goldman Sachs 
    +10

    "public static Integer[] findLargest(int[] input, int m) { if(input==null || input.length==0) return null; PriorityQueue minHeap=new PriorityQueue(); for(int i:input) { if(minHeap.size()(int)top){ minHeap.poll(); minHeap.add(i); } } } Integer[] res=minHeap.toArray(new Integer[0]); Arrays.sort(res); return res; }"

    Divya R. - "public static Integer[] findLargest(int[] input, int m) { if(input==null || input.length==0) return null; PriorityQueue minHeap=new PriorityQueue(); for(int i:input) { if(minHeap.size()(int)top){ minHeap.poll(); minHeap.add(i); } } } Integer[] res=minHeap.toArray(new Integer[0]); Arrays.sort(res); return res; }"See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • Anthropic logoAsked at Anthropic 
    Software Engineer
    Behavioral
Showing 201-220 of 593