面试题库Skill interview-problem-bank

面试题库是一个专门用于整理、组织和推荐编程面试题目的技能工具。它提供按公司(如谷歌、Meta、亚马逊)、题型模式(如双指针、动态规划)和难度分类的题目库,支持进度跟踪、薄弱环节识别和个性化学习计划生成。关键词:编程面试,算法题库,FAANG准备,LeetCode,面试刷题,进度跟踪,学习计划,模式识别,公司高频题,技术面试。

后端开发 0 次安装 2 次浏览 更新于 2/23/2026

name: 面试题库 description: 按公司、题型模式和难度整理的面试题库。提供题目推荐、进度跟踪、薄弱环节识别以及FAANG面试准备的高级题目替代方案。 allowed-tools: Bash, Read, Write, Grep, Glob, WebSearch, WebFetch metadata: author: babysitter-sdk version: “1.0” category: 算法优化 skill-id: SK-ALGO-024 priority: high

面试题库

一个专门用于整理、组织和推荐编程面试题目的技能,支持公司针对性准备、模式化练习和进度跟踪。

目的

提供一个全面的面试题库,包含:

  • 按FAANG公司和难度组织的题目
  • 基于模式的分类(Blind 75, NeetCode 150等)
  • 难度递进推荐
  • 进度跟踪和薄弱环节识别
  • 高级题目替代方案

功能

核心特性

  1. 题目组织

    • 按公司(谷歌、Meta、亚马逊、苹果、微软等)
    • 按模式(双指针、滑动窗口、动态规划等)
    • 按难度(简单、中等、困难)
    • 按主题(数组、树、图等)
    • 按频率(面试中最常被问到的)
  2. 精选题目列表

    • Blind 75(核心必刷75题)
    • NeetCode 150(扩展核心列表)
    • LeetCode Top Interview Questions
    • 公司特定高频题
    • 模式特定题目集
  3. 进度跟踪

    • 按类别统计已解决问题
    • 薄弱环节识别
    • 每种题型花费时间
    • 成功率跟踪
    • 间隔重复复习
  4. 推荐系统

    • 基于进度的下一题推荐
    • 强化薄弱环节的题目
    • 公司特定练习计划
    • 基于时间的学习计划

题目列表

Blind 75

覆盖所有主要模式的75道核心必刷题:

类别 数量 主题
数组与哈希 9 两数之和,字母异位词分组,前K个高频元素
双指针 5 验证回文串,三数之和,盛最多水的容器
滑动窗口 6 买卖股票的最佳时机,无重复字符的最长子串
7 有效的括号,最小栈,每日温度
二分查找 7 搜索旋转排序数组,寻找最小值
链表 11 反转链表,合并两个有序链表,环形链表
15 翻转二叉树,二叉树的最大深度,二叉树的层序遍历
前缀树 3 实现前缀树,单词搜索 II
堆/优先队列 7 合并K个升序链表,前K个高频元素
回溯 9 子集,全排列,组合总和
13 岛屿数量,克隆图
动态规划 12 爬楼梯,打家劫舍,零钱兑换
贪心算法 8 最大子数组和,跳跃游戏
区间 6 合并区间,会议室
数学与几何 8 旋转图像,矩阵置零
位运算 7 只出现一次的数字,位1的个数

NeetCode 150

包含150道题目的扩展列表,用于全面准备:

  • 包含所有75道Blind 75题目
  • 75道额外题目用于深入覆盖
  • 每个类别更多高级题目

公司特定列表

公司 重点领域 高频模式
谷歌 问题解决,优化 数组,动态规划,图
Meta 数组,树,系统设计 二叉树,数组
亚马逊 OOP,系统设计,领导力 树,BFS/DFS
苹果 iOS/macOS,算法 数组,树
微软 编码,系统设计 动态规划,数组,图
Netflix 分布式系统 图,动态规划

使用方法

获取推荐题目

# 基于进度获取下一题
面试题库 recommend --user progress.json

# 获取特定模式的题目
面试题库 list --pattern "dynamic-programming" --difficulty medium

# 获取公司特定题目
面试题库 company --name google --count 50

跟踪进度

# 标记问题为已解决
面试题库 solve --problem "two-sum" --time 15 --attempts 1

# 获取进度报告
面试题库 progress --user progress.json

# 识别薄弱环节
面试题库 analyze --user progress.json

生成学习计划

# 生成4周学习计划
面试题库 plan --weeks 4 --target google --level intermediate

# 生成每日练习集
面试题库 daily --count 3 --user progress.json

输出模式

题目条目

