Cascadiq

Challenges

Pick a challenge and solve it in the browser. Algorithms have run/submit; projects are open-ended with an AI interviewer.

Algorithms

Two Sum

Easy
15 min
ArrayHash Table

Given an array of integers `nums` and an integer `target`, return **indices** of the two n…

Valid Parentheses

Easy
15 min
StringStack

Given a string `s` containing only the characters `(`, `)`, `{`, `}`, `[` and `]`, determi…

Reverse Integer

Easy
10 min
Math

Given a signed 32-bit integer `x`, return `x` with its digits reversed. If reversing `x` c…

Valid Palindrome

Easy
10 min
StringTwo Pointers

Given a string `s`, return `true` if it is a **palindrome**, otherwise `false`. Ignore non…

Maximum Subarray

Medium
20 min
ArrayDynamic Programming

Given an integer array `nums`, find the subarray with the largest sum and return that sum.…

Merge Sorted Arrays

Medium
15 min
ArrayTwo Pointers

Given two sorted integer arrays `nums1` and `nums2`, merge `nums2` into `nums1` as one sor…

Container With Most Water

Medium
20 min
ArrayTwo Pointers

You are given an integer array `height` of length `n`. There are `n` vertical lines drawn …

3Sum

Medium
25 min
ArrayTwo Pointers

Given an integer array `nums`, return all triplets `[nums[i], nums[j], nums[k]]` such that…

Subarray Sum Equals K

Medium
20 min
ArrayHash Table

Given an array of integers `nums` and an integer `k`, return the total number of subarrays…

Binary Search

Medium
10 min
ArrayBinary Search

Given a sorted ascending array `nums` and a target `target`, return the index of `target` …

Group Anagrams

Medium
20 min
ArrayHash Table

Given an array of strings `strs`, group the anagrams together. An anagram is a word formed…

Number of Islands

Medium
25 min
ArrayDFS

Given a 2D grid `grid` of `'1'`s (land) and `'0'`s (water), return the number of islands. …

Trapping Rain Water

Hard
35 min
ArrayTwo Pointers

Given `n` non-negative integers representing an elevation map where the width of each bar …

Longest Palindromic Substring

Hard
30 min
StringDynamic Programming

Given a string `s`, return the **longest palindromic substring** in `s`. A palindrome read…

Edit Distance

Hard
40 min
StringDynamic Programming

Given two strings `word1` and `word2`, return the **minimum number of operations** require…

Longest Valid Parentheses

Hard
35 min
StringStack

Given a string containing just the characters `(` and `)`, find the length of the longest …

Projects

Simple Todo API

Easy
20 min
APIBackend

Build a minimal API that stores a list of todo items in memory. Support adding a todo and …

Hello World API

Easy
10 min
APIBackend

Create a single endpoint that returns a JSON greeting. Optionally accept a name query para…

Static Page Generator

Easy
25 min
ToolingMarkdown

Write a small script that reads a markdown file and outputs a simple HTML page (title + bo…

Form Validation Utility

Easy
25 min
UtilityValidation

Build a small utility that validates an object against a schema (e.g. required fields, typ…

Product Search API

Medium
45 min
APIBackend

You're building a product search API for an e-commerce platform. Users need to search for …

REST API with CRUD

Medium
45 min
APIREST

Design and implement a small REST API with full CRUD for a single resource (e.g. "Tasks" o…

Design a Rate Limiter

Medium
35 min
System DesignBackend

Design and implement a simple rate limiter: given a user/key and a limit (e.g. 100 request…

In-Memory Caching Layer

Medium
35 min
BackendCaching

Design a simple cache with get(key), set(key, value), and optional TTL. Evict expired entr…

Webhook Receiver

Medium
40 min
APISecurity

Build an endpoint that receives POST requests (e.g. webhook payloads), validates a simple …

Config Parser

Medium
30 min
ToolingConfig

Parse a config file (e.g. INI or env-style KEY=VALUE) and return a typed object. Support c…

Request Deduplication

Medium
25 min
BackendAsync

Implement a deduplication layer: given a key (e.g. request id), only allow one in-flight r…

Log Aggregator

Medium
40 min
BackendObservability

Design a small service that accepts log entries (level, message, timestamp), stores them i…

Distributed Session Store

Hard
45 min
System DesignSessions

Design a session store that could work across multiple app servers. Sessions: create, get,…

Event Sourcing Mini

Hard
50 min
ArchitectureEvent Sourcing

Implement a minimal event-sourced counter or todo list: append events (e.g. Incremented, I…

Multi-Tenant API

Hard
45 min
APIMulti-Tenancy

Design an API where every request is scoped to a tenant (e.g. via header or subdomain). Da…

Real-Time Dashboard Backend

Hard
50 min
Real-TimeSystem Design

Design the backend for a real-time dashboard: metrics (e.g. CPU, requests/min) streamed to…