| Aborting API calls | Cancel API requests | | note, system-design, roblox-interview, frontend, js, fetch |
| Closure | | | note, system-design, roblox-interview, frontend |
| Code Splitting | Don't download code the user doesn't need right now | | note, system-design, roblox-interview, frontend |
| Cross-tab Synchronization | BrodcastChannel | | note, system-design, roblox-interview, frontend |
| Debounce | Delay APIs | | note, system-design, roblox-interview, frontend, fetch |
| Error handling | Tricks for handling FE errors | | note, system-design, roblox-interview, frontend |
| Event Delegation | Lift listeners to improve performance | | note, system-design, roblox-interview, frontend, js, html |
| Feature Flags | A/B testing | | note, system-design, roblox-interview, frontend |
| Fetch and Render Pattern | JS pattern for displaying after fetch | | note, system-design, roblox-interview, frontend, js, html |
| Fetch with retry | JS pattern for trying to fetch data again | | note, system-design, roblox-interview, frontend, js, html, fetch |
| Ignore outdated responses | | | note, system-design, roblox-interview, frontend, js, fetch |
| Infinite Feed | | | note, system-design, roblox-interview, frontend |
| Lazy Loading Images | use for image-heavy pages | | note, system-design, roblox-interview, frontend |
| Limit Concurrent API calls | | | note, system-design, roblox-interview, frontend, js |
| Optimistic Updates | Use this so the user doesn't feel lag | | note, system-design, roblox-interview, frontend |
| Promisify | Convert callback to promise | | note, system-design, frontend, roblox-interview, js |
| Real-time data | SSE/Polling/WebSocket | | note, system-design, roblox-interview, frontend, backend |
| Throttle | Limit API calls | | note, system-design, roblox-interview, frontend, fetch |
| Virtualized lists | have hundreds of items in a scrollable element | | note, frontend, system-design, roblox-interview |