Skip to main content

Software Engineer Interview Questions

Review this list of 715 Software Engineer interview questions and answers verified by hiring managers and candidates.
  • 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
  • Walmart Labs logoAsked at Walmart Labs 
    Add answer
    Software Engineer
    Behavioral
    +5 more
  • Accenture logoAsked at Accenture 
    2 answers

    "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
  • Software Engineer
    Behavioral
  • Software Engineer
    Data Structures & Algorithms
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • Cursor logoAsked at Cursor 
    Add answer
    Software Engineer
    Behavioral
    +1 more
  • Netflix logoAsked at Netflix 
    1 answer

    "Questioning ones own self in the 1st, 2nd person."

    Kaleb A. - "Questioning ones own self in the 1st, 2nd person."See full answer

    Software Engineer
    Behavioral
  • Adobe logoAsked at Adobe 
    2 answers

    "func isMatch(text: String, pattern: String) -> Bool { // Convert strings to arrays for easier indexing let s = Array(text.characters) let p = Array(pattern.characters) guard !s.isEmpty && !p.isEmpty else { return true } // Create DP table: dpi represents if s[0...i-1] matches p[0...j-1] var dp = Array(repeating: Array(repeating: false, count: p.count + 1), count: s.count + 1) // Empty pattern matches empty string dp[0]["

    Reno S. - "func isMatch(text: String, pattern: String) -> Bool { // Convert strings to arrays for easier indexing let s = Array(text.characters) let p = Array(pattern.characters) guard !s.isEmpty && !p.isEmpty else { return true } // Create DP table: dpi represents if s[0...i-1] matches p[0...j-1] var dp = Array(repeating: Array(repeating: false, count: p.count + 1), count: s.count + 1) // Empty pattern matches empty string dp[0]["See full answer

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

    "An Object Oriented programming deals with data and members. An Object Oriented Programming consumes more memory. An OOPS Consist of bottom-up approach. An OOPS is more secure Than POP. POP. An POP deals with Functions. An POP is less secure compare to OOPS. An POP contains less memory. An POP doesnt contain acess Modifiers."

    Arun G. - "An Object Oriented programming deals with data and members. An Object Oriented Programming consumes more memory. An OOPS Consist of bottom-up approach. An OOPS is more secure Than POP. POP. An POP deals with Functions. An POP is less secure compare to OOPS. An POP contains less memory. An POP doesnt contain acess Modifiers."See full answer

    Software Engineer
    Concept
  • Accenture logoAsked at Accenture 
    Add answer
    Software Engineer
    Behavioral
    +1 more
  • Nvidia logoAsked at Nvidia 
    1 answer

    "def containSubString(mainString, SubString): s1 = "hello world" # main String s2 = "hello" s3 = "world" s4 = "Nothing" answer1 = containSubString(s1, s2) answer2 = containSubString(s1, s3) answer3 = containSubString(s1, s4) print(answer1 , answer2, answer) "

    Jalpa S. - "def containSubString(mainString, SubString): s1 = "hello world" # main String s2 = "hello" s3 = "world" s4 = "Nothing" answer1 = containSubString(s1, s2) answer2 = containSubString(s1, s3) answer3 = containSubString(s1, s4) print(answer1 , answer2, answer) "See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Nvidia logoAsked at Nvidia 
    Add answer
    Software Engineer
    Concept
  • Amazon logoAsked at Amazon 
    Add answer
    Software Engineer
    Behavioral
    +2 more
  • Robinhood logoAsked at Robinhood 
    1 answer

    "We can start by considering the key components: waiters, tables and customers. We'll need a database to store information about waiters, tables and customers, each waiter can have a unique ID and we can track the. number of tables they are servicng. Tables can have attributes like table number, capacity, and current status. Customers can be tracked by their arrival time and party size. we can calculat ethe expected waiting time bu considering the average time a table is occupied and the number o"

    Brandon C. - "We can start by considering the key components: waiters, tables and customers. We'll need a database to store information about waiters, tables and customers, each waiter can have a unique ID and we can track the. number of tables they are servicng. Tables can have attributes like table number, capacity, and current status. Customers can be tracked by their arrival time and party size. we can calculat ethe expected waiting time bu considering the average time a table is occupied and the number o"See full answer

    Software Engineer
    Product Design
    +1 more
  • Adobe logoAsked at Adobe 
    1 answer

    "create a queue push all cells with 0 into queue Mark all 1s as unvisited (-1 or large value) Run BFS for each cell, explore 4 directions If neighbor is unvisited:distance = current + 1 push into queue "

    Areeba M. - "create a queue push all cells with 0 into queue Mark all 1s as unvisited (-1 or large value) Run BFS for each cell, explore 4 directions If neighbor is unvisited:distance = current + 1 push into queue "See full answer

    Software Engineer
    Data Structures & Algorithms
    +2 more
  • +8

    "Definitely nice to think of this without memorization, but there is a well known algorithm for this problem, which is the Levenshtein Distance. Lev(a,b) = len(a) if len(b) == 0 = len(b) if len(a) == 0 = lev(a[1:], b[1:] if a[0] == b[0] = 1 + min (lev(a, b[1:]), lev(a[1:], b), lev(a[1:], b[1:])) https://en.wikipedia.org/wiki/Levenshtein_distance I'm sure some optimizations could be made with heuristic."

    Nicholas S. - "Definitely nice to think of this without memorization, but there is a well known algorithm for this problem, which is the Levenshtein Distance. Lev(a,b) = len(a) if len(b) == 0 = len(b) if len(a) == 0 = lev(a[1:], b[1:] if a[0] == b[0] = 1 + min (lev(a, b[1:]), lev(a[1:], b), lev(a[1:], b[1:])) https://en.wikipedia.org/wiki/Levenshtein_distance I'm sure some optimizations could be made with heuristic."See full answer

    Software Engineer
    Data Structures & Algorithms
    +1 more
  • Airbnb logoAsked at Airbnb 
    Add answer
    Software Engineer
    Behavioral
  • Amazon logoAsked at Amazon 
    Add answer
    Software Engineer
    Behavioral
  • Nike logoAsked at Nike 
    Add answer
    Software Engineer
    System Design
  • Amazon logoAsked at Amazon 
    1 answer

    "will design remote two-player Tic Tac Toe: players see the same authoritative 3×3 board, take turns as X and O, and get instant updates when the other moves. I will assume mobile and web clients, spotty networks, and that cheating must be prevented by never trusting the client board state. Clarifications. Are users logged in or guest with a link? Is matchmaking random or invite-only? What happens on disconnect—forfeit, pause, or async completion? D"

    Jiale L. - "will design remote two-player Tic Tac Toe: players see the same authoritative 3×3 board, take turns as X and O, and get instant updates when the other moves. I will assume mobile and web clients, spotty networks, and that cheating must be prevented by never trusting the client board state. Clarifications. Are users logged in or guest with a link? Is matchmaking random or invite-only? What happens on disconnect—forfeit, pause, or async completion? D"See full answer

    Software Engineer
    System Design
Showing 501-520 of 715
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