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 301–330 of 625 results
- MercorMediumSoftware EngineerCode Review: Thread Safety of a Python Compute-and-Cache Function
Review a Python function that checks a dictionary cache, runs an expensive computation on a miss, and stores the result, assuming concurrent callers. It probes thread safety under simultaneous misses, making the computation run once per input, where to place a lock without serializing cache hits, and how Python dictionaries behave under concurrent reads and writes.
Software Engineering FundamentalsTechnical Screen - MercorHardSoftware EngineerCompare Merge Sort with Factorial and Randomized Inefficient Sorts
Tests deep understanding of sorting algorithms, contrasting optimal divide-and-conquer strategies (Merge Sort and its adaptive variants) against factorial and randomized paradigms (Permutation Sort and Bogo Sort) across worst-case and expected complexity bounds.
Software Engineering FundamentalsTechnical ScreenDivide and ConquerSortingComplexity Analysis - MercorMediumSoftware EngineerCompare processes and threads in Linux and Python
This question evaluates understanding of operating-system level concurrency versus language-level concurrency, specifically distinctions between processes and threads on Linux, the Global Interpreter Lock in Python, and trade-offs between Python threading and multiprocessing for performance.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerDebug a Java CSV Export Function for Output and Performance Bugs
A debugging exercise on a small Java function that converts rows of string fields into CSV text for import by another system. You find what is wrong with its output and why it slows down sharply on large exports, then fix it. It tests string handling, the cost of building strings in loops, and edge-case tests.
Software Engineering FundamentalsTechnical Screen - MercorEasySoftware EngineerDesign a Deliberately Inefficient Sorting Algorithm and Analyze Its Complexity
An algorithms discussion question that asks for a deliberately inefficient but correct sorting algorithm and a careful analysis of its running time. It tests complexity reasoning about extremely fast-growing costs, worst-case versus expected time, and how such a sort compares with the lower bound for comparison sorting.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerDesign the Worst Correct Sorting Algorithm and Analyze Its Complexity
Asks you to propose the worst sorting algorithm that is still correct, explain how it works, argue that it always terminates with sorted output, and analyze its best-case and worst-case time and space. It tests counting arrangements, reasoning about factorial growth and stating what makes such a question well defined.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerExplain what happens when opening a website
This question evaluates understanding of the end-to-end web request lifecycle, including DNS resolution, TCP/TLS handshakes, HTTP(S) exchanges, CDN and load balancer behavior, server-side handling, and the browser rendering pipeline.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerFind the Production Bugs in a Dictionary Cache Around an Expensive Computation
Review a short Python function that caches the results of an expensive computation in a dictionary, and identify what breaks in a long-running, concurrent production service. Tests reasoning about memory growth, eviction policy, concurrent cache misses, error handling, and input validation.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerMake a Dict-Based Memoization Cache Safe for Concurrent Threads
A memoization cache built on a plain Python dictionary wraps an expensive function and is now called from many threads at once. The question asks what goes wrong and how to fix it, testing race-condition analysis, lock scope and its throughput cost, duplicate-work prevention, and exception handling for waiting callers.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerReview a Hand-Rolled Python CSV Serializer for Correctness and Performance Bugs
A code review question on a short Python function that turns a table of rows into CSV text. Candidates must find its correctness and performance problems and write a fixed version, which tests delimiter handling, string building in Python, non-string cells, CSV quoting and escaping rules, and how to verify the fix.
Software Engineering FundamentalsTechnical Screen - MercorHardSoftware EngineerReview an Asynchronous Cache for Races, Memory Growth, and Thread Safety
Tests understanding of asynchronous race conditions, memory leaks, and eviction in single-threaded event loops versus multithreaded synchronization in languages like C++.
Software Engineering FundamentalsTechnical ScreenConcurrencyAsync/AwaitCaching - MercorMediumSoftware EngineerSorting Complexity: Beating O(n^2), Quicksort's Worst Case, and a Slower Sort
A verbal sorting-theory discussion: explain how to sort faster than quadratic insertion sort, identify quicksort's worst case, count the non-empty subsequences and the permutations of an n-element array, and design a correct sort that is deliberately slower than O(n^2). It tests asymptotic analysis, recurrence reasoning, and basic combinatorics.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerStripe Payment Integration: Error Handling, Idempotent Retries and Payment Storage
Explain how to add a Stripe payment integration to a backend service: how to handle errors and retries without charging a customer twice, what payment data to store, and which database to use given ACID and availability needs. Tests idempotency, failure handling, and data modeling for payments.
Software Engineering FundamentalsTechnical Screen - MercorMediumSoftware EngineerThe Worst Possible Sorting Algorithm and How to Enumerate Every Permutation
A verbal algorithms question: name the worst sorting algorithm that still always sorts correctly, analyze its running time, and explain how you would compute every permutation of the input exactly once. It tests reasoning about factorial complexity and knowledge of permutation enumeration methods.
Software Engineering FundamentalsTechnical Screen - MergeMediumSoftware EngineerDesign a Common Data Class to Normalize Different API Responses
Design a common data class that can hold API responses describing the same kind of record but differing in field names, nesting, ID types and timestamp formats, plus the code that maps each response into it. It tests data modeling, normalization, handling of missing and extra fields, and how the records would be stored in a database.
Software Engineering FundamentalsTechnical Screen - MergeMediumSoftware EngineerOrg Chart from a Reporting List: Count Orgs, Print by Level, Find a Common Manager
Given a company's employees as (id, title, reports_to) tuples with heads reporting to None, count the separate orgs, print employees level by level, and find the first manager two employees share. It tests building a tree from manager pointers, level-order traversal, ancestor queries and edge cases under a tight time limit.
Software Engineering FundamentalsTechnical Screen - MetaMediumSoftware EngineerDesign a Concurrent, Memory-Bounded Tally Service
This problem tests the ability to design a high-throughput, memory-efficient data structure for time-series counting that balances concurrency, accuracy, and storage constraints.
Software Engineering FundamentalsTechnical ScreenConcurrencyTime-SeriesData-Structures - MetaEasySoftware EngineerDesign a String Calculator with Explicit Grammar and Evaluation Rules
This problem tests the ability to implement a parser for basic mathematical expressions, specifically focusing on handling operator precedence and parentheses using a stack-based approach.
Software Engineering FundamentalsTechnical ScreenStacksParsingAlgorithms - MetaEasySoftware EngineerDesign a Trade Ledger Class
This problem evaluates your ability to design a class interface that maintains an ordered collection of events and allows efficient retrieval based on time-based criteria.
Software Engineering FundamentalsTechnical ScreenData StructuresAPI DesignBinary Search - MetaMediumSoftware EngineerDiagnose a Single-Server Crash with Concrete Linux Evidence
Walk through a single-server crash investigation using Linux service, kernel, memory, disk, and boot evidence while planning safe recovery.
Software Engineering FundamentalsTechnical Screen - MetaMediumSoftware EngineerImplement paginated, sortable dynamic table component
This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Implement paginated, sortable dynamic table component states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Software Engineering FundamentalsTechnical Screen - MetaHardSoftware EngineerImplement, Debug, and Optimize a React Table
Implement, Debug, and Optimize a React Table evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Software Engineering FundamentalsTechnical Screen - MetaMediumSite Reliability EngineerTroubleshoot a production server outage
This question evaluates a candidate's competency in observability, incident response, and Linux/server operations, including troubleshooting production outages, isolating latency causes, identifying running processes and services, and recognizing finite resource bottlenecks.
Software Engineering FundamentalsTechnical Screen - MetaMediumSoftware EngineerTroubleshoot a website outage with disk full
This question tests your systematic approach to diagnosing a production service outage caused by resource exhaustion and your ability to implement short-term and long-term mitigation strategies.
Software Engineering FundamentalsTechnical ScreenLinuxSystem AdministrationIncident Response - MetropolisMediumSoftware EngineerExplain how you use AI tools in development
This question evaluates a developer's familiarity with AI-assisted development tools, practical experience integrating them into workflows, and understanding of associated governance, security, and data-handling concerns.
Software Engineering FundamentalsTechnical Screen - MicrosoftHardSoftware EngineerChoose lock granularity for concurrent storage
This problem tests your understanding of concurrency control by asking you to design a locking strategy for a multi-threaded key-value store, focusing on the trade-offs between throughput and latency.
Software Engineering FundamentalsTechnical ScreenConcurrencyLockingSystem Design - MicrosoftMediumMachine Learning EngineerCompute precision/recall from a flaky top-k API
This question evaluates understanding of binary classification evaluation metrics (precision and recall) and competency in handling unreliable API behavior for robust metric computation, testing both conceptual understanding and practical application.
Software Engineering FundamentalsTechnical Screen - MicrosoftHardSoftware EngineerExplain OOP design and API rollout
This question evaluates object-oriented design and API release engineering competencies, covering identification of core domain objects, separation of orchestration from business rules, testability and extensibility of backend logic, and safe modification of public APIs including backward compatibility, versioning, testing, rollout, monitoring, and client communication, and it is categorized under Software Engineering Fundamentals. It is commonly asked because employers need assurance that engineers can both conceptually design maintainable, extensible systems and practically apply release processes and testing strategies to evolve public interfaces without disrupting clients.
Software Engineering FundamentalsTechnical Screen - MicrosoftMediumSoftware EngineerExplain deadlock cases and how to prevent them
This question evaluates understanding of deadlocks, concurrency control, and resource synchronization in concurrent programming, testing competency in identifying the necessary conditions for deadlock, analyzing concrete scenarios including circular waits, and considering engineering approaches for prevention, detection, and recovery.
Software Engineering FundamentalsTechnical Screen - MicrosoftMediumSoftware EngineerFind the Bugs in an AI-Generated URL Shortener
Tests code review, debugging, and refactoring skills by identifying flaws in an AI-generated in-memory URL shortener and implementing a robust, thread-safe replacement.
Software Engineering FundamentalsTechnical ScreenCode ReviewConcurrencyHashing