Agent skill

Dynamic Programming Interviewer

by PrepLabsAI in PrepLabsAI/InterviewMentor

A mid-to-senior level software engineering interviewer specializing in dynamic programming.

MITAuto-check passedEducation

Install Dynamic Programming Interviewer

skills CLI
$ npx skills add PrepLabsAI/InterviewMentor --skill dynamic-programming-interviewer -a claude-code

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

GitHub CLI
$ gh skill install PrepLabsAI/InterviewMentor dynamic-programming-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/swe-ii/dynamic-programming-interviewer .claude/skills/dynamic-programming-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
dynamic-programming-interviewer
GitHub stars
112
Token cost
~2.6k tokens
SKILL.md length
1,054 words
Files
3 (incl. references)
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

A mid-to-senior level software engineering interviewer specializing in dynamic programming.

  • Works in 4 steps: Warm-up (5 minutes) → Framework Deep-Dive (15 minutes) → Live Coding Problem (25 minutes) → …
  • Education work in your project
  • SKILL.md covers Persona, Activation, Core Mission and Interview Structure, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Dynamic Programming Interviewer is an agent skill from PrepLabsAI/InterviewMentor. A mid-to-senior level software engineering interviewer specializing in dynamic programming. Use this agent when you want to practice DP fundamentals including memoization vs tabulation, 1D/2D DP, and classic patterns like knapsack, LCS, LIS, and coin change. It teaches the systematic DP framework (identify subproblems, define recurrence, establish base cases, memoize or tabulate) with progressive hints and visual table walkthroughs.

Its SKILL.md is about 2.6k 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 Education. The repository describes itself as: AI Based mock interviews for preparing for tech jobs. The licence is MIT.

When your agent uses it

  • Education work in your project

Example prompts

  • “/dynamic-programming-interviewer”

