practice a little every day, paws crossed ♡
Software Engineering Fundamentals 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 1–30 of 1208 results
- AMDEasySoftware EngineerBuild a UVM testbench: driver, monitor, scoreboard and coverage-driven closure
A hardware design verification question on building a SystemVerilog UVM testbench for an RTL block. It covers agents, drivers, monitors and scoreboards, checking results that may leave out of order, catching missing outputs, and using code and functional coverage to steer constrained-random stimulus toward sign-off.
Software Engineering FundamentalsTechnical Screen - AMDMediumSoftware EngineerC++ Code Reading: Bug in a Linked-List insertAfter and Predicting Polymorphic Output
Two C++ code-reading exercises: find the bug in a singly linked list insertAfter function that is missing a pointer update and predict what the program prints, then predict and explain the output of code mixing virtual overriding, name hiding, constructors, default arguments and pass-by-value. It tests precise tracing of pointers and dispatch rules.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerDesign and Implement a Fixed-Capacity LRU Cache with Constant-Time Operations
Design and implement a fixed-capacity least-recently-used cache whose get and put operations run in constant time, while answering follow-up probes during coding. It tests data structure composition, careful iterator handling, eviction edge cases, and extensions such as thread safety and expiry.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerDevOps Experience, Jenkins Pipelines and Plugins, and Reading Very Large Log Files
Practical DevOps questions: describe your DevOps experience, explain how Jenkins pipelines, agents and plugins are used to build and test software, and show how to fetch and search a log file too large to open or load into memory. It tests hands-on CI/CD knowledge and efficient handling of large files.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerExplain Cache Conflicts and Related Memory-Access Problems
Explain cache-set conflicts with address mapping, then distinguish eviction from false sharing and GPU bank conflicts so padding and layout changes target the right cause.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerExplain GPU Register Spills and Their Performance Cost
Explain GPU register spills through live-variable pressure, compiler allocation, spill traffic, occupancy tradeoffs, and measured optimization choices.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerExplain Skills and Progressive Disclosure in an Agent
Explain reusable agent skills, prompt context, progressive disclosure, selection metadata, referenced resources, and the boundaries of permissions and validation.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerFast Retrieval at Scale: Databases, Indexing vs Sharding, Red-Black Trees and Tries
Conceptual questions on data storage and retrieval: what a database is and how to find data quickly in a very large dataset, how sharding differs from indexing, and how red-black trees and tries work. It tests understanding of access paths, horizontal scaling and core search data structures.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerOptimize the Memory Accesses of a GPU Matrix Transpose
Analyze row-major GPU transpose accesses and use tiled shared staging for coalesced reads and writes, with barrier safety, edge handling, and device-specific bank checks.
Software Engineering FundamentalsOnsite - AMDEasySoftware EngineerPCIe deep dive: TS1/TS2, LTSSM link training, TLP types and transaction ordering rules
A PCI Express protocol deep dive for a verification role. It covers TS1 and TS2 training ordered sets, LTSSM link training from Detect to L0 and through Recovery, TLP headers and the Posted, Non-Posted and Completion categories, and the ordering rules that decide when one transaction may pass another.
Software Engineering FundamentalsTechnical Screen - AMDMediumSoftware EngineerProfile a GPU Workload and Choose a Parallelism Strategy
Profile a GPU workload from its critical path to kernel counters, then choose parallelism based on independence, memory capacity, communication, and measured end-to-end gains.
Software Engineering FundamentalsOnsite - AMDMediumSoftware EngineerUse the Roofline Model to Analyze Prefill and Decoding
Apply roofline analysis to LLM prefill and decoding using arithmetic intensity, sustainable bandwidth, batching, KV-cache traffic, and measured kernel behavior.
Software Engineering FundamentalsOnsite - Abnormal AiMediumSoftware EngineerExtensible Security-Event Pipeline: Rule Suppression and Plugin-Based Enrichment
Tests your ability to design and implement an extensible, plugin-based security event processing engine supporting multi-tenant enrichments and dynamic rule suppression.
Software Engineering FundamentalsTechnical Screenobject-oriented-designsoftware-architecturemulti-tenancy - AddeparEasySoftware EngineerImplement a URL-Prefix Sliding-Window Alert Monitor
This problem tests the ability to manage time-based sliding windows and prefix-based path aggregation to trigger alerts based on request thresholds.
Software Engineering FundamentalsTechnical ScreenData StructuresHash MapSliding Window - Additive AiMediumSoftware EngineerExtract W-2 PDF Data and Evaluate It Against Reference JSON
This problem tests data structure manipulation, fuzzy matching logic, and evaluation metrics for comparing extracted AI document data against ground-truth schemas.
Software Engineering FundamentalsTechnical ScreenData ProcessingNormalizationEvaluation - AdiaEasyData ScientistCalculate Playback Counts per Stream
This question tests the ability to perform relational database joins and use aggregate functions (COUNT) with grouping to summarize event-level data.
Software Engineering FundamentalsTechnical ScreenSQLJoinsAggregation - AffirmEasySoftware EngineerDesign a High-Card Game with a Persistent Tie Pot
Design a high-card game in which tied rounds carry a persistent pot into later rounds, first for two players and then for many. Define card ownership, tie and exhaustion policies, deterministic shuffling, termination rules, extensible classes, and tests for tricky state transitions.
Software Engineering FundamentalsTechnical Screen - AffirmHardSoftware EngineerSimulate a High-Card Deck Game for Two Players, Then N Players
Model a shuffled 52-card game in which each round the higher top card wins both cards, then report the player with the most cards won. Starts with two players and generalizes to N players with uneven round-robin dealing, testing object design, rule clarification, and deterministic tests.
Software Engineering FundamentalsTechnical Screen - AgodaMediumSoftware EngineerCompute probability two arrivals meet within 15 minutes
This question evaluates understanding of continuous probability and geometric probability, focusing on independent uniform random variables and reasoning about time-window overlap.
Software Engineering FundamentalsTechnical Screen - AirbnbMediumSoftware EngineerBuild an Incremental Loyalty-Points Ledger with Scheduled, Cancelable Transfers
Implement an in-memory loyalty-points ledger that grows in three stages: atomic transfers between accounts, transfers scheduled for a future point on a simulated clock, and cancellation of a transfer before it fires. Tests incremental state-machine design, validating before mutating, and keeping point totals correct across every sequence of calls.
Software Engineering FundamentalsOnline Assessmentstate-machineoopsimulation - AirbnbMediumSoftware EngineerDefine a File Store with User Quotas and Compression
Implement an in-memory cloud file store that supports file creation, copying, prefix/suffix search, per-user storage quotas, and atomic file compression/expansion.
Software Engineering FundamentalsOnline AssessmentData StructuresDesignString - AirbnbMediumSoftware EngineerDesign a Multi-Level In-Memory Cloud Storage Service
Design a multi-tiered in-memory cloud storage system supporting staged uploads, capacity limits, prefix search ranking, and conflict-aware backup and restore operations.
Software Engineering FundamentalsOnline AssessmentDesignData StructuresHash Table - AirbnbMediumSoftware EngineerDesign a Stateful Banking System with Scheduled Payments and Account Merges
Design an in-memory stateful banking system that supports account creation, transfers, spending leaderboards, scheduled payments with deterministic backlog processing, and account merges.
Software Engineering FundamentalsOnline Assessmentdata-structuresheapsystem-simulation - AirbnbHardSoftware EngineerDesign a Stateful Working Hours Register
Design an in-memory working hours and compensation tracking register that supports badge events, top-k leaderboards, scheduled rate changes, and interval-based historical earnings calculations.
Software Engineering FundamentalsOnline AssessmentDesignIntervalsBinary Search - AirbnbMediumSoftware EngineerDesign a banking ledger for deposits/withdrawals
This question tests your ability to design a robust database schema and service logic for a banking system, focusing on data integrity, transaction atomicity, and handling high-concurrency balance updates.
Software Engineering FundamentalsTechnical ScreenDatabase DesignConcurrencyTransactions - AirbnbEasySoftware EngineerDesign an In-Memory Cloud Storage Service with Users, Backups, and Restore
Implement an in-memory cloud storage system supporting user storage limits, globally unique files, ranked file queries, account merges, and transactional backup and restore operations.
Software Engineering FundamentalsOnline AssessmentObject-Oriented DesignData StructuresHash Table - AirbnbMediumSoftware EngineerDesign an extensible request Retryer
This question evaluates a candidate's ability to design extensible and robust retry mechanisms, covering competencies in API/interface design, fault tolerance, backoff and jitter strategies, cancellation/deadline handling, idempotency considerations, and observability.
Software Engineering FundamentalsTechnical Screen - AirbnbHardSoftware EngineerHow do you conduct a code review exercise?
This question tests a software engineer's ability to conduct structured, high-signal code reviews under time pressure and limited context. It evaluates judgment in prioritizing correctness issues over style, communicating feedback clearly, and handling ambiguity — core competencies in software engineering fundamentals interviews.
Software Engineering FundamentalsOnsite - AirbnbMediumSoftware EngineerImplement a Multi-Level Recipe Management Service
Design and implement an in-memory recipe management service supporting deterministic querying, defensive data isolation, atomic updates, and secondary index maintenance.
Software Engineering FundamentalsOnline AssessmentData StructuresAPI DesignInverted Index - AirbnbHardSoftware EngineerImplement a Time-Aware Banking System
Design and implement a stateful, time-aware in-memory banking ledger that handles atomic transfers, deferred/scheduled executions, account mergers, historical balance queries, and activity rankings.
Software Engineering FundamentalsOnline AssessmentDesignHeapBinary Search