Common Problems
ChatGPT
Try This Problem Yourself
Practice with guided hints and real-time feedback
Understanding the Problem
Functional Requirements
- Users should be able to send a prompt in a chat and receive an AI-generated response.
- Users should be able to view past chats and resume a conversation, with the chat's prior context carried into the prompt.
- Editing or branching existing messages.
- Image, audio, or video input and output (text only).
- Sharing chats or collaborating on a chat with other users.
- Custom GPTs, tool / function calling, and web browsing.
- Full-text search across a user's chat history.
Non-Functional Requirements
The Set Up
Planning the Approach
Defining the Core Entities
API or System Interface
High-Level Design
1) Users should be able to send a prompt and receive an AI-generated response
2) Users should be able to view past chats and resume a conversation with context carried across turns
Potential Deep Dives
1) How do we stream tokens back fast, and keep the stream smooth?
2) How do we route and schedule generation requests across GPU workers?
3) How do we keep heavy users from monopolizing GPUs while giving paid tiers a better experience?
4) As conversations get longer, how do we control inference cost without making the assistant feel forgetful?
Cancelling a run and reclaiming the GPU
Some additional deep dives you might consider
What is Expected at Each Level?
Mid-level
Senior
Staff+
Purchase Premium to Keep Reading
Unlock this article and so much more with Hello Interview Premium
Currently up to 20% off
Hello Interview Premium
On This Page
Understanding the Problem
Functional Requirements
Non-Functional Requirements
The Set Up
Planning the Approach
Defining the Core Entities
API or System Interface
High-Level Design
1) Users should be able to send a prompt and receive an AI-generated response
2) Users should be able to view past chats and resume a conversation with context carried across turns
Potential Deep Dives
1) How do we stream tokens back fast, and keep the stream smooth?
2) How do we route and schedule generation requests across GPU workers?
3) How do we keep heavy users from monopolizing GPUs while giving paid tiers a better experience?
4) As conversations get longer, how do we control inference cost without making the assistant feel forgetful?
Cancelling a run and reclaiming the GPU
Some additional deep dives you might consider
What is Expected at Each Level?
Mid-level
Senior
Staff+