Katkat

practice a little every day, paws crossed ♡

Software Engineer Interview Questions

Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.

9403
Questions
546
Companies
11
Topics
8
Languages

Showing 1831–1860 of 5874 results

  • DecagonMediumSoftware Engineer
    Design the Security Architecture for an LLM Chatbot Product

    A system design question on securing a chatbot built on a large language model that talks with people outside the company. It tests threat modeling for prompt injection and data leakage, user authentication and tool authorization outside the model, tenant isolation, sensitive-data handling, abuse controls, auditing and incident response.

    System DesignOnsite
  • DecagonMediumSoftware Engineer
    Enumerate 4x4 Tic-Tac-Toe Games

    This question evaluates understanding of recursion and backtracking, exhaustive game-tree enumeration, and state representation for combinatorial game analysis.

    Coding & AlgorithmsOnsite
  • DecagonMediumSoftware Engineer
    Implement CSAT tracking and call timing

    This problem tests your ability to manage stateful data during event processing and calculate exclusive execution times from a stream of nested function logs.

    Coding & AlgorithmsOnsiteStackSimulationData Structures
  • DecagonEasySoftware Engineer
    Implement a CSAT Sliding Window Tracker

    This question evaluates the ability to design and implement efficient data structures and algorithms for a sliding time-window tracker, covering time-based expiration, stateful updates, rolling averages with rounding, and nearest-rank percentile computation.

    Coding & AlgorithmsTechnical Screen
  • DecagonMediumSoftware Engineer
    Send Requests in Batches of Five and Retry Failures After a Per-Request Delay

    A practical coding exercise: send a list of requests to an API that accepts at most five per call, then retry failed requests only after the per-request delay returned by the API. It tests batching, retry scheduling with timestamps, waiting without busy loops and clean handling of partial failures.

    Software Engineering FundamentalsTechnical Screen
  • DecagonMediumSoftware Engineer
    Shopping Cart with Undo and Redo for Add and Remove Operations

    A coding exercise to build a shopping cart class whose add and remove operations can be undone and redone. It tests how history entries are represented, how capped removals and deleted lines are reversed exactly, what a new change does to the redo history, and how empty-history cases are handled.

    Software Engineering FundamentalsOnsite
  • DecagonMediumSoftware Engineer
    Solve 3x3 Tic-Tac-Toe with Backtracking: Perfect-Play Result and Best Move

    Write a backtracking solver for 3x3 tic-tac-toe that determines the result of a given position under perfect play by both sides and returns a best move for the player to move. It tests win detection, recursive game-tree search, undoing moves correctly, and reasoning about search cost, memoization and pruning.

    Software Engineering FundamentalsTechnical Screen
  • DecagonMediumSoftware Engineer
    Walk Through One Past Project

    This question assesses the candidate's ability to communicate complex technical work, demonstrate ownership over the development lifecycle, and justify architectural trade-offs made during a past project.

    Behavioral & LeadershipTechnical ScreenSystem DesignLeadershipCommunication
  • DecagonMediumSoftware Engineer
    Walk Through a Project, a Project That Went Wrong, and How You Use AI

    A culture-focused behavioral interview with three questions: describe a project you worked on, describe a project that went wrong, and explain how you use AI tools in your work. It tests clear ownership of decisions, honest reflection on failure, and practical judgment about verifying AI output and respecting its limits.

    Behavioral & LeadershipOnsite
  • DeshawHardSoftware Engineer
    Compare Fixed and Variable Train Gaps Without a Timetable

    Compare two train services for a commuter who arrives without consulting a timetable. Explain the assumptions and derivation clearly, check edge cases, and show how the result changes when those assumptions no longer hold.

    Statistics & MathTechnical Screen
  • DeshawMediumSoftware Engineer
    Compare Linux Containers and Virtual Machines

    Tests in-depth understanding of Linux operating system virtualization mechanisms, contrasting hardware-level hypervisors with OS-level container isolation primitives across security, performance, and operational dimensions.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsDocker
  • DeshawMediumSoftware Engineer
    Explain What Happens When a Linux Shell Runs ls

    Tests end-to-end understanding of Linux OS fundamentals, systems programming concepts, system calls, and how a POSIX shell interacts with the kernel to execute a command.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsSystem Calls
  • DeshawHardSoftware Engineer
    Explain and Compare SGD and Adam

    Explain how stochastic gradient descent updates model parameters and how Adam modifies those updates using moving estimates of first and second gradient moments. Cover data and labels, leakage-safe features, baselines and model choice, offline evaluation, deployment constraints, monitoring, and drift.

    Machine LearningTechnical Screen
  • DeshawMediumSoftware Engineer
    Maximum L1 Distance Between Equal-Length Subarrays

    Tests recognizing that non-negative L1 terms allow reducing subarray search to full diagonal overlaps across two arrays, requiring O(n * m) time and 64-bit integer handling.

    Coding & AlgorithmsTechnical Screenarraysmathtwo-pointers
  • DeshawMediumSoftware Engineer
    Teach a New Technical Concept to an Undergraduate

    This exercise tests your ability to distill complex technical information, adapt to an audience's knowledge level, and maintain logical flow in a structured explanation.

    Behavioral & LeadershipTechnical ScreenCommunicationMentorshipTechnical Explanation
  • Deutsche BankHardSoftware Engineer
    Answer mixed behavioral and technical deep-dive questions

    This question evaluates a software engineer's combined behavioral and technical competencies, including communication, leadership, conflict resolution, system integration and API contracts, debugging, testing strategies, documentation practices, and use of AI tools.

    Behavioral & LeadershipOnsite
  • Deutsche BankHardSoftware Engineer
    Explain Java follow-ups after solving coding problem

    This question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.

    Software Engineering FundamentalsOnsite
  • Deutsche BankHardSoftware Engineer
    Solve tree equality and valid parentheses

    This problem set evaluates core skills in data structures and algorithmic reasoning, specifically binary tree structural equality and bracket-matching for strings, testing understanding of tree traversal, recursion, and stack-based parsing.

    Coding & AlgorithmsOnsite
  • DigitaloceanMediumSoftware Engineer
    Clarify a Longest-Repeating-Character Replacement Problem

    Clarify replacement and substring semantics, then analyze the conditional sliding-window criterion based on window size and maximum character frequency.

    Software Engineering FundamentalsOnsite
  • DigitaloceanMediumSoftware Engineer
    Design a Multi-Organization Advertising Platform with Performance Statistics

    Design ad management, serving, event collection, deduplicated statistics, and fair performance comparisons across organizations and campaigns.

    System DesignOnsite
  • DigitaloceanMediumSoftware Engineer
    Specify House-Selection Constraints Before Choosing a Robbery Dynamic Program

    Clarify house layout and selection conflicts, derive a conditional linear dynamic program, and explain how circular or graph constraints change it.

    Software Engineering FundamentalsOnsite
  • DiscordMediumSoftware Engineer
    Demonstrate effective AI-assisted coding workflow

    This question evaluates a candidate's proficiency with AI-assisted coding workflows, including prompt formulation, tool and library selection, design critique, testing approaches, and iterative feature development to demonstrate engineering judgment and ownership.

    Software Engineering FundamentalsOnsite
  • DiscordEasySoftware Engineer
    Design Slack-like chat system

    An onsite system-design interview question asking you to design the chat subsystem for a Slack/Discord-like app: workspaces, channels, 1:1 and group DMs, full message history, real-time updates, and edit/delete. It tests data modeling, storage and partitioning, fanout strategy, real-time WebSocket delivery, and per-conversation ordering and consistency.

    System DesignOnsite
  • DiscordMediumSoftware Engineer
    Design a TCP Discord-like chat server

    This question evaluates a candidate's skills in system design, TCP-based protocol design, real-time messaging, data modeling, persistence, session/reconnection handling, and concurrency control for backend services.

    System DesignOnsite
  • DiscordMediumSoftware Engineer
    Design leader election using Redis leases

    This question evaluates a candidate's understanding of distributed coordination and leader election using a central in-memory datastore, focusing on lease-based leadership, failover, and correctness under partitions and clock skew.

    System DesignOnsite
  • DiscordHardSoftware Engineer
    Explain C++ alignment and ABI stability

    This question evaluates mastery of C++ low-level memory concepts—memory alignment, padding and struct/class layout—and understanding of ABI stability, including calling conventions, name mangling, vtable layout and other binary compatibility concerns, reflecting competence in systems-level C++ and binary interfacing.

    Software Engineering FundamentalsHR Screen
  • DiscordHardSoftware Engineer
    Explain your database experience and debugging approach

    This question assesses the candidate's depth in database architecture, specifically regarding isolation levels and race conditions, while testing their methodology for validating code generated by AI or external tools.

    Software Engineering FundamentalsHR ScreenDatabasesConcurrencyDebugging
  • DiscordHardSoftware Engineer
    Implement User Sessionization From Event Stream

    This question evaluates proficiency in stream processing, stateful sessionization, time-based aggregation, and per-user metric computation, focusing on competencies such as tracking user activity across unbounded ordered event streams and computing top-channel aggregates.

    Coding & AlgorithmsTechnical Screen
  • DiscordMediumSoftware Engineer
    Implement an asyncio-based chat server

    This question tests practical knowledge of Python's asyncio library and concurrent programming by requiring the implementation of a TCP chat server. It evaluates a software engineer's ability to manage multiple simultaneous connections, handle resource cleanup, and apply event-driven concurrency patterns — core competencies commonly assessed in backend and systems-focused interviews.

    Coding & AlgorithmsOnsite
  • DiscordHardSoftware Engineer
    Walk through your background and proud project

    This question evaluates communication, ownership, and technical leadership related to persistence and database-infrastructure, including on-call incident handling, impact measurement, and trade-off justification.

    Behavioral & LeadershipHR Screen