InterviewStack.io LogoInterviewStack.io

Object-Oriented Programming and Design Questions

The object-oriented paradigm: classes and objects, encapsulation, inheritance, polymorphism, and composition, plus SOLID and other design principles that keep object models maintainable. Covers modeling a domain in objects and defending those design choices. A staple conceptual interview across most engineering roles.

HardTechnical
18 practiced

In a large polyglot codebase you are seeing cyclic and brittle transitive dependencies. How would you manage transitive dependencies and enforce dependency inversion at the package/module level? Propose patterns, repository layouts, build-time checks, and runtime approaches to avoid cycles and keep low coupling across teams.

EasyTechnical
22 practiced

What is backpressure at a systems level? Describe a concrete mechanism to implement backpressure between a fast producer and a slow consumer using queues or a feedback channel. Explain how backpressure prevents overload when throughput grows and give example parameters to tune.

EasyTechnical
18 practiced

Compare synchronous (HTTP) and asynchronous (message queue) service-to-service communication. For a feature that expects spikes from 10 → 10,000 events, which approach would you choose and why? Discuss coupling, latency, reliability, operational complexity and how each approach affects future extension.

EasyTechnical
21 practiced

Compare interfaces and abstract classes across languages (Java, C#, C++, Python). When should you choose an interface over an abstract class, and vice versa? Provide examples where abstract classes offer a clear advantage and where lightweight interfaces are preferable for extensibility.

HardSystem Design
19 practiced

You want to migrate a synchronous workflow to an event-sourced asynchronous pipeline. Design the migration path: dual-write strategy, event schema evolution, how to onboard and version consumers, reconciliation and data parity checks, and rollback strategy to ensure correctness during the transition period.

Unlock Full Question Bank

Get access to all Object-Oriented Programming and Design interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.