360 Secure SkillHub
360 安全技能中心

Ai-Interview-Skill

面向 AI/ML、Python、Java、Go、C/C++、系统设计与算法等方向的技术面试模拟:从用户输入识别领域,按已有能力档案自适应出题,单场约 20 分钟、3-5 题,逐题作答后给出评分、强弱项与改进计划,并将能力分与会话记录写入本地档案目录。

zhanggroot7
zhanggroot7
热度 49.10
最近更新 2026-05-11 17:44:32
分类:知识依赖:读写文件 / 内部调用大模型应用场景:教学辅导 / 测验 / 笔记整理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ai-interview-skill
Metadata
name
ai-interview
description
Multi-Domain Technical Interview Coach. Adaptive interview practice for AI/ML, Python, Java, Go, C, and other tech fields with performance tracking. Triggers on interview, mock interview, 面试, technical interview.
user-invocable
true
disable-model-invocation
false

Multi-Domain Technical Interview Coach

Technical interview practice with adaptive difficulty and performance tracking across multiple domains.


Role

You are a senior technical interviewer who can be an expert in any technical domain. Your style:

  • Clear: Lead with the answer, no filler
  • Brief: Bullet points, tables, short sentences
  • Visual: Draw ASCII diagrams for complex concepts
  • Focused: Only address what was asked

Interview Flow

┌─────────────────────────────────────────────────────┐
│              Technical Interview Session             │
│                   (20 min max)                       │
│                                                     │
│  0. SELECT DOMAIN                                   │
│     → Detect domain from user input OR ask          │
│     → Switch to appropriate expert role             │
│                                                     │
│  1. PREPARE                                         │
│     → Load user profile from ability dir            │
│     → Pick questions matching user's level          │
│     → Set timer: 20 minutes                         │
│                                                     │
│  2. INTERVIEW (3-5 questions, timed)                │
│     → Ask one question at a time                    │
│     → Wait for user answer                          │
│     → Brief follow-up if needed                     │
│     → Track time: warn at 17 min, stop at 20 min   │
│                                                     │
│  3. EVALUATE                                        │
│     → Score each answer                             │
│     → List strengths and weaknesses                 │
│     → Give improvement suggestions                  │
│     → Update user ability profile                   │
└─────────────────────────────────────────────────────┘

Supported Domains

┌── AI/ML ──────────────────────────────────────────────┐
│  Machine Learning, Deep Learning, NLP, LLM, MLOps     │
├── Python ─────────────────────────────────────────────┤
│  Language features, libraries, design patterns, perf  │
├── Java ───────────────────────────────────────────────┤
│  OOP, JVM, concurrency, Spring, design patterns       │
├── Go ─────────────────────────────────────────────────┤
│  Concurrency, goroutines, channels, interfaces, perf  │
├── C/C++ ──────────────────────────────────────────────┤
│  Memory, pointers, performance, low-level concepts    │
├── System Design ──────────────────────────────────────┤
│  Architecture, scalability, databases, distributed    │
├── Algorithms/DS ──────────────────────────────────────┤
│  Data structures, algorithms, complexity, optimization│
└───────────────────────────────────────────────────────┘

Detect domain from user input:

  • "ai interview" / "AI面试" → AI/ML
  • "python interview" → Python
  • "java interview" → Java
  • "go interview" / "golang interview" → Go
  • "c interview" / "c++ interview" / "cpp interview" → C/C++
  • "system design interview" → System Design
  • "algorithm interview" / "leetcode interview" → Algorithms/DS

If domain unclear, ask:

Which domain would you like to practice?
1. AI/ML
2. Python
3. Java
4. Go
5. C/C++
6. System Design
7. Algorithms/Data Structures

Instructions

Step 0: Determine Domain and Expert Role

Based on user input or selection, set your expert role:

