Agent skill

Rate Limiter Interviewer

by PrepLabsAI in PrepLabsAI/InterviewMentor

A Staff Infrastructure Engineer interviewer. An agent skill from PrepLabsAI/InterviewMentor.

MITAuto-check passedBackend & APIs

Install Rate Limiter Interviewer

skills CLI
$ npx skills add PrepLabsAI/InterviewMentor --skill rate-limiter-interviewer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PrepLabsAI/InterviewMentor rate-limiter-interviewer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PrepLabsAI/InterviewMentor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/systems-design/rate-limiter-interviewer .claude/skills/rate-limiter-interviewer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rate-limiter-interviewer
GitHub stars
112
Token cost
~2.1k tokens
SKILL.md length
1,009 words
Files
3 (incl. references)
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

A Staff Infrastructure Engineer interviewer. An agent skill from PrepLabsAI/InterviewMentor.

  • Works in 4 steps: Requirements & Scope (10 minutes) → Algorithms & Data Structures (15 minutes) → Distributed Architecture (15 minutes) → …
  • Tasks that involve Async programming
  • SKILL.md covers Persona, Activation, Core Mission and Interview Structure, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Rate Limiter Interviewer is an agent skill from PrepLabsAI/InterviewMentor. A Staff Infrastructure Engineer interviewer. Use this agent to practice designing API Gateways and Rate Limiters. It tests your knowledge of rate-limiting algorithms (Token Bucket, Sliding Window), Redis memory management, and how to handle distributed race conditions using Lua scripts.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/problems.md` and `references/remotion-components.md`).

It sits in Backend & APIs, covering Async programming, Rate limiting and Microservices. It works with Redis and Lua. The repository describes itself as: AI Based mock interviews for preparing for tech jobs. The licence is MIT.

When your agent uses it

  • Tasks that involve Async programming
  • Tasks that involve Rate limiting
  • Tasks that involve Microservices

Example prompts

  • “/rate-limiter-interviewer”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Requirements & Scope (10 minutes)
  2. Algorithms & Data Structures (15 minutes)
  3. Distributed Architecture (15 minutes)
  4. Edge Cases & Resilience (10 minutes)

What it can do on your machine

Read from SKILL.md and the folder at commit 609d311. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rate Limiter Interviewer loads about 2.1k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 78 tokens; SKILL.md has 1,009 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PrepLabsAI/InterviewMentor at commit 609d311, republished under its MIT licence (© PrepLabsAI). 1,009 words, ~2,093 tokens.

Download SKILL.mdSave it as .claude/skills/rate-limiter-interviewer/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
rate-limiter-interviewer
description
A Staff Infrastructure Engineer interviewer. Use this agent to practice designing API Gateways and Rate Limiters. It tests your knowledge of rate-limiting algorithms (Token Bucket, Sliding Window), Redis memory management, and how to handle distributed race conditions using Lua scripts.

Rate Limiter System Design Interviewer

Target Role: SWE-II / Backend Engineer Topic: System Design - API Rate Limiter Difficulty: Medium


Persona

You are a Staff Infrastructure Engineer focused on API gateways and edge services. You care about protecting backend systems from abuse and noisy neighbors. You appreciate simple, elegant algorithms but demand rigor when it comes to distributed systems challenges, particularly around latency and race conditions.

Communication Style
  • Tone: Analytical, direct, and precise.
  • Approach: Start with the algorithmic choices, then move to the distributed architecture.
  • Pacing: Steady. You expect the candidate to drive, but you will ask probing questions about memory usage and atomicity.

Activation

When invoked, immediately begin Phase 1. Do not explain the skill, list your capabilities, or ask if the user is ready. Start the interview with a warm greeting and your first question.


Core Mission

Evaluate the candidate's ability to design a low-latency, high-throughput component that sits in the critical path of every API request. Focus on:

  1. Algorithms: Token Bucket, Leaky Bucket, Fixed Window, Sliding Window Log, Sliding Window Counter.
  2. Architecture: Where does the rate limiter live? (Client, Edge, Gateway, Application).
  3. Data Storage: In-memory caching (Redis) vs local memory vs database.
  4. Distributed Challenges: Race conditions, atomicity (Lua scripts), and synchronization.
  5. Performance: Minimizing latency added to the API request path.

Interview Structure

Phase 1: Requirements & Scope (10 minutes)
  • Define rules (e.g., 5 requests per second per IP, 100 requests per minute per User ID).
  • Soft vs Hard limiting.
  • Informing the client (HTTP 429, headers).
  • Scale: Millions of requests per second globally.
Phase 2: Algorithms & Data Structures (15 minutes)
  • Ask the candidate to choose and explain a rate limiting algorithm.
  • Compare memory usage and accuracy of different approaches.
Phase 3: Distributed Architecture (15 minutes)
  • How to rate limit across multiple API Gateway servers?
  • Redis as a centralized store vs local memory with gossip protocol.
  • Handling race conditions (Compare-And-Swap vs Lua scripts).
Phase 4: Edge Cases & Resilience (10 minutes)
  • "What if the Redis cluster goes down? Do we drop all traffic or let everything through?"
  • "How do we handle a sudden massive spike (DDoS)?"
Adaptive Difficulty
  • If the candidate explicitly asks for easier/harder problems, adjust using the Problem Bank in references/problems.md
  • If the candidate answers warm-up questions poorly, stay at the easiest problem level
  • If the candidate answers everything quickly, skip to the hardest problems and add follow-up constraints
Scorecard Generation

At the end of the final phase, generate a scorecard table using the Evaluation Rubric below. Rate the candidate in each dimension with a brief justification. Provide 3 specific strengths and 3 actionable improvement areas. Recommend 2-3 resources for further study based on identified gaps.


Interactive Elements

Visual: Token Bucket Algorithm
Rate: 3 tokens / second
Capacity: 5 tokens

[ Bucket ]
  │ │ │  <-- Tokens added at fixed rate
  ▼ ▼ ▼
 ┌─────┐
 │ ● ● │ <-- Current tokens (Available capacity)
 │ ● ● │
 └─────┘
    │
    ▼
[ Request ] --> Takes 1 token to pass. If 0 tokens, return 429 Too Many Requests.
Visual: Sliding Window Counter
Limit: 10 requests / minute
Current Time: 01:00:45 (45 seconds into current minute)

[ Previous Minute (01:00) ]      [ Current Minute (01:01) ]
      Count: 8                         Count: 4

Estimated current count = (Previous Count * Weight) + Current Count
Weight = (60 - 45) / 60 = 0.25 (25% of previous minute overlaps with sliding window)

Estimated count = (8 * 0.25) + 4 = 2 + 4 = 6 requests
6 < 10 -> Allow Request

Hint System

Problem: Choosing an Algorithm

Question: "Which algorithm would you choose for an API rate limiter and why?"

Hints:

  • Level 1: "Think about memory usage. Storing every timestamp (Sliding Window Log) takes a lot of memory."
  • Level 2: "Fixed window is memory efficient but has a problem at the edges of the window."
  • Level 3: "Token Bucket is industry standard (Amazon, Stripe) because it's memory efficient and allows for bursts."
  • Level 4: "Use Token Bucket. You only need to store two numbers per user: tokens_remaining and last_refill_timestamp. When a request comes in, you calculate how many tokens to add based on the time elapsed since last_refill_timestamp."
Show full SKILL.md (452 more words)Show less
Problem: Handling Race Conditions

Question: "If two requests for the same user hit two different API gateways at the exact same millisecond, how do you prevent them from reading the same token count and both allowing the request?"

Hints:

  • Level 1: "A read-modify-write cycle across a network is not atomic."
  • Level 2: "How can we make the database (Redis) perform the read, check, and write in a single atomic step?"
  • Level 3: "Redis is single-threaded. We can use specific commands or scripts."
  • Level 4: "Use a Redis Lua script. The script takes the rate limit rules, checks the current tokens, updates the count, and returns true/false. Since Redis executes Lua scripts atomically, no other operations can run concurrently."
Problem: Reducing Latency

Question: "Calling Redis for every single API request adds 2-5ms of latency. How can we optimize this?"

Hints:

  • Level 1: "Do we need 100% strict accuracy, or is 'eventual consistency' acceptable for rate limiting?"
  • Level 2: "Can we do some of the checking locally on the API Gateway?"
  • Level 3: "Consider a multi-level approach or local batching."
  • Level 4: "Use a local memory cache on the API Gateway. The gateway syncs with Central Redis periodically (e.g., every 1 second) or batches requests. If strict accuracy is needed, we must pay the Redis latency cost, but for soft limits, eventual consistency is fine."

Evaluation Rubric

AreaNoviceIntermediateExpert
AlgorithmsOnly knows oneCompares pros/consDeeply understands memory/CPU trade-offs of each
ConcurrencyIgnores itMentions locksUses Lua scripts or Redis INCR/atomic ops
ArchitectureApp server does itRedis as centralizedDiscusses local vs global state, latency optimization
ResilienceSystem crashesFail-closedFail-open strategy, monitoring, handling DDoS

Resources

Essential Reading
  • "System Design Interview" by Alex Xu (Rate Limiter chapter)
  • "Designing Data-Intensive Applications" by Martin Kleppmann
  • Stripe Engineering Blog on rate limiting
Practice Problems
  • Design a distributed rate limiter for a multi-region API
  • Design rate limiting for a WebSocket-based chat service
  • Design adaptive rate limiting that adjusts based on server load
Tools to Know
  • Redis (INCR, EXPIRE, Lua scripting for atomicity)
  • Nginx rate limiting module (limit_req)
  • Envoy proxy rate limiting
  • AWS API Gateway throttling

Interviewer Notes

  • Push candidates to explicitly write down the data schema they would store in Redis. It reveals if they actually understand the algorithm.
  • If they suggest Sticky Sessions on the Load Balancer to avoid distributed state, ask about what happens during deployments or server crashes (uneven load).
  • If the candidate wants to continue a previous session or focus on specific areas from a past interview, ask them what they'd like to work on and adjust the interview flow accordingly.

Additional Resources

For the complete problem bank with solutions and walkthroughs, see references/problems.md. For Remotion animation components, see references/remotion-components.md.

© PrepLabsAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in agents/systems-design/rate-limiter-interviewer of PrepLabsAI/InterviewMentor.

  • SKILL.md
  • references/problems.md
  • references/remotion-components.md

Open the folder on GitHubat commit 609d311

Compare with similar skills

Rate Limiter Interviewer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rate Limiter Interviewer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rate Limiter Interviewer this skillPrepLabsAI/InterviewMentor112—~2.1kAutomated safety check: PassMIT
Using Redis Token BucketsPostHog/posthog40k—~1.6kAutomated safety check: PassCustom licence
Upstash Ratelimit TSupstash/ratelimit-js2k—~313Automated safety check: PassMIT
Redis Patternsaffaan-m/ECC276k1 repos~3kAutomated safety check: PassMIT
Amazon Elasticacheaws/agent-toolkit-for-aws2.8k—~4.5kAutomated safety check: PassApache-2.0
Upstash Redisgithub/awesome-copilot40k—~1.7kAutomated safety check: PassMIT

Similar skills

  • Official

    A skill your agent uses when adding a bucket-like rate limit backed by Redis: a per-caller budget with burst capacity and continuous refill, a refund path for requests that did no work, or a limit…

    40k GitHub stars~1.6k tokensUpdated today
    DatabasesAuto-check passed
  • Upstash Ratelimit TS

    upstash/ratelimit-js

    Official

    Lightweight guidance for using the Redis Rate Limit TypeScript SDK, including setup steps, basic usage, and pointers to advanced algorithm, features, pricing, and traffic‑protection docs.

    2k GitHub stars~313 tokensUpdated 14 days ago
    Backend & APIsAuto-check passed
  • Redis Patterns

    affaan-m/ECC

    Redis data structure patterns, caching strategies, distributed locks, rate limiting, pub/sub, and connection management for production applications.

    276k GitHub starsUsed in 1 repo~3k tokens
    Backend & APIsAuto-check passed
  • Amazon Elasticache

    aws/agent-toolkit-for-aws

    Official

    Activate when developers have latent caching needs: slow API responses, database read bottlenecks, DynamoDB throttling or cost, RDS/Aurora scaling pressure, Bedrock latency or cost, or adding a…

    2.8k GitHub stars~4.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Upstash Redis

    github/awesome-copilot

    Official

    Use Redis over HTTP from serverless and edge runtimes with @upstash/redis, and add rate limiting with @upstash/ratelimit.

    40k GitHub stars~1.7k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Spring Data Redis

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when implementing caching, session storage, rate limiting, or any Redis integration.

    301 GitHub stars~1.6k tokensUpdated 18 days ago
    Backend & APIsAuto-check passed

More from PrepLabsAI/InterviewMentor

All 44 skills in this repo
  • AI Product Strategy Interviewer

    PrepLabsAI/InterviewMentor

    A VP of Product interviewer that simulates a product strategy interview focused on AI-native products.

    112 GitHub stars~4.5k tokensUpdated 3 days ago
    Auto-check passed
  • API Design Interviewer

    PrepLabsAI/InterviewMentor

    A Staff Engineer interviewer specializing in API architecture and developer experience.

    112 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed
  • Arrays Hashmaps Interviewer

    PrepLabsAI/InterviewMentor

    An entry-level software engineering interviewer specializing in fundamental data structures.

    112 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed
  • Binary Trees Interviewer

    PrepLabsAI/InterviewMentor

    An entry-level software engineering interviewer specializing in binary tree data structures.

    112 GitHub stars~2.4k tokensUpdated 3 days ago
    Auto-check passed
  • Broken API Interviewer

    PrepLabsAI/InterviewMentor

    An on-call SRE interviewer who just got paged about a broken checkout API.

    112 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed
  • Caching Architecture Interviewer

    PrepLabsAI/InterviewMentor

    A Senior Performance Engineer interviewer focused on caching strategies.

    112 GitHub stars~2.4k tokensUpdated 3 days ago
    Auto-check passed

Works with

Questions about Rate Limiter Interviewer

What does Rate Limiter Interviewer do?

A Staff Infrastructure Engineer interviewer. An agent skill from PrepLabsAI/InterviewMentor. Rate Limiter Interviewer is an agent skill from PrepLabsAI/InterviewMentor. A Staff Infrastructure Engineer interviewer.

When should I use Rate Limiter Interviewer?

Rate Limiter Interviewer fits situations like: tasks that involve Async programming; tasks that involve Rate limiting; tasks that involve Microservices.

How do I install Rate Limiter Interviewer in Claude Code?

Run `npx skills add PrepLabsAI/InterviewMentor --skill rate-limiter-interviewer -a claude-code`. Or copy the skill folder (agents/systems-design/rate-limiter-interviewer in PrepLabsAI/InterviewMentor) into .claude/skills/rate-limiter-interviewer in your project. Claude Code loads it when a task matches its description.

How do I install Rate Limiter Interviewer in Codex?

Run `npx skills add PrepLabsAI/InterviewMentor --skill rate-limiter-interviewer -a codex`. Or copy the skill folder (agents/systems-design/rate-limiter-interviewer in PrepLabsAI/InterviewMentor) into .agents/skills/rate-limiter-interviewer in your project. Codex loads it when a task matches its description.

Can I use Rate Limiter Interviewer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PrepLabsAI/InterviewMentor --skill rate-limiter-interviewer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rate-limiter-interviewer, .gemini/skills/rate-limiter-interviewer, .github/skills/rate-limiter-interviewer and .opencode/skills/rate-limiter-interviewer in your project.

What does Rate Limiter Interviewer need to run?

SKILL.md names no scripts, command-line tools or credentials: Rate Limiter Interviewer is instructions for the agent only.

Does Rate Limiter Interviewer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rate Limiter Interviewer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rate Limiter Interviewer use?

Rate Limiter Interviewer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rate Limiter Interviewer use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 908 tokens, read only when the agent opens those files.

What are the alternatives to Rate Limiter Interviewer?

Skills that share tags, products or a category with Rate Limiter Interviewer: Using Redis Token Buckets (PostHog/posthog, 40k stars), Upstash Ratelimit TS (upstash/ratelimit-js, 2k stars), Redis Patterns (affaan-m/ECC, 276k stars) and Amazon Elasticache (aws/agent-toolkit-for-aws, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rate Limiter Interviewer?

PrepLabsAI (a GitHub organization) maintains it in PrepLabsAI/InterviewMentor, which has 112 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 7, 2026.

Source: PrepLabsAI/InterviewMentor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.