Skip to content

Instantly share code, notes, and snippets.

View will-fong's full-sized avatar
🏠
Working from home

Will Fong will-fong

🏠
Working from home
View GitHub Profile
@will-fong
will-fong / dezoomcamp-vm.md
Last active February 7, 2022 03:58 — forked from ziritrion/dezoomcamp-vm.md
Quick guide to easily create a VM instance in GCP and set up SSH access with Gcloud SDK

Install and setup Gcloud SDK

  1. Download Gcloud SDK from this link and install it according to the instructions for your OS.
  2. Initialize the SDK following these instructions.
    1. Run gcloud init from a terminal and follow the instructions.
    2. Make sure that your project is selected with the command gcloud config list

Creating a VM instance

  1. From your project's dashboard, go to Cloud Compute > VM instance

Design a financial reconciliation system

Step 1: Outline use cases and constraints

Gather requirements and scope the problem. Ask questions to clarify use cases and constraints. Discuss assumptions.

Without an interviewer to address clarifying questions, we'll define some use cases and constraints.

FEATURE EXPECTATIONS AND REQUIREMENTS GATHERING [5 min]

  1. Use cases
    1. As a X, I want to Y so that Z
    2. Scenarios that will not be covered (Edge cases)
  2. Who will use?
  3. How many will use?
  4. How will they use it? (Usage patterns)

ESTIMATIONS [5 min]

  1. Throughput (QPS for read and write queries)

HOW TO ACE A SYSTEMS DESIGN INTERVIEW

Compiler design dependency comic, originally from http://www.xkcd.com/754/ Comic courtesy of XKCD, via Creative Commons License

One interview that candidates often struggle with is the systems design interview. Even if you know your algorithms and write clean code, that code needs to run on a computer somewhere—and then things quickly get complicated. A truly unbelievable amount of complexity lies beneath something as simple as visiting Google in your browser. While most of that complexity is abstracted away from the end user, as a system designer you have to face it head on, and the more you can handle, the better.

We’re looking for generalists with depth—people who are good at most things, and great at some. If systems design isn’t your strength, that’s okay, but you should at least be able to talk and reason competently about a complex system.

Read on to learn about what we’re looking for and how you can prepare.

Decision record template for business case

This ADR template emphasizes creating a business case for a decision, including critera, candidates, and costs.

Top-level

  • Title
  • Status
  • Evaluation criteria
@will-fong
will-fong / .SQL Exercises - StrataScratch.md
Last active December 19, 2022 15:25
SQL Exercises - StrataScratch

SQL Exercises

Difficulty

Hard

  • Highest Cost Orders.sql
  • Premium vs Freemium.sql

Medium

@will-fong
will-fong / SQL Interview Questions.md
Last active April 3, 2024 10:31
https://quip.com/2gwZArKuWk7W - The Best Medium-Hard Data Analyst SQL Interview Questions By Zachary Thomas

The Best Medium-Hard Data Analyst SQL Interview Questions

By Zachary Thomas (zthomas.nc@gmail.com, Twitter, LinkedIn)

Tip: See the Table of Contents (document outline) by hovering over the vertical line on the right side of the page

Update: Thanks everyone for the support and feedback! See this discussion on this post on Hacker News, Linkedin, Eric Weber’s Linkedin post. Also, feel free to check out my Medium post on Metric Design. Thank you!

Background & Motivation

@will-fong
will-fong / .LeetCode SQL Exercises.md
Last active September 23, 2021 05:13
LeetCode SQL Exercises

SQL Exercises

Difficulty

Hard

Medium