{
  "id": "two-sum",
  "title": "两数之和",
  "difficulty": "简单",
  "patterns": ["数组", "哈希表"],
  "companies": ["谷歌", "亚马逊", "Meta", "苹果", "微软"],
  "frequency": 95,
  "url": "https://leetcode.com/problems/two-sum/",
  "premiumAlternative": null,
  "hints": [
    "使用哈希表实现O(1)查找",
    "存储补数作为键,索引作为值"
  ],
  "timeToSolve": {
    "target": 10,
    "beginner": 20,
    "expert": 5
  },
  "relatedProblems": ["3sum", "4sum", "two-sum-ii"]
}

进度报告

{
  "user": "user123",
  "totalSolved": 150,
  "byDifficulty": {
    "简单": 50,
    "中等": 80,
    "困难": 20
  },
  "byPattern": {
    "数组": { "solved": 25, "total": 30 },
    "动态规划": { "solved": 15, "total": 25 },
    "图": { "solved": 10, "total": 20 }
  },
  "weakAreas": ["图", "高级动态规划", "前缀树"],
  "recommendations": [
    { "problem": "course-schedule", "reason": "强化图算法" },
    { "problem": "word-break", "reason": "练习动态规划" }
  ],
  "streak": 15,
  "lastPracticed": "2025-01-24"
}

学习计划

{
  "duration": "4周",
  "target": "谷歌",
  "level": "中级",
  "schedule": [
    {
      "week": 1,
      "focus": ["数组", "字符串", "双指针"],
      "problems": [
        { "day": 1, "problems": ["two-sum", "valid-anagram", "contains-duplicate"] },
        { "day": 2, "problems": ["best-time-to-buy", "max-subarray", "product-except-self"] }
      ]
    },
    {
      "week": 2,
      "focus": ["滑动窗口", "栈", "二分查找"],
      "problems": [...]
    }
  ]
}

基于模式的组织

数组模式

模式 核心题目 技术
双指针 三数之和,盛最多水的容器 收敛指针
滑动窗口 无重复字符的最长子串,最小覆盖子串 扩展/收缩窗口
前缀和 和为K的子数组 累积和
Kadane算法 最大子数组和 跟踪以i结尾的最大值

树模式

模式 核心题目 技术
递归DFS 二叉树的最大深度,路径总和 递归
BFS层序遍历 二叉树的层序遍历 队列
构建树 从前序与中序遍历序列构造二叉树 分治

图模式

模式 核心题目 技术
BFS最短路径 单词接龙 逐层遍历
DFS连通分量 岛屿数量 访问所有节点
拓扑排序 课程表 Kahn算法
并查集 连通分量数量 DSU

动态规划模式

模式 核心题目 技术
一维线性 打家劫舍,爬楼梯 dp[i]依赖于dp[i-1], dp[i-2]
二维网格 不同路径,最小路径和 dp[i][j]来自邻居
字符串DP 编辑距离,最长公共子序列 dp[i][j]用于子字符串
背包问题 零钱兑换,分割等和子集 包含/排除物品

集成选项

MCP服务器

InterviewReady MCP服务器:

# 访问精选面试内容
npm install -g interviewready-mcp-server

外部资源

与流程集成

此技能增强:

  • faang-interview-prep - 结构化FAANG准备
  • mock-coding-interview - 模拟面试题目选择
  • interview-problem-explanation - 解释解决方案
  • skill-gap-analysis - 识别薄弱环节

面试准备时间线

1周准备

专注于高频问题:

  • 第1-2天:数组和字符串(15题)
  • 第3-4天:树和图(10题)
  • 第5-6天:动态规划和回溯(10题)
  • 第7天:复习和模拟面试

1个月准备

全面覆盖:

  • 第1周:基础(数组,字符串,哈希表)
  • 第2周:数据结构(树,图,堆)
  • 第3周:算法(动态规划,回溯,贪心)
  • 第4周:复习,模拟面试,薄弱环节

3个月准备

深度掌握:

  • 第1个月:所有简单+中等基础题
  • 第2个月:高级中等+困难题
  • 第3个月:公司特定+模拟面试

参考资料

错误处理

错误 原因 解决方案
PROBLEM_NOT_FOUND 数据库中找不到题目 通过备用名称搜索
PREMIUM_LOCKED 需要LeetCode高级会员 使用替代题目
INVALID_COMPANY 公司不被识别 检查支持的公司
PROGRESS_LOAD_FAILED 无法加载进度文件 初始化新进度

最佳实践

  1. 质量优于数量 - 深入理解解决方案
  2. 模式识别 - 按模式分组问题
  3. 计时练习 - 在面试条件下练习
  4. 定期复习 - 间隔重复有助于记忆
  5. 模拟面试 - 练习解释解决方案
  6. 公司研究 - 专注于公司特定模式