- How to Succeed in a System Design Interview
- System Design Cheatsheet
- How to choose a database in 2018
- https://github.com/dwyl/how-to-choose-a-database
- Video: System Design Introduction For Interview
- Video: Intro to Architecture and Systems Design Interviews
- Video playlist: System Design
- Book Cracking the Coding Interview (has an excellent section that will get you well-prepared for these types interviews, as well as many others)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"allowCustomPeerCowNames": false, | |
"cellarInventory": [], | |
"completedAchievements": {}, | |
"cowBreedingPen": { | |
"cowId1": null, | |
"cowId2": null, | |
"daysUntilBirth": -1 | |
}, | |
"cowColorsPurchased": {}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"allowCustomPeerCowNames": false, | |
"cellarInventory": [ | |
{ | |
"id": "84acbe21-60ad-4604-ab23-48240f0c970b", | |
"itemId": "wine-chardonnay", | |
"daysUntilMature": -151 | |
}, | |
{ | |
"id": "e3a2afb9-fc25-4329-9d25-e290281f4ee5", |
- Ask for clarifying questions
- What is the scale of the solution needed?
- How many daily active users?
- How are they geographically distributed?
- What are we expecting in terms of peak traffic?
- What are the most business critical use-cases?
- What's a user persona we should be targeting?
- What is the scale of the solution needed?
- Identify constraints
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
docker run \ | |
# Set the current host working directory as the container's /tmp so the container can access it | |
-v $(pwd):/tmp \ | |
# Mount your home directory as the Docker root user's home directory to inherit any host dotfiles | |
-v $HOME:/root \ | |
# (Effectively) set the host's working directory as the container's working directory | |
-w /tmp \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generated by ChatGPT: https://chat.openai.com/share/6c78c3f4-213d-48e6-9f79-b85ef3a7adc7 | |
// Helper functions for converting between ArrayBuffer and base64 | |
function arrayBufferToBase64(buffer) { | |
const bytes = new Uint8Array(buffer); | |
return btoa(String.fromCharCode.apply(null, bytes)); | |
} | |
function base64ToArrayBuffer(base64) { | |
const binaryString = atob(base64); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generated by ChatGPT: https://chat.openai.com/share/6c78c3f4-213d-48e6-9f79-b85ef3a7adc7 | |
// Helper functions for converting between ArrayBuffer and base64 | |
function arrayBufferToBase64(buffer) { | |
const bytes = new Uint8Array(buffer); | |
return btoa(String.fromCharCode.apply(null, bytes)); | |
} | |
function base64ToArrayBuffer(base64) { | |
const binaryString = atob(base64); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Written by ChatGPT: https://chat.openai.com/share/5a3241a3-d4ab-4d85-96c5-9aafdff8e483 | |
// Function to generate a key pair | |
async function generateKeyPair() { | |
const keyPair = await crypto.subtle.generateKey( | |
{ | |
name: 'RSA-OAEP', | |
modulusLength: 2048, | |
publicExponent: new Uint8Array([0x01, 0x00, 0x01]), | |
hash: 'SHA-256', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"type": "excalidraw", | |
"version": 2, | |
"source": "https://excalidraw.com", | |
"elements": [ | |
{ | |
"id": "6NTKCxHqlVnqYY7Mg_5ph", | |
"type": "text", | |
"x": 603, | |
"y": 639, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"type": "excalidraw", | |
"version": 2, | |
"source": "https://excalidraw.com", | |
"elements": [ | |
{ | |
"id": "eJf_ZiWYQLX4xuxjywCaG", | |
"type": "text", | |
"x": 345, | |
"y": 163.5, |
NewerOlder