preply·Software Engineer·Onsite - System Design / Architecture
May 2026
System design round at Preply for a software engineer role. The whole session was basically one big question about building a course reservation system, and they went pretty deep on the concurrency side of things which I wasn't fully prepared for.
- Design a course registration and appointment-booking service where students can reserve time slots. Walk through the database schema, API design, concurrency handling, and how you'd scale it.
- How would you prevent double-booking under high contention? Compare optimistic locking, pessimistic locking, and distributed locks for this use case.
“I started with the schema and felt okay there.”