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