Design a Chat for HashiCorp
Last updated: September 20, 2025
Quick Overview
Design a geo-distributed chat system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
HashiCorp
System Design
Software Engineer
HashiCorp
September 20, 2025Software Engineer
Technical Screen
System Design
Medium
86
10
2,641 solved
Design a geo-distributed chat system that handles millions of requests. Discuss trade-offs in consistency, availability, and performance.
HashiCorp asks this during the Technical Screen to assess your understanding of the full ML lifecycle. They want to see how you translate a business problem into an ML objective, design the feature pipeline, and plan for model monitoring and retraining.
What the Interviewer Expects
- Define clear ML objectives with appropriate loss functions and metrics
- Design a comprehensive feature engineering pipeline
- Discuss model selection with trade-offs (complexity vs interpretability vs latency)
- Plan online and offline evaluation strategies including A/B testing
- Address serving infrastructure: batch vs real-time, latency requirements
- Consider data quality, labeling strategy, and feedback loops
Key Topics to Cover
Feedback loops and model retraining
Online vs offline evaluation
Training pipeline and infrastructure
Monitoring and model degradation detection
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How would you handle a 10x increase in prediction requests?
- How would you ensure fairness and reduce bias in the model?
- How would you handle the cold start problem?
Practice a Similar Problem on Codemia
Solve a related problem with our interactive workspace, get AI feedback, and view detailed solutions.
Solve on CodemiaSample Answer
Requirements
Functional Requirements:
- User Authentication: Users should be able to sign up, log in, and manage their profiles securely.
- Real-time Messaging: Users must send and receive messages i...
Capacity Estimation
Assuming HashiCorp has around 10 million active users:
- Messages per user per day: Estimate around 100 messages.
- Total daily messages: 10M users x 100 messages/user = 1 billion messages/day...
Submit Your Answer
Markdown supported