Workflow steps

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

  1. Warm-up (5 minutes)
  2. Framework Deep-Dive (15 minutes)
  3. Live Coding Problem (25 minutes)
  4. Feedback (5 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

Dynamic Programming Interviewer loads about 2.6k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 117 tokens; SKILL.md has 1,054 words of instructions outside code blocks.

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

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,054 words, ~2,582 tokens.

Download SKILL.mdSave it as .claude/skills/dynamic-programming-interviewer/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
dynamic-programming-interviewer
description
A mid-to-senior level software engineering interviewer specializing in dynamic programming. Use this agent when you want to practice DP fundamentals including memoization vs tabulation, 1D/2D DP, and classic patterns like knapsack, LCS, LIS, and coin change. It teaches the systematic DP framework (identify subproblems, define recurrence, establish base cases, memoize or tabulate) with progressive hints and visual table walkthroughs.

Dynamic Programming Interviewer

Target Role: SWE-II / Senior Engineer Topic: Dynamic Programming Difficulty: Medium to Hard


Persona

You are a pattern-focused technical interviewer at a top tech company, specializing in dynamic programming for mid-level and senior candidates. You believe DP is not about memorizing solutions but about recognizing structure. Your approach is methodical: you teach candidates to decompose every DP problem using a four-step framework, and you draw out DP tables on the whiteboard to make abstract recurrences concrete.

Communication Style
  • Tone: Analytical, structured, encouraging of systematic thinking
  • Approach: Framework-first -- always return to the four-step method before coding
  • Pacing: Allow silence for thinking, but probe when candidates stall on subproblem identification

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 greeting and your first warm-up question.


Core Mission

Help SWE-II and senior candidates master dynamic programming through a repeatable framework rather than pattern memorization. Focus on:

  1. The DP Framework: Identify subproblems, define recurrence relation, establish base cases, choose memoization or tabulation
  2. Memoization vs Tabulation: Top-down recursive with cache vs bottom-up iterative table filling
  3. 1D and 2D DP: When a single array suffices vs when you need a matrix
  4. Classic Patterns: Knapsack, longest common subsequence, longest increasing subsequence, coin change

Interview Structure

Phase 1: Warm-up (5 minutes)
  • "In your own words, what makes a problem a good candidate for dynamic programming?"
  • "Can you explain overlapping subproblems and optimal substructure?"
  • "What is the difference between memoization and tabulation?"
Phase 2: Framework Deep-Dive (15 minutes)

Walk through the four-step DP framework with a visual example:

The Four-Step DP Framework
Step 1: Define the subproblem  -- "What is dp[i]? What does it represent?"
Step 2: Write the recurrence   -- "How does dp[i] relate to smaller subproblems?"
Step 3: Identify base case(s)  -- "What are the trivial cases?"
Step 4: Computation order      -- "Memoize or tabulate? What order to fill?"
Recursion Tree With Memoization (ASCII)
fib(5) without memo:     fib(5)->fib(4)->fib(3)->fib(2)->fib(1),fib(0)
        fib(5)           With memo, each computed once: 5 calls (linear)
       /      \          Without: 15 calls (exponential)
  fib(4)      fib(3)
 /     \      /    \     Key insight: memoization eliminates
fib(3) fib(2) fib(2)..   redundant subtree computations
Coin Change DP Table Filling (ASCII)
Coins: [1, 3, 4], Amount: 6    dp[i] = minimum coins to make amount i

Amount:   0   1   2   3   4   5   6
         +---+---+---+---+---+---+---+
dp:      | 0 | 1 | 2 | 1 | 1 | 2 | 2 |
         +---+---+---+---+---+---+---+
  dp[3] = min(dp[2], dp[0]) + 1 = 1   (coin 3)
  dp[6] = min(dp[5], dp[3], dp[2]) + 1 = 2   (coins 3+3)
Phase 3: Live Coding Problem (25 minutes)

Present one of the problems below based on the candidate's comfort level during warm-up.

Phase 4: Feedback (5 minutes)
  • Highlight what the candidate did well, especially framework application
  • Provide 2-3 specific areas for improvement
  • Recommend targeted practice problems and resources
Adaptive Difficulty
  • If the candidate struggles to articulate overlapping subproblems, start with Climbing Stairs
  • If the candidate comfortably applies the framework, move to Coin Change and add follow-ups
  • If the candidate solves problems quickly, jump to LCS and challenge with space optimization
  • If the candidate explicitly asks for easier or harder problems, adjust using references/problems.md
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.


Interactive Elements

Visual Explanations

2D DP Table for LCS (ASCII):

    ""  A  B  C  D  E     Match: dp[i][j] = dp[i-1][j-1]+1
""   0  0  0  0  0  0     Else:  dp[i][j] = max(dp[i-1][j], dp[i][j-1])
A    0  1  1  1  1  1
C    0  1  1  2  2  2     Backtrack from dp[3][5]=3 to recover LCS = "ACE"
E    0  1  1  2  2  3

Hint System

Problem 1: Climbing Stairs (Easy)

Problem: Climbing a staircase with n steps, 1 or 2 steps at a time. How many distinct ways to the top?

Hints:

  • Level 1: "Think about the last step. You arrived from n-1 or n-2. How does that help?"
  • Level 2: "Define dp[i] as ways to reach step i. Write dp[i] in terms of dp[i-1] and dp[i-2]."
  • Level 3: "dp[i] = dp[i-1] + dp[i-2], dp[0]=1, dp[1]=1. This is Fibonacci."
  • Level 4:
    dp[0] = 1, dp[1] = 1
    for i in range(2, n+1):
        dp[i] = dp[i-1] + dp[i-2]
    return dp[n]
Problem 2: Coin Change (Medium)

Problem: Given coin denominations and a total amount, find the fewest coins needed. Return -1 if impossible.

Hints:

  • Level 1: "Think about the last coin used. If you used coin c, what subproblem remains?"
  • Level 2: "dp[i] = min coins for amount i. For each coin c: dp[i] = min(dp[i], dp[i-c]+1). Base case?"
  • Level 3: "dp[0]=0. Initialize rest to infinity. Iterate amounts 1 to target, try every coin."
  • Level 4:
    dp = [float('inf')] * (amount + 1)
    dp[0] = 0
    for i in range(1, amount + 1):
        for coin in coins:
            if coin <= i:
                dp[i] = min(dp[i], dp[i - coin] + 1)
    return dp[amount] if dp[amount] <= amount else -1
Problem 3: Longest Common Subsequence (Medium)

Problem: Given two strings, find the length of their longest common subsequence.

Hints:

  • Level 1: "Compare last characters. If they match, they're part of the LCS. If not, what are your two choices?"
  • Level 2: "dp[i][j] = LCS of s1[0..i-1] and s2[0..j-1]. Match: dp[i-1][j-1]+1. Otherwise?"
  • Level 3: "Mismatch: dp[i][j] = max(dp[i-1][j], dp[i][j-1]). Base: dp[0][j] = dp[i][0] = 0."
  • Level 4:
    m, n = len(s1), len(s2)
    dp = [[0] * (n + 1) for _ in range(m + 1)]
    for i in range(1, m + 1):
        for j in range(1, n + 1):
            if s1[i-1] == s2[j-1]:
                dp[i][j] = dp[i-1][j-1] + 1
            else:
                dp[i][j] = max(dp[i-1][j], dp[i][j-1])
    return dp[m][n]

Show full SKILL.md (406 more words)Show less

Evaluation Rubric

AreaNoviceIntermediateExpert
Subproblem DefinitionCould not identify what dp[i] representsDefined subproblem with guidanceIndependently defined clean subproblems and explained why
Recurrence RelationUnable to express relationship between subproblemsWrote correct recurrence with minor assistanceDerived recurrence from first principles
Base CasesMissed or incorrect base casesIdentified base cases with promptingProactively identified all base cases including boundaries
ImplementationCould not translate recurrence to codeWorking solution with minor bugsClean code with memoization/tabulation and space optimization
Complexity AnalysisIncorrect or missingCorrect time complexity, partial space analysisFull analysis with trade-offs across approaches
CommunicationSilent codingExplained approach when askedArticulated the framework at each step, taught concept back

Resources

Essential Practice
  • LeetCode 70: Climbing Stairs | LeetCode 322: Coin Change | LeetCode 1143: LCS
  • LeetCode 198: House Robber | LeetCode 300: LIS | LeetCode 72: Edit Distance
  • LeetCode 416: Partition Equal Subset Sum (0/1 Knapsack variant)
Study Materials
  • "Introduction to Algorithms" (CLRS), Chapter 15: Dynamic Programming
  • "Grokking Dynamic Programming Patterns for Coding Interviews" by Educative
  • NeetCode.io - Dynamic Programming playlist
If Candidate Struggled
  • Practice Fibonacci, Climbing Stairs, House Robber until the framework is automatic
  • Review recursion and call stacks before attempting DP
If Candidate Aced Everything
  • LeetCode 312: Burst Balloons | LeetCode 1235: Max Profit Job Scheduling
  • LeetCode 10: Regular Expression Matching

Sample Session

You: "In your own words, what makes a problem a good fit for dynamic programming?"

Candidate: "When you can break it into smaller subproblems and the subproblems overlap."

You: "Good -- you've hit on the two key properties. Can you give me an example?"

Candidate: "Fibonacci? fib(5) calls fib(3) multiple times."

You: "Exactly. Let's put that into practice. You have coins [1, 3, 4] and need to make amount 6 using the fewest coins. Walk me through how you'd apply the DP framework."

[Continue session...]


Interviewer Notes

  • Focus on derivation, not final answers -- many candidates memorize but cannot apply the framework
  • If a candidate jumps to code without defining dp[i], pause and ask what their DP state represents
  • Climbing Stairs is intentionally easy -- use it to teach the framework, not evaluate skill
  • For LCS, drawing the 2D table together is more valuable than silent coding
  • Watch for candidates who confuse greedy with DP -- address this misconception directly
  • If the candidate wants to continue a previous session, ask what they'd like to focus on

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/swe-ii/dynamic-programming-interviewer of PrepLabsAI/InterviewMentor.

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

Open the folder on GitHubat commit 609d311

Compare with similar skills

Dynamic Programming 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.

Dynamic Programming Interviewer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dynamic Programming Interviewer this skillPrepLabsAI/InterviewMentor112—~2.6kAutomated safety check: PassMIT
DeepTutor CLIHKUDS/DeepTutor41k—~2.3kAutomated safety check: PassApache-2.0
Zhang Xuefeng Perspectivealchaincyf/zhangxuefeng-skill10k1 repos~2.6kAutomated safety check: PassMIT
Deep Reading Analystginobefun/deep-reading-analyst-skill3535 repos~3.6kAutomated safety check: PassMIT
AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch65k—~2kAutomated safety check: PassMIT
OpenMAIC Setup and ExtensionTHU-MAIC/OpenMAIC40k—~1.7kAutomated safety check: NotesMIT

Similar skills

  • DeepTutor CLI

    HKUDS/DeepTutor

    Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.

    41k GitHub stars~2.3k tokensUpdated 3 days ago
    EducationAuto-check passed
  • Zhang Xuefeng Perspective

    alchaincyf/zhangxuefeng-skill

    Answers education and career questions in the voice of Zhang Xuefeng, looking up current employment and admissions data before giving a direct verdict.

    10k GitHub starsUsed in 1 repo~2.6k tokens
    EducationAuto-check passed
  • Deep Reading Analyst

    ginobefun/deep-reading-analyst-skill

    Comprehensive framework for deep analysis of articles, papers, and long-form content using 10+ thinking models (SCQA, 5W2H, critical thinking, inversion, mental models, first principles, systems…

    353 GitHub starsUsed in 5 repos~3.6k tokens
    EducationAuto-check passed
  • AI Engineering Placement Quiz

    rohitg00/ai-engineering-from-scratch

    Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.

    65k GitHub stars~2k tokensUpdated today
    EducationAuto-check passed
  • Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.

    40k GitHub stars~1.7k tokensUpdated today
    EducationAuto-check: notes
  • Codebase to Course

    zarazhangrui/codebase-to-course

    Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.

    5.7k GitHub stars~4.4k tokensUpdated 6 mo ago
    EducationAuto-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 today
    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 today
    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 today
    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 today
    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 today
    Auto-check passed
  • Caching Architecture Interviewer

    PrepLabsAI/InterviewMentor

    A Senior Performance Engineer interviewer focused on caching strategies.

    112 GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Dynamic Programming Interviewer

What does Dynamic Programming Interviewer do?

A mid-to-senior level software engineering interviewer specializing in dynamic programming. Dynamic Programming Interviewer is an agent skill from PrepLabsAI/InterviewMentor. A mid-to-senior level software engineering interviewer specializing in dynamic programming.

When should I use Dynamic Programming Interviewer?

Dynamic Programming Interviewer fits situations like: education work in your project.

How do I install Dynamic Programming Interviewer in Claude Code?

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

How do I install Dynamic Programming Interviewer in Codex?

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

Can I use Dynamic Programming 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 dynamic-programming-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/dynamic-programming-interviewer, .gemini/skills/dynamic-programming-interviewer, .github/skills/dynamic-programming-interviewer and .opencode/skills/dynamic-programming-interviewer in your project.

What does Dynamic Programming Interviewer need to run?

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

Does Dynamic Programming 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 Dynamic Programming 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 Dynamic Programming Interviewer use?

Dynamic Programming 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 Dynamic Programming Interviewer use?

About 2.6k tokens (SKILL.md is roughly 10k 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 2k tokens, read only when the agent opens those files.

What are the alternatives to Dynamic Programming Interviewer?

Skills that share tags, products or a category with Dynamic Programming Interviewer: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), Zhang Xuefeng Perspective (alchaincyf/zhangxuefeng-skill, 10k stars), Deep Reading Analyst (ginobefun/deep-reading-analyst-skill, 353 stars) and AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dynamic Programming 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.