Grammarly·Software Engineer·Onsite - System Design / Architecture
- Design and implement a publish/subscribe system supporting subscribe(topic, handler), unsubscribe, and publish(topic, message). Then extend it to handle wildcard topic patterns, async delivery, durable subscriptions, and at-least-once vs. at-most-once delivery semantics. Also discuss thread safety, back-pressure, and scaling across many topics and subscribers.
“Started okay with the basic subscribe/publish interface, a map from topic to list of handlers, nothing fancy.”