Skip to main content

Software Engineer Technical Interview Questions

Review this list of 58 Technical Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Google logoAsked at Google 
    18 answers
    +13

    "function areSentencesSimilar(sentence1, sentence2, similarPairs) { if (sentence1.length !== sentence2.length) return false; for (let i=0; i (w1 === word1 && !visited.has(w2)) || (w2 === word1 && !visited.has(w1))); if (!edge) { "

    Tiago R. - "function areSentencesSimilar(sentence1, sentence2, similarPairs) { if (sentence1.length !== sentence2.length) return false; for (let i=0; i (w1 === word1 && !visited.has(w2)) || (w2 === word1 && !visited.has(w1))); if (!edge) { "See full answer

    Software Engineer
    Technical
    +2 more
  • Better.com logoAsked at Better.com 
    4 answers
    +1

    "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"

    Debajyoti B. - "As far as i know, when we type a web address in the browser- the broswer connects to the DNS server & finds the address of the website we are looking for after finding it, the browser sends an HTTP request message to the server,with a request to send a copy of the website to the user. all of this information is sent using TCP/IP protocol across your internet"See full answer

    Software Engineer
    Technical
  • Meta logoAsked at Meta 
    3 answers

    "Did pretty ok. Gathered requirements, back of the envelope calculations and drew out the typical system design with details of components. Dug in deep into each box and probed around why it was needed."

    S R. - "Did pretty ok. Gathered requirements, back of the envelope calculations and drew out the typical system design with details of components. Dug in deep into each box and probed around why it was needed."See full answer

    Software Engineer
    Technical
    +2 more
  • Meta logoAsked at Meta 
    4 answers
    Video answer for 'Design an API for searching a folder.'
    Software Engineer
    Technical
    +1 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
    Technical
    +2 more
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • TikTok logoAsked at TikTok 
    1 answer

    "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."

    Jagan M. - "This system design question is very small compared to other questions like design instagram, twitter, google drive etc... Since the design involves less components the level of detail we have to go in them were deep. I had to explain how to deal with all the NFR for the distributed cache system. Whether it is a push model or a pull model. Hade to do BOE calculations for the database too."See full answer

    Software Engineer
    Technical
    +1 more
  • Google logoAsked at Google 
    Add answer
    Software Engineer
    Technical
    +2 more
  • Amazon logoAsked at Amazon 
    4 answers
    +1

    "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"

    Vaibhav C. - "To determine if a graph is not a tree, you can check for the following conditions: Presence of cycles: A graph is not a tree if it contains cycles. In a tree, there should be exactly one unique path between any two vertices. If you can find a cycle in the graph, it cannot be a tree. Insufficient number of edges: A tree with N vertices will have exactly N-1 edges. If the graph has fewer or more than N-1 edges, then it is not a tree. Disconnected components: A tree is a connected graph, m"See full answer

    Software Engineer
    Technical
    +2 more
  • Amazon logoAsked at Amazon 
    2 answers

    "no"

    Hamilton D. - "no"See full answer

    Software Engineer
    Technical
    +1 more
  • Anthropic logoAsked at Anthropic 
    Add answer
    Software Engineer
    Technical
  • Stripe logoAsked at Stripe 
    1 answer

    "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
  • Accenture logoAsked at Accenture 
    2 answers

    "Solving current problems by considering what would have happened if the past had been slightly different."

    Abdurhman M. - "Solving current problems by considering what would have happened if the past had been slightly different."See full answer

    Software Engineer
    Technical
    +2 more
  • 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
    Technical
    +3 more
  • Anthropic logoAsked at Anthropic 
    1 answer
    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
    Technical
    +2 more
  • Meta logoAsked at Meta 
    Add answer
    Software Engineer
    Technical
    +1 more
  • Google logoAsked at Google 
    Add answer
    Software Engineer
    Technical
    +2 more
  • "The first part is to design with either a linked list of IDs or an array of boolean values. The second part is to optimize both time and memory."

    Seamus L. - "The first part is to design with either a linked list of IDs or an array of boolean values. The second part is to optimize both time and memory."See full answer

    Software Engineer
    Technical
  • Flatiron Health logoAsked at Flatiron Health 
    1 answer
    Software Engineer
    Technical
    +2 more
  • Amazon logoAsked at Amazon 
    3 answers

    "Use dijkstra's algorithm using priority queue "

    Priyanka G. - "Use dijkstra's algorithm using priority queue "See full answer

    Software Engineer
    Technical
    +2 more
  • Software Engineer
    Technical
    +1 more
Showing 21-40 of 58
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