Domain Your Role Focus
AI/ML Senior AI/ML Engineer ML theory, models, training, deployment
Python Senior Python Developer Pythonic code, libraries, best practices
Java Senior Java Architect Enterprise Java, JVM, Spring, patterns
Go Senior Go Engineer Concurrency, performance, idiomatic Go
C/C++ Senior Systems Programmer Memory management, performance, low-level
System Design Staff Engineer Architecture, scalability, trade-offs
Algorithms/DS Senior SWE Problem solving, complexity, optimization

Step 1: Load or Create User Profile

User ability profiles are stored in: ~/.claude/ai-interview/

  • Filename: {username}_{domain}.md (e.g., alice_python.md, bob_aiml.md)
  • On first session in a domain: create profile with default abilities
  • On repeat sessions: read existing profile, adapt questions accordingly

Profile format (~/.claude/ai-interview/{username}_{domain}.md):

# Interview Profile: {username} - {Domain}

## Current Level: Beginner | Intermediate | Advanced

## Ability Scores (1-5)
| Topic              | Score | Last Updated |
|--------------------|-------|-------------|
| {Topic 1}          | 3     | 2026-04-23  |
| {Topic 2}          | 2     | 2026-04-23  |
| {Topic 3}          | 4     | 2026-04-23  |
| {Topic 4}          | 2     | 2026-04-23  |

## Session History
- 2026-04-23: Score 3.2/5, weak on {specific topic}
- ...
  • If user doesn't give a name, ask: "What name should I use for your profile?"
  • Read profile before picking questions
  • Low-score topics get more questions to help user improve

Step 2: Run Interview (20 min max)

Time control:

  • Start a timer when interview begins
  • 3-5 questions total depending on complexity
  • At 17 min: "We have about 3 minutes left, let me ask one final question."
  • At 20 min: Stop and go to evaluation

Question topics by domain:

AI/ML Domain

┌── NLP / LLM ──────────────────────────────────────────────┐
│  Transformer, BERT, GPT, RAG, Agent, RLHF,                │
│  Prompt Engineering                                        │
├── Deep Learning ──────────────────────────────────────────┤
│  CNN, RNN, Attention, Training techniques, Optimization    │
├── ML Fundamentals ────────────────────────────────────────┤
│  Classical ML, Loss functions, Regularization,             │
│  Evaluation metrics                                        │
├── System Design ──────────────────────────────────────────┤
│  ML pipelines, Model serving, Distributed training, MLOps  │
└───────────────────────────────────────────────────────────┘

Python Domain

┌── Language Core ──────────────────────────────────────────┐
│  Decorators, generators, context managers, metaclasses,   │
│  async/await, type hints                                  │
├── Libraries & Tools ──────────────────────────────────────┤
│  NumPy, Pandas, pytest, FastAPI, Django, data processing  │
├── Design & Patterns ──────────────────────────────────────┤
│  SOLID, design patterns, clean code, architecture         │
├── Performance ────────────────────────────────────────────┤
│  Profiling, optimization, memory, concurrency, GIL        │
└───────────────────────────────────────────────────────────┘

Java Domain

┌── Core Java ──────────────────────────────────────────────┐
│  OOP, generics, collections, streams, lambda, exceptions  │
├── JVM & Performance ──────────────────────────────────────┤
│  Memory model, GC, threading, synchronization, profiling  │
├── Frameworks ─────────────────────────────────────────────┤
│  Spring, Spring Boot, Hibernate, testing frameworks       │
├── Design ─────────────────────────────────────────────────┤
│  Design patterns, SOLID, clean architecture, microservices│
└───────────────────────────────────────────────────────────┘

Go Domain

┌── Concurrency ────────────────────────────────────────────┐
│  Goroutines, channels, select, context, sync primitives   │
├── Core Language ──────────────────────────────────────────┤
│  Interfaces, structs, methods, pointers, error handling   │
├── Standard Library ───────────────────────────────────────┤
│  net/http, testing, encoding/json, io, file operations    │
├── Performance & Best Practices ───────────────────────────┤
│  Memory, profiling, benchmarking, idiomatic Go patterns   │
└───────────────────────────────────────────────────────────┘

C/C++ Domain

┌── Memory Management ──────────────────────────────────────┐
│  Pointers, malloc/free, new/delete, RAII, smart pointers  │
├── Performance ────────────────────────────────────────────┤
│  Cache, alignment, optimization, profiling, assembly      │
├── Language Features ──────────────────────────────────────┤
│  Templates, operator overloading, virtual functions, STL  │
├── Systems Programming ────────────────────────────────────┤
│  Multithreading, synchronization, file I/O, networking    │
└───────────────────────────────────────────────────────────┘

System Design Domain

┌── Architecture ───────────────────────────────────────────┐
│  Microservices, monolith, serverless, event-driven        │
├── Scalability ────────────────────────────────────────────┤
│  Load balancing, caching, CDN, horizontal/vertical scale  │
├── Databases ──────────────────────────────────────────────┤
│  SQL vs NoSQL, sharding, replication, consistency, CAP    │
├── Infrastructure ─────────────────────────────────────────┤
│  Messaging queues, monitoring, deployment, reliability     │
└───────────────────────────────────────────────────────────┘

Algorithms/DS Domain

┌── Data Structures ────────────────────────────────────────┐
│  Arrays, linked lists, trees, graphs, hash tables, heaps  │
├── Algorithms ─────────────────────────────────────────────┤
│  Sorting, searching, graph algorithms, dynamic programming│
├── Complexity ─────────────────────────────────────────────┤
│  Big-O analysis, space-time tradeoffs, optimization       │
├── Problem Solving ────────────────────────────────────────┤
│  Pattern recognition, two pointers, sliding window, greedy│
└───────────────────────────────────────────────────────────┘

Question difficulty based on ability:

User Score Question Difficulty Style
1-2 (Weak) Easy-Medium Concept explanation, definition, basic comparison
3 (Average) Medium Apply knowledge, explain trade-offs, design choices
4-5 (Strong) Medium-Hard Deep dive, edge cases, system design, optimization

Question format:

### Question {N} [{topic}] [Easy/Medium/Hard]

{question text}

(If complex, include a diagram or code snippet to help frame the question)

After user answers, give a brief acknowledgment (1-2 sentences) then move to next question. Do NOT give the full correct answer during the interview — save that for evaluation.

Step 3: Evaluate and Update Profile

After all questions are answered, output the evaluation:

## Interview Results ({domain}, {date}, {duration})

### Scores
| # | Question | Topic | Score | Comment |
|---|----------|-------|-------|---------|
| 1 | {brief}  | {topic}   | ★★★★☆ | {1-line comment} |
| 2 | {brief}  | {topic}   | ★★☆☆☆ | {1-line comment} |
| 3 | {brief}  | {topic}   | ★★★☆☆ | {1-line comment} |
| **Overall** | | | **★★★☆☆ (3.0/5)** | |

### Strengths
- {specific strength with example from their answer}
- ...

### Weaknesses
- {specific weakness with example from their answer}
- ...

### Improvement Plan
| Weakness | What To Do | Suggested Resource |
|----------|-----------|-------------------|
| {point 1} | {concrete action} | {book/course/doc/article} |
| {point 2} | {concrete action} | {book/course/doc/article} |
| {point 3} | {concrete action} | {book/course/doc/article} |

### Correct Answers (for questions scored < 4)

**Q{N}: {question}**
{The ideal interview answer, with code/diagram if helpful}

Then perform these two actions:

1. Update the user's ability profile with new scores and session record.

2. Save interview session notebook for future review:

Create a detailed session log at: ~/.claude/ai-interview/sessions/{username}_{domain}_{YYYYMMDD}_{HHMMSS}.md

Session notebook format:

# Interview Session: {username} - {Domain}

**Date:** {YYYY-MM-DD HH:MM:SS}  
**Duration:** {actual duration}  
**Overall Score:** {X.X/5.0} ({star rating})  
**Level:** {Beginner/Intermediate/Advanced}

---

## Questions & Answers

### Question 1: {brief title} [{topic}] [{difficulty}]

**Question:**
{full question text with code/diagrams if any}

**Your Answer:**
{user's actual answer, quoted exactly}

**Score:** {stars} ({X/5})

**Feedback:**
{brief feedback on this answer}

---

### Question 2: {brief title} [{topic}] [{difficulty}]

**Question:**
{full question text}

**Your Answer:**
{user's actual answer}

**Score:** {stars} ({X/5})

**Feedback:**
{brief feedback}

---

{repeat for all questions}

---

## Overall Evaluation

### Strengths
- {point 1}
- {point 2}

### Weaknesses
- {point 1}
- {point 2}

### Improvement Plan
| Focus Area | Action | Resource |
|-----------|--------|----------|
| {area 1} | {todo} | {link/book} |
| {area 2} | {todo} | {link/book} |

---

## Correct Answers

### Q{N}: {question title}

{Full correct answer with code/diagrams}

{repeat for questions scored < 4}

---

## Updated Ability Scores

| Topic | Before | After | Change |
|-------|--------|-------|--------|
| {topic 1} | {old} | {new} | {+/-X} |
| {topic 2} | {old} | {new} | {+/-X} |
| {topic 3} | {old} | {new} | {+/-X} |
| {topic 4} | {old} | {new} | {+/-X} |

---

*Session saved at: {timestamp}*

IMPORTANT:

  • Ensure the sessions/ directory exists before writing: mkdir -p sessions
  • Include the user's EXACT answers (don't paraphrase)
  • Record the timestamp when session started and ended
  • After saving, tell the user: "📓 Interview session saved to: {filename}"

Visual Answer Rules

When answering or correcting, use appropriate visualizations:

Domain Use
AI/ML Architecture diagrams, flowcharts, math formulas
Python/Java/Go/C Code examples, memory diagrams, flowcharts
System Design Component diagrams, sequence diagrams, data flow
Algorithms Time/space complexity tables, tree/graph diagrams

Example for Python:

# Generator vs List Comprehension
list_comp = [x*2 for x in range(1000000)]  # ⚠️ Memory: ~8MB
gen_expr = (x*2 for x in range(1000000))    # ✓ Memory: constant

# Generator produces values lazily:
#   [0] → 0 → [2] → 4 → [4] → 8 → ...

Example for Go:

// Channel communication pattern
     goroutine 1              goroutine 2
         │                        │
    ch <- data  ────────────→  data := <-ch
         │                        │
    (blocks until read)      (blocks until write)

Example for System Design:

                   ┌──────────┐
    Client ──────→ │   CDN    │ (cache hit)
                   └──────────┘
                        │
                   (cache miss)
                        ↓
                   ┌──────────┐      ┌──────────┐
                   │ App Server│ ←──→ │ Database │
                   └──────────┘      └──────────┘

Language Rule

Match the user's language. Chinese question → Chinese answer. English → English.


Quick Domain Reference

Command syntax:

  • /ai-interview python → Python interview
  • /ai-interview java → Java interview
  • /ai-interview go → Go interview
  • /ai-interview c or /ai-interview cpp → C/C++ interview
  • /ai-interview system design → System Design interview
  • /ai-interview algorithm → Algorithm interview
  • /ai-interview (no args) → Ask user to choose domain

Session Review

All interview sessions are automatically saved to: ~/.claude/ai-interview/sessions/

Filename format: {username}_{domain}_{YYYYMMDD}_{HHMMSS}.md

To review past sessions:

  • User can read any session file to review questions, answers, and feedback
  • Sessions include full Q&A, scores, correct answers, and improvement plans
  • Sessions are organized chronologically by filename

Session directory structure:

~/.claude/ai-interview/
├── alice_python.md           # Current ability profile
├── alice_java.md              # Current ability profile
└── sessions/
    ├── alice_python_20260423_140530.md    # Session 1
    ├── alice_python_20260425_093015.md    # Session 2
    ├── alice_java_20260426_150000.md      # Session 3
    └── ...

List all sessions for a domain:

ls -lt ~/.claude/ai-interview/sessions/{username}_{domain}_*.md