Skip to content

寻找第K大

思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大

md
<script setup>
import { useData } from 'vitepress'

const { theme, page, frontmatter } = useData()
</script>

## Results

### Theme Data
<pre>{{ theme }}</pre>

### Page Data
<pre>{{ page }}</pre>

### Page Frontmatter
<pre>{{ frontmatter }}</pre>

Results

Theme Data

{
  "teekTheme": true,
  "vpHome": false,
  "windowTransition": true,
  "backTop": {
    "enabled": true,
    "content": "icon"
  },
  "toComment": {
    "enabled": true
  },
  "codeBlock": {
    "enabled": true,
    "collapseHeight": 700,
    "overlay": true,
    "overlayHeight": 400,
    "langTextTransform": "uppercase"
  },
  "banner": {
    "enabled": true,
    "name": "梦游 笔记",
    "bgStyle": "fullImg",
    "pureBgColor": "#28282d",
    "imgSrc": [
      "/img/bg4.png"
    ],
    "imgInterval": 15000,
    "imgShuffle": false,
    "imgWaves": true,
    "mask": true,
    "maskBg": "rgba(0, 0, 0, 0.1)",
    "textColor": "rgba(168, 255, 75, 0.79)",
    "titleFontSize": "3.2rem",
    "descFontSize": "1.4rem",
    "descStyle": "switch",
    "description": [
      "理解,成为,超越"
    ],
    "switchTime": 4000,
    "switchShuffle": false,
    "typesInTime": 200,
    "typesOutTime": 100,
    "typesNextTime": 800,
    "typesShuffle": false
  },
  "post": {
    "postStyle": "list",
    "excerptPosition": "top",
    "showMore": true,
    "moreLabel": "阅读全文 >",
    "emptyLabel": "暂无文章",
    "coverImgMode": "default",
    "showCapture": true,
    "splitSeparator": true,
    "transition": true,
    "transitionName": "tk-slide-fade",
    "listStyleTitleTagPosition": "right",
    "cardStyleTitleTagPosition": "left",
    "defaultCoverImg": []
  },
  "page": {
    "disabled": true,
    "pageSize": 20,
    "pagerCount": 7,
    "layout": "prev, pager, next, jumper, ->, total",
    "size": "default",
    "background": false,
    "hideOnSinglePage": false
  },
  "homeCardListPosition": "left",
  "blogger": {
    "name": "天游",
    "slogan": "生无涯,学无涯",
    "avatar": "/img/avatar.png",
    "shape": "circle-rotate",
    "circleBgImg": "/img/bg3.png",
    "circleBgMask": false,
    "circleSize": 100,
    "color": "#cf3d02db",
    "status": {
      "icon": "🙂",
      "size": 24,
      "title": "平淡"
    }
  },
  "themeEnhance": {
    "layoutSwitch": {
      "defaultMode": "sidebarWidthAdjustableOnly"
    }
  },
  "logo": "/img/avatar.png",
  "nav": [
    {
      "text": "🏠首页",
      "link": "/"
    },
    {
      "text": "💻前端",
      "items": [
        {
          "text": "①前端基础",
          "link": "..."
        },
        {
          "text": "②前端进阶",
          "link": "..."
        },
        {
          "text": "③前端工程化",
          "link": "..."
        },
        {
          "text": "④前端性能优化",
          "link": "..."
        }
      ]
    },
    {
      "text": "🤖后端",
      "items": [
        {
          "text": "①后端基础",
          "link": "..."
        },
        {
          "text": "②后端进阶",
          "link": "..."
        },
        {
          "text": "③后端工程化",
          "link": "..."
        },
        {
          "text": "④后端性能优化",
          "link": "..."
        }
      ]
    },
    {
      "text": "🎤语音",
      "link": "/语音/api-examples"
    },
    {
      "text": "📚小说",
      "items": [
        {
          "text": "《梦游记》",
          "link": "/小说/梦游记"
        },
        {
          "text": "《长生贼》",
          "link": "/小说/长生贼"
        },
        {
          "text": "《度苦记》",
          "link": "/小说/度苦记"
        },
        {
          "text": "《火种》",
          "link": "/小说/火种"
        },
        {
          "text": "《回魂》",
          "link": "/小说/回魂"
        },
        {
          "text": "《三灾》",
          "link": "/小说/三灾"
        },
        {
          "text": "《往生》",
          "link": "/小说/往生"
        },
        {
          "text": "《盗亦有道》",
          "link": "/小说/盗亦有道"
        },
        {
          "text": "《死环》",
          "link": "/小说/死环"
        }
      ]
    },
    {
      "text": "🙂面试",
      "items": [
        {
          "text": "HTML",
          "link": "/面试/HTML"
        },
        {
          "text": "CSS",
          "link": "/面试/CSS"
        },
        {
          "text": "JavaScript",
          "link": "/面试/JavaScript"
        },
        {
          "text": "TypeScript",
          "link": "/面试/TypeScript"
        },
        {
          "text": "React",
          "link": "/面试/React"
        },
        {
          "text": "Next",
          "link": "/面试/Next"
        },
        {
          "text": "计网",
          "link": "/面试/计网"
        },
        {
          "text": "工程化",
          "link": "/面试/工程化"
        },
        {
          "text": "性能优化",
          "link": "/面试/性能优化"
        },
        {
          "text": "浏览器原理",
          "link": "/面试/浏览器"
        },
        {
          "text": "算法",
          "items": [
            {
              "text": "数组",
              "link": "/算法/数组"
            },
            {
              "text": "链表",
              "link": "/算法/链表"
            },
            {
              "text": "二叉树",
              "link": "/算法/二叉树"
            },
            {
              "text": "栈",
              "link": "/算法/栈"
            },
            {
              "text": "排序",
              "link": "/算法/排序"
            },
            {
              "text": "堆",
              "link": "/算法/堆"
            },
            {
              "text": "动态规划",
              "link": "/算法/动态规划"
            },
            {
              "text": "前端算法",
              "link": "/算法/前端算法"
            }
          ]
        }
      ]
    }
  ],
  "sidebar": {
    "/": [
      {
        "text": "markdown-examples",
        "link": "/markdown-examples"
      }
    ],
    "/前端/": [
      {
        "text": "前端基础",
        "collapsed": false,
        "items": [
          {
            "text": "HTML 笔记",
            "link": "/前端/基础篇/html.md"
          },
          {
            "text": "CSS 笔记",
            "link": "/前端/基础篇/css.md"
          },
          {
            "text": "JavaScript 笔记",
            "link": "/前端/基础篇/javascript.md"
          }
        ]
      },
      {
        "text": "前端框架",
        "collapsed": true,
        "items": [
          {
            "text": "Vue 笔记",
            "link": "/前端/框架篇/vue.md"
          },
          {
            "text": "React 笔记",
            "link": "/前端/框架篇/react.md"
          }
        ]
      },
      {
        "text": "工程化",
        "collapsed": true,
        "items": [
          {
            "text": "Webpack 笔记",
            "link": "/前端/工程化/webpack.md"
          },
          {
            "text": "Vite 笔记",
            "link": "/前端/工程化/vite.md"
          },
          {
            "text": "ESLint 笔记",
            "link": "/前端/工程化/eslint.md"
          }
        ]
      }
    ],
    "/后端/": [
      {
        "text": "后端基础",
        "items": [
          {
            "text": "Node.js 笔记",
            "link": "/后端/node.md"
          },
          {
            "text": "NestJS 笔记",
            "link": "/后端/nestjs.md"
          }
        ]
      }
    ],
    "/小说/": [
      {
        "text": "",
        "items": [
          {
            "text": "三灾",
            "link": "/小说/三灾"
          },
          {
            "text": "回魂",
            "link": "/小说/回魂"
          },
          {
            "text": "度苦记",
            "link": "/小说/度苦记"
          },
          {
            "text": "梦游记",
            "link": "/小说/梦游记"
          },
          {
            "text": "死环",
            "link": "/小说/死环"
          },
          {
            "text": "火种",
            "link": "/小说/火种"
          },
          {
            "text": "盗亦有道",
            "link": "/小说/盗亦有道"
          },
          {
            "text": "返生",
            "link": "/小说/返生"
          },
          {
            "text": "长生贼",
            "link": "/小说/长生贼"
          }
        ]
      }
    ],
    "/算法/": [
      {
        "text": "算法",
        "items": [
          {
            "text": "数组",
            "link": "/算法/数组"
          },
          {
            "text": "链表",
            "link": "/算法/链表"
          },
          {
            "text": "二叉树",
            "link": "/算法/二叉树"
          },
          {
            "text": "栈",
            "link": "/算法/栈"
          },
          {
            "text": "排序",
            "link": "/算法/排序"
          },
          {
            "text": "堆",
            "link": "/算法/堆"
          },
          {
            "text": "动态规划",
            "link": "/算法/动态规划"
          },
          {
            "text": "前端算法",
            "link": "/算法/前端算法"
          }
        ]
      }
    ],
    "/语音/": [
      {
        "text": "",
        "items": [
          {
            "text": "api-examples",
            "link": "/语音/api-examples"
          }
        ]
      }
    ],
    "/面试/": [
      {
        "text": "面试",
        "items": [
          {
            "text": "HTML",
            "link": "/面试/HTML"
          },
          {
            "text": "CSS",
            "link": "/面试/CSS"
          },
          {
            "text": "JavaScript",
            "link": "/面试/JavaScript"
          },
          {
            "text": "TypeScript",
            "link": "/面试/TypeScript"
          },
          {
            "text": "React",
            "link": "/面试/React"
          },
          {
            "text": "Next",
            "link": "/面试/Next"
          },
          {
            "text": "Nest",
            "link": "/面试/Nest"
          },
          {
            "text": "SSE",
            "link": "/面试/SSE"
          },
          {
            "text": "工程化",
            "link": "/面试/工程化"
          },
          {
            "text": "计网",
            "link": "/面试/计网"
          },
          {
            "text": "浏览器",
            "link": "/面试/浏览器"
          },
          {
            "text": "前沿技术",
            "link": "/面试/前沿技术"
          }
        ]
      }
    ],
    "/HTML/": [
      {
        "text": "HTML",
        "items": [
          {
            "text": "语义化标签",
            "link": "/面试/HTML/语义化标签"
          },
          {
            "text": "HTML5新特性",
            "link": "/面试/HTML/HTML5新特性"
          },
          {
            "text": "DOM操作",
            "link": "/面试/HTML/DOM操作"
          },
          {
            "text": "面试及思路",
            "link": "/面试/HTML/高频面试及思路"
          }
        ]
      }
    ],
    "/CSS/": [
      {
        "text": "CSS",
        "items": [
          {
            "text": "盒模型",
            "link": "/面试/CSS/盒模型"
          },
          {
            "text": "CSS选择器及优先级",
            "link": "/面试/CSS/CSS选择器及优先级"
          },
          {
            "text": "核心布局方案",
            "link": "/面试/CSS/核心布局方案"
          },
          {
            "text": "响应式布局",
            "link": "/面试/CSS/响应式布局"
          },
          {
            "text": "样式管理及工程化",
            "link": "/面试/CSS/样式管理及工程化"
          },
          {
            "text": "高频面试题解析",
            "link": "/面试/CSS/高频面试题解析"
          }
        ]
      }
    ]
  },
  "socialLinks": [
    {
      "icon": "github",
      "link": "https://github.com/settings/profile"
    },
    {
      "icon": "bilibili",
      "link": "https://space.bilibili.com/246604314?spm_id_from=333.1007.0.0"
    },
    {
      "icon": "juejin",
      "link": "https://juejin.cn/user/2900991440326403"
    }
  ],
  "permalinks": {
    "map": {},
    "inv": {}
  },
  "docAnalysisInfo": {
    "fileList": [
      {
        "filePath": "/opt/buildhome/repo/docs/markdown-examples.md",
        "relativePath": "markdown-examples.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/前端/index.md",
        "relativePath": "前端/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/前端/基础/index.md",
        "relativePath": "前端/基础/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/前端/进阶/index.md",
        "relativePath": "前端/进阶/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/后端/api-examples.md",
        "relativePath": "后端/api-examples.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/三灾.md",
        "relativePath": "小说/三灾.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/回魂.md",
        "relativePath": "小说/回魂.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/度苦记.md",
        "relativePath": "小说/度苦记.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/梦游记.md",
        "relativePath": "小说/梦游记.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/死环.md",
        "relativePath": "小说/死环.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/火种.md",
        "relativePath": "小说/火种.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/盗亦有道.md",
        "relativePath": "小说/盗亦有道.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/返生.md",
        "relativePath": "小说/返生.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/小说/长生贼.md",
        "relativePath": "小说/长生贼.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/二叉树.md",
        "relativePath": "算法/二叉树.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/前端算法.md",
        "relativePath": "算法/前端算法.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/动态规划.md",
        "relativePath": "算法/动态规划.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/堆.md",
        "relativePath": "算法/堆.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/排序.md",
        "relativePath": "算法/排序.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/数组.md",
        "relativePath": "算法/数组.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/栈.md",
        "relativePath": "算法/栈.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/算法/链表.md",
        "relativePath": "算法/链表.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/语音/api-examples.md",
        "relativePath": "语音/api-examples.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/CSS/index.md",
        "relativePath": "面试/CSS/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/HTML/index.md",
        "relativePath": "面试/HTML/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/JavaScript/index.md",
        "relativePath": "面试/JavaScript/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/Nest/index.md",
        "relativePath": "面试/Nest/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/Next/index.md",
        "relativePath": "面试/Next/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/React/index.md",
        "relativePath": "面试/React/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/SSE/index.md",
        "relativePath": "面试/SSE/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/TypeScript/index.md",
        "relativePath": "面试/TypeScript/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/前沿技术/index.md",
        "relativePath": "面试/前沿技术/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/工程化/index.md",
        "relativePath": "面试/工程化/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/性能优化/index.md",
        "relativePath": "面试/性能优化/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/浏览器/index.md",
        "relativePath": "面试/浏览器/index.md"
      },
      {
        "filePath": "/opt/buildhome/repo/docs/面试/计网/index.md",
        "relativePath": "面试/计网/index.md"
      }
    ],
    "totalFileWords": 4154,
    "eachFileWords": [
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/markdown-examples.md",
          "relativePath": "markdown-examples.md"
        },
        "wordCount": 133,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/前端/index.md",
          "relativePath": "前端/index.md"
        },
        "wordCount": 119,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/前端/基础/index.md",
          "relativePath": "前端/基础/index.md"
        },
        "wordCount": 69,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/前端/进阶/index.md",
          "relativePath": "前端/进阶/index.md"
        },
        "wordCount": 88,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/后端/api-examples.md",
          "relativePath": "后端/api-examples.md"
        },
        "wordCount": 119,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/三灾.md",
          "relativePath": "小说/三灾.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/回魂.md",
          "relativePath": "小说/回魂.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/度苦记.md",
          "relativePath": "小说/度苦记.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/梦游记.md",
          "relativePath": "小说/梦游记.md"
        },
        "wordCount": 119,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/死环.md",
          "relativePath": "小说/死环.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/火种.md",
          "relativePath": "小说/火种.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/盗亦有道.md",
          "relativePath": "小说/盗亦有道.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/返生.md",
          "relativePath": "小说/返生.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/小说/长生贼.md",
          "relativePath": "小说/长生贼.md"
        },
        "wordCount": 0,
        "readingTime": "1m",
        "frontmatter": {}
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/二叉树.md",
          "relativePath": "算法/二叉树.md"
        },
        "wordCount": 115,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/前端算法.md",
          "relativePath": "算法/前端算法.md"
        },
        "wordCount": 237,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/动态规划.md",
          "relativePath": "算法/动态规划.md"
        },
        "wordCount": 115,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/堆.md",
          "relativePath": "算法/堆.md"
        },
        "wordCount": 115,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/排序.md",
          "relativePath": "算法/排序.md"
        },
        "wordCount": 610,
        "readingTime": "2.5m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/数组.md",
          "relativePath": "算法/数组.md"
        },
        "wordCount": 115,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/栈.md",
          "relativePath": "算法/栈.md"
        },
        "wordCount": 115,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/算法/链表.md",
          "relativePath": "算法/链表.md"
        },
        "wordCount": 237,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/语音/api-examples.md",
          "relativePath": "语音/api-examples.md"
        },
        "wordCount": 119,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/CSS/index.md",
          "relativePath": "面试/CSS/index.md"
        },
        "wordCount": 198,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/HTML/index.md",
          "relativePath": "面试/HTML/index.md"
        },
        "wordCount": 128,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/JavaScript/index.md",
          "relativePath": "面试/JavaScript/index.md"
        },
        "wordCount": 152,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/Nest/index.md",
          "relativePath": "面试/Nest/index.md"
        },
        "wordCount": 83,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/Next/index.md",
          "relativePath": "面试/Next/index.md"
        },
        "wordCount": 75,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/React/index.md",
          "relativePath": "面试/React/index.md"
        },
        "wordCount": 185,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/SSE/index.md",
          "relativePath": "面试/SSE/index.md"
        },
        "wordCount": 87,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/TypeScript/index.md",
          "relativePath": "面试/TypeScript/index.md"
        },
        "wordCount": 196,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/前沿技术/index.md",
          "relativePath": "面试/前沿技术/index.md"
        },
        "wordCount": 96,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/工程化/index.md",
          "relativePath": "面试/工程化/index.md"
        },
        "wordCount": 157,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/性能优化/index.md",
          "relativePath": "面试/性能优化/index.md"
        },
        "wordCount": 83,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/浏览器/index.md",
          "relativePath": "面试/浏览器/index.md"
        },
        "wordCount": 118,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      },
      {
        "fileInfo": {
          "filePath": "/opt/buildhome/repo/docs/面试/计网/index.md",
          "relativePath": "面试/计网/index.md"
        },
        "wordCount": 171,
        "readingTime": "1m",
        "frontmatter": {
          "outline": "deep"
        }
      }
    ],
    "lastCommitTime": "2025-12-09 00:46:22"
  },
  "catalogues": {
    "arr": [],
    "map": {},
    "inv": {}
  },
  "posts": {
    "allPosts": [
      {
        "url": "/",
        "relativePath": "/",
        "frontmatter": {
          "layout": "home",
          "hero": {
            "name": "天游笔记",
            "text": "学无涯矣",
            "tagline": "记录路上的每一张风景",
            "actions": [
              {
                "theme": "brand",
                "text": "开始学习🧐",
                "link": "/api-examples"
              },
              {
                "theme": "alt",
                "text": "分类合集📚",
                "link": "/api-examples"
              },
              {
                "theme": "alt",
                "text": "面试题汇总👀",
                "link": "/api-examples"
              }
            ]
          },
          "features": [
            {
              "title": "前端💻",
              "details": "HTML、CSS、JavaScript、TypeScript、React、Vite、性能优化、工程化"
            },
            {
              "title": "语音🎤",
              "details": "音频提取、特征提取、WebRTC、Nodejs、实时传输与识别"
            },
            {
              "title": "面试📦",
              "details": "前端基础、网络、算法、项目"
            }
          ]
        },
        "title": "",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/markdown-examples.html",
        "relativePath": "/markdown-examples.html",
        "frontmatter": {},
        "title": "Markdown Extension Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
      },
      {
        "url": "/前端/",
        "relativePath": "/前端/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/前端/基础/",
        "relativePath": "/前端/基础/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
      },
      {
        "url": "/前端/进阶/",
        "relativePath": "/前端/进阶/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
      },
      {
        "url": "/后端/api-examples.html",
        "relativePath": "/后端/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/三灾.html",
        "relativePath": "/小说/三灾.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/回魂.html",
        "relativePath": "/小说/回魂.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/度苦记.html",
        "relativePath": "/小说/度苦记.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/梦游记.html",
        "relativePath": "/小说/梦游记.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/死环.html",
        "relativePath": "/小说/死环.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/火种.html",
        "relativePath": "/小说/火种.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/盗亦有道.html",
        "relativePath": "/小说/盗亦有道.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/返生.html",
        "relativePath": "/小说/返生.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/长生贼.html",
        "relativePath": "/小说/长生贼.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/算法/二叉树.html",
        "relativePath": "/算法/二叉树.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/前端算法.html",
        "relativePath": "/算法/前端算法.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/算法/动态规划.html",
        "relativePath": "/算法/动态规划.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/堆.html",
        "relativePath": "/算法/堆.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/排序.html",
        "relativePath": "/算法/排序.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
      },
      {
        "url": "/算法/数组.html",
        "relativePath": "/算法/数组.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/栈.html",
        "relativePath": "/算法/栈.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/链表.html",
        "relativePath": "/算法/链表.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/语音/api-examples.html",
        "relativePath": "/语音/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/面试/CSS/",
        "relativePath": "/面试/CSS/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "CSS高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
      },
      {
        "url": "/面试/HTML/",
        "relativePath": "/面试/HTML/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "HTML高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
      },
      {
        "url": "/面试/JavaScript/",
        "relativePath": "/面试/JavaScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "JavaScript高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
      },
      {
        "url": "/面试/Nest/",
        "relativePath": "/面试/Nest/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
      },
      {
        "url": "/面试/Next/",
        "relativePath": "/面试/Next/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Nextjs 面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
      },
      {
        "url": "/面试/React/",
        "relativePath": "/面试/React/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "React高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
      },
      {
        "url": "/面试/SSE/",
        "relativePath": "/面试/SSE/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "SSE流式输出",
        "date": "1970-01-01 00:00:00",
        "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
      },
      {
        "url": "/面试/TypeScript/",
        "relativePath": "/面试/TypeScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "TS面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
      },
      {
        "url": "/面试/前沿技术/",
        "relativePath": "/面试/前沿技术/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "前沿技术面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
      },
      {
        "url": "/面试/工程化/",
        "relativePath": "/面试/工程化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
      },
      {
        "url": "/面试/性能优化/",
        "relativePath": "/面试/性能优化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "性能优化面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
      },
      {
        "url": "/面试/浏览器/",
        "relativePath": "/面试/浏览器/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "浏览器高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
      },
      {
        "url": "/面试/计网/",
        "relativePath": "/面试/计网/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "计网高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
      }
    ],
    "originPosts": [
      {
        "url": "/markdown-examples.html",
        "relativePath": "/markdown-examples.html",
        "frontmatter": {},
        "title": "Markdown Extension Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
      },
      {
        "url": "/前端/",
        "relativePath": "/前端/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/前端/基础/",
        "relativePath": "/前端/基础/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
      },
      {
        "url": "/前端/进阶/",
        "relativePath": "/前端/进阶/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
      },
      {
        "url": "/后端/api-examples.html",
        "relativePath": "/后端/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/三灾.html",
        "relativePath": "/小说/三灾.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/回魂.html",
        "relativePath": "/小说/回魂.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/度苦记.html",
        "relativePath": "/小说/度苦记.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/梦游记.html",
        "relativePath": "/小说/梦游记.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/死环.html",
        "relativePath": "/小说/死环.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/火种.html",
        "relativePath": "/小说/火种.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/盗亦有道.html",
        "relativePath": "/小说/盗亦有道.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/返生.html",
        "relativePath": "/小说/返生.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/长生贼.html",
        "relativePath": "/小说/长生贼.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/算法/二叉树.html",
        "relativePath": "/算法/二叉树.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/前端算法.html",
        "relativePath": "/算法/前端算法.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/算法/动态规划.html",
        "relativePath": "/算法/动态规划.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/堆.html",
        "relativePath": "/算法/堆.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/排序.html",
        "relativePath": "/算法/排序.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
      },
      {
        "url": "/算法/数组.html",
        "relativePath": "/算法/数组.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/栈.html",
        "relativePath": "/算法/栈.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/链表.html",
        "relativePath": "/算法/链表.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/语音/api-examples.html",
        "relativePath": "/语音/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/面试/CSS/",
        "relativePath": "/面试/CSS/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "CSS高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
      },
      {
        "url": "/面试/HTML/",
        "relativePath": "/面试/HTML/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "HTML高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
      },
      {
        "url": "/面试/JavaScript/",
        "relativePath": "/面试/JavaScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "JavaScript高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
      },
      {
        "url": "/面试/Nest/",
        "relativePath": "/面试/Nest/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
      },
      {
        "url": "/面试/Next/",
        "relativePath": "/面试/Next/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Nextjs 面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
      },
      {
        "url": "/面试/React/",
        "relativePath": "/面试/React/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "React高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
      },
      {
        "url": "/面试/SSE/",
        "relativePath": "/面试/SSE/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "SSE流式输出",
        "date": "1970-01-01 00:00:00",
        "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
      },
      {
        "url": "/面试/TypeScript/",
        "relativePath": "/面试/TypeScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "TS面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
      },
      {
        "url": "/面试/前沿技术/",
        "relativePath": "/面试/前沿技术/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "前沿技术面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
      },
      {
        "url": "/面试/工程化/",
        "relativePath": "/面试/工程化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
      },
      {
        "url": "/面试/性能优化/",
        "relativePath": "/面试/性能优化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "性能优化面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
      },
      {
        "url": "/面试/浏览器/",
        "relativePath": "/面试/浏览器/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "浏览器高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
      },
      {
        "url": "/面试/计网/",
        "relativePath": "/面试/计网/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "计网高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
      }
    ],
    "sortPostsByDateAndSticky": [
      {
        "url": "/markdown-examples.html",
        "relativePath": "/markdown-examples.html",
        "frontmatter": {},
        "title": "Markdown Extension Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
      },
      {
        "url": "/前端/",
        "relativePath": "/前端/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/前端/基础/",
        "relativePath": "/前端/基础/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
      },
      {
        "url": "/前端/进阶/",
        "relativePath": "/前端/进阶/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
      },
      {
        "url": "/后端/api-examples.html",
        "relativePath": "/后端/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/三灾.html",
        "relativePath": "/小说/三灾.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/回魂.html",
        "relativePath": "/小说/回魂.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/度苦记.html",
        "relativePath": "/小说/度苦记.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/梦游记.html",
        "relativePath": "/小说/梦游记.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/死环.html",
        "relativePath": "/小说/死环.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/火种.html",
        "relativePath": "/小说/火种.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/盗亦有道.html",
        "relativePath": "/小说/盗亦有道.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/返生.html",
        "relativePath": "/小说/返生.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/长生贼.html",
        "relativePath": "/小说/长生贼.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/算法/二叉树.html",
        "relativePath": "/算法/二叉树.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/前端算法.html",
        "relativePath": "/算法/前端算法.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/算法/动态规划.html",
        "relativePath": "/算法/动态规划.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/堆.html",
        "relativePath": "/算法/堆.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/排序.html",
        "relativePath": "/算法/排序.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
      },
      {
        "url": "/算法/数组.html",
        "relativePath": "/算法/数组.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/栈.html",
        "relativePath": "/算法/栈.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/链表.html",
        "relativePath": "/算法/链表.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/语音/api-examples.html",
        "relativePath": "/语音/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/面试/CSS/",
        "relativePath": "/面试/CSS/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "CSS高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
      },
      {
        "url": "/面试/HTML/",
        "relativePath": "/面试/HTML/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "HTML高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
      },
      {
        "url": "/面试/JavaScript/",
        "relativePath": "/面试/JavaScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "JavaScript高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
      },
      {
        "url": "/面试/Nest/",
        "relativePath": "/面试/Nest/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
      },
      {
        "url": "/面试/Next/",
        "relativePath": "/面试/Next/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Nextjs 面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
      },
      {
        "url": "/面试/React/",
        "relativePath": "/面试/React/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "React高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
      },
      {
        "url": "/面试/SSE/",
        "relativePath": "/面试/SSE/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "SSE流式输出",
        "date": "1970-01-01 00:00:00",
        "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
      },
      {
        "url": "/面试/TypeScript/",
        "relativePath": "/面试/TypeScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "TS面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
      },
      {
        "url": "/面试/前沿技术/",
        "relativePath": "/面试/前沿技术/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "前沿技术面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
      },
      {
        "url": "/面试/工程化/",
        "relativePath": "/面试/工程化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
      },
      {
        "url": "/面试/性能优化/",
        "relativePath": "/面试/性能优化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "性能优化面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
      },
      {
        "url": "/面试/浏览器/",
        "relativePath": "/面试/浏览器/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "浏览器高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
      },
      {
        "url": "/面试/计网/",
        "relativePath": "/面试/计网/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "计网高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
      }
    ],
    "sortPostsByDate": [
      {
        "url": "/markdown-examples.html",
        "relativePath": "/markdown-examples.html",
        "frontmatter": {},
        "title": "Markdown Extension Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
      },
      {
        "url": "/前端/",
        "relativePath": "/前端/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/前端/基础/",
        "relativePath": "/前端/基础/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
      },
      {
        "url": "/前端/进阶/",
        "relativePath": "/前端/进阶/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
      },
      {
        "url": "/后端/api-examples.html",
        "relativePath": "/后端/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/三灾.html",
        "relativePath": "/小说/三灾.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/回魂.html",
        "relativePath": "/小说/回魂.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/度苦记.html",
        "relativePath": "/小说/度苦记.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/梦游记.html",
        "relativePath": "/小说/梦游记.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/小说/死环.html",
        "relativePath": "/小说/死环.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/火种.html",
        "relativePath": "/小说/火种.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/盗亦有道.html",
        "relativePath": "/小说/盗亦有道.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/返生.html",
        "relativePath": "/小说/返生.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/小说/长生贼.html",
        "relativePath": "/小说/长生贼.html",
        "frontmatter": {},
        "title": "html",
        "date": "1970-01-01 00:00:00",
        "capture": ""
      },
      {
        "url": "/算法/二叉树.html",
        "relativePath": "/算法/二叉树.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/前端算法.html",
        "relativePath": "/算法/前端算法.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/算法/动态规划.html",
        "relativePath": "/算法/动态规划.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/堆.html",
        "relativePath": "/算法/堆.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/排序.html",
        "relativePath": "/算法/排序.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
      },
      {
        "url": "/算法/数组.html",
        "relativePath": "/算法/数组.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/栈.html",
        "relativePath": "/算法/栈.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "寻找第K大",
        "date": "1970-01-01 00:00:00",
        "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
      },
      {
        "url": "/算法/链表.html",
        "relativePath": "/算法/链表.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "链表",
        "date": "1970-01-01 00:00:00",
        "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
      },
      {
        "url": "/语音/api-examples.html",
        "relativePath": "/语音/api-examples.html",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Runtime API Examples",
        "date": "1970-01-01 00:00:00",
        "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
      },
      {
        "url": "/面试/CSS/",
        "relativePath": "/面试/CSS/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "CSS高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
      },
      {
        "url": "/面试/HTML/",
        "relativePath": "/面试/HTML/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "HTML高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
      },
      {
        "url": "/面试/JavaScript/",
        "relativePath": "/面试/JavaScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "JavaScript高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
      },
      {
        "url": "/面试/Nest/",
        "relativePath": "/面试/Nest/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
      },
      {
        "url": "/面试/Next/",
        "relativePath": "/面试/Next/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "Nextjs 面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
      },
      {
        "url": "/面试/React/",
        "relativePath": "/面试/React/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "React高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
      },
      {
        "url": "/面试/SSE/",
        "relativePath": "/面试/SSE/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "SSE流式输出",
        "date": "1970-01-01 00:00:00",
        "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
      },
      {
        "url": "/面试/TypeScript/",
        "relativePath": "/面试/TypeScript/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "TS面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
      },
      {
        "url": "/面试/前沿技术/",
        "relativePath": "/面试/前沿技术/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "前沿技术面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
      },
      {
        "url": "/面试/工程化/",
        "relativePath": "/面试/工程化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "工程化高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
      },
      {
        "url": "/面试/性能优化/",
        "relativePath": "/面试/性能优化/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "性能优化面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
      },
      {
        "url": "/面试/浏览器/",
        "relativePath": "/面试/浏览器/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "浏览器高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
      },
      {
        "url": "/面试/计网/",
        "relativePath": "/面试/计网/",
        "frontmatter": {
          "outline": "deep"
        },
        "title": "计网高频面试题",
        "date": "1970-01-01 00:00:00",
        "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
      }
    ],
    "groupPostsByYear": {
      "1970 ": [
        {
          "url": "/markdown-examples.html",
          "relativePath": "/markdown-examples.html",
          "frontmatter": {},
          "title": "Markdown Extension Examples",
          "date": "1970-01-01 00:00:00",
          "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
        },
        {
          "url": "/前端/",
          "relativePath": "/前端/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "Runtime API Examples",
          "date": "1970-01-01 00:00:00",
          "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
        },
        {
          "url": "/前端/基础/",
          "relativePath": "/前端/基础/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "工程化高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
        },
        {
          "url": "/前端/进阶/",
          "relativePath": "/前端/进阶/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "工程化高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
        },
        {
          "url": "/后端/api-examples.html",
          "relativePath": "/后端/api-examples.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "Runtime API Examples",
          "date": "1970-01-01 00:00:00",
          "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
        },
        {
          "url": "/小说/三灾.html",
          "relativePath": "/小说/三灾.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/回魂.html",
          "relativePath": "/小说/回魂.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/度苦记.html",
          "relativePath": "/小说/度苦记.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/梦游记.html",
          "relativePath": "/小说/梦游记.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "Runtime API Examples",
          "date": "1970-01-01 00:00:00",
          "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
        },
        {
          "url": "/小说/死环.html",
          "relativePath": "/小说/死环.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/火种.html",
          "relativePath": "/小说/火种.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/盗亦有道.html",
          "relativePath": "/小说/盗亦有道.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/返生.html",
          "relativePath": "/小说/返生.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/小说/长生贼.html",
          "relativePath": "/小说/长生贼.html",
          "frontmatter": {},
          "title": "html",
          "date": "1970-01-01 00:00:00",
          "capture": ""
        },
        {
          "url": "/算法/二叉树.html",
          "relativePath": "/算法/二叉树.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
        },
        {
          "url": "/算法/前端算法.html",
          "relativePath": "/算法/前端算法.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "链表",
          "date": "1970-01-01 00:00:00",
          "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
        },
        {
          "url": "/算法/动态规划.html",
          "relativePath": "/算法/动态规划.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
        },
        {
          "url": "/算法/堆.html",
          "relativePath": "/算法/堆.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
        },
        {
          "url": "/算法/排序.html",
          "relativePath": "/算法/排序.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
        },
        {
          "url": "/算法/数组.html",
          "relativePath": "/算法/数组.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
        },
        {
          "url": "/算法/栈.html",
          "relativePath": "/算法/栈.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "寻找第K大",
          "date": "1970-01-01 00:00:00",
          "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
        },
        {
          "url": "/算法/链表.html",
          "relativePath": "/算法/链表.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "链表",
          "date": "1970-01-01 00:00:00",
          "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
        },
        {
          "url": "/语音/api-examples.html",
          "relativePath": "/语音/api-examples.html",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "Runtime API Examples",
          "date": "1970-01-01 00:00:00",
          "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
        },
        {
          "url": "/面试/CSS/",
          "relativePath": "/面试/CSS/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "CSS高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
        },
        {
          "url": "/面试/HTML/",
          "relativePath": "/面试/HTML/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "HTML高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
        },
        {
          "url": "/面试/JavaScript/",
          "relativePath": "/面试/JavaScript/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "JavaScript高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
        },
        {
          "url": "/面试/Nest/",
          "relativePath": "/面试/Nest/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "工程化高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
        },
        {
          "url": "/面试/Next/",
          "relativePath": "/面试/Next/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "Nextjs 面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
        },
        {
          "url": "/面试/React/",
          "relativePath": "/面试/React/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "React高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
        },
        {
          "url": "/面试/SSE/",
          "relativePath": "/面试/SSE/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "SSE流式输出",
          "date": "1970-01-01 00:00:00",
          "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
        },
        {
          "url": "/面试/TypeScript/",
          "relativePath": "/面试/TypeScript/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "TS面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
        },
        {
          "url": "/面试/前沿技术/",
          "relativePath": "/面试/前沿技术/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "前沿技术面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
        },
        {
          "url": "/面试/工程化/",
          "relativePath": "/面试/工程化/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "工程化高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
        },
        {
          "url": "/面试/性能优化/",
          "relativePath": "/面试/性能优化/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "性能优化面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
        },
        {
          "url": "/面试/浏览器/",
          "relativePath": "/面试/浏览器/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "浏览器高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
        },
        {
          "url": "/面试/计网/",
          "relativePath": "/面试/计网/",
          "frontmatter": {
            "outline": "deep"
          },
          "title": "计网高频面试题",
          "date": "1970-01-01 00:00:00",
          "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
        }
      ]
    },
    "groupPostsByYearMonth": {
      "1970 ": {
        "01": [
          {
            "url": "/markdown-examples.html",
            "relativePath": "/markdown-examples.html",
            "frontmatter": {},
            "title": "Markdown Extension Examples",
            "date": "1970-01-01 00:00:00",
            "capture": "This page demonstrates some of the built-in markdown extensions provided by VitePress.\n Syntax Highlighting\nVitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:\nInput\n````md\n```js{4}\nexport default {\n  data () {\n    return {\n      msg: 'Highlighte"
          },
          {
            "url": "/前端/",
            "relativePath": "/前端/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "Runtime API Examples",
            "date": "1970-01-01 00:00:00",
            "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
          },
          {
            "url": "/前端/基础/",
            "relativePath": "/前端/基础/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "工程化高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML\n CSS\n JS\nCheck out the documentation for the full list of "
          },
          {
            "url": "/前端/进阶/",
            "relativePath": "/前端/进阶/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "工程化高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS\n Webpack\n Vite\n Vue\n React\n Nodejs/Express/Fastify\n Nuxt.JS\n"
          },
          {
            "url": "/后端/api-examples.html",
            "relativePath": "/后端/api-examples.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "Runtime API Examples",
            "date": "1970-01-01 00:00:00",
            "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
          },
          {
            "url": "/小说/三灾.html",
            "relativePath": "/小说/三灾.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/回魂.html",
            "relativePath": "/小说/回魂.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/度苦记.html",
            "relativePath": "/小说/度苦记.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/梦游记.html",
            "relativePath": "/小说/梦游记.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "Runtime API Examples",
            "date": "1970-01-01 00:00:00",
            "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
          },
          {
            "url": "/小说/死环.html",
            "relativePath": "/小说/死环.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/火种.html",
            "relativePath": "/小说/火种.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/盗亦有道.html",
            "relativePath": "/小说/盗亦有道.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/返生.html",
            "relativePath": "/小说/返生.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/小说/长生贼.html",
            "relativePath": "/小说/长生贼.html",
            "frontmatter": {},
            "title": "html",
            "date": "1970-01-01 00:00:00",
            "capture": ""
          },
          {
            "url": "/算法/二叉树.html",
            "relativePath": "/算法/二叉树.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
          },
          {
            "url": "/算法/前端算法.html",
            "relativePath": "/算法/前端算法.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "链表",
            "date": "1970-01-01 00:00:00",
            "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
          },
          {
            "url": "/算法/动态规划.html",
            "relativePath": "/算法/动态规划.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
          },
          {
            "url": "/算法/堆.html",
            "relativePath": "/算法/堆.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
          },
          {
            "url": "/算法/排序.html",
            "relativePath": "/算法/排序.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n&lt;pre\n&lt;pre&gt;输入:数组及数字k&lt;/pre&gt;\n&lt;pre&gt;输出:第k大的数&lt;/pre&gt;\n&lt;pre&gt;思路:nums是一个数组,我们可以先找k对应数的索引,即排序过后数的对应索引\n随后,我们通过快速选择配合分区来进行筛选\n首先确定left和right,partition中进行判断,可以以right为基准\n然后让j等于左边界,开始循环,每次增加时判断与right的大小\n当j对应的值小于基准值,则让其放到左区中,逻辑是 [num[i++],num[j]] = [num[j],num[i]]\n第一轮实际上i=j,i++是控"
          },
          {
            "url": "/算法/数组.html",
            "relativePath": "/算法/数组.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
          },
          {
            "url": "/算法/栈.html",
            "relativePath": "/算法/栈.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "寻找第K大",
            "date": "1970-01-01 00:00:00",
            "capture": "寻找第K大\n思路: 分治思想,及快速选择算法或者使用小栈堆,即维护K个元素,堆顶为第K大\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\nconst { theme, page, frontmatter } = useData()\n&lt;/script&gt;\n Results\n Theme Data\n&lt;pre&gt;{{ theme }}&lt;/pre&gt;\n Page Data\n&lt;pre&gt;{{ page }}&lt;/pre&gt;\n Page Frontmatter\n&lt;pre&gt;{{ "
          },
          {
            "url": "/算法/链表.html",
            "relativePath": "/算法/链表.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "链表",
            "date": "1970-01-01 00:00:00",
            "capture": "链表\n 反转链表\n&lt;pre\n&lt;pre&gt;输入:head头节点&lt;/pre&gt;\n&lt;pre&gt;输出:反转后新头节点&lt;/pre&gt;\n 思路及代码\n&lt;pre&gt;思路:记录,反转\n给前任赋null,现任是头节点\n然后还有现任的时候,先把下任存好(const next = curr.next)\n让现任的next指针去找前任,即 curr.next = prev\n把前任换成现任, prev = curr\n把现任换成下一任, curr = next\n&lt;/pre&gt;\n``` JS\nfunction reverseList(head){  //传入头"
          },
          {
            "url": "/语音/api-examples.html",
            "relativePath": "/语音/api-examples.html",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "Runtime API Examples",
            "date": "1970-01-01 00:00:00",
            "capture": "Runtime API Examples\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n&lt;script setup\nimport { useData } from 'vitepress'\ncon"
          },
          {
            "url": "/面试/CSS/",
            "relativePath": "/面试/CSS/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "CSS高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "CSS高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n BFC的意义与用法\n Theme Data\n Page Data\n Page Frontmatter\n 常见布局方案及定位方式"
          },
          {
            "url": "/面试/HTML/",
            "relativePath": "/面试/HTML/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "HTML高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "HTML高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n HTML语义化标签\n Theme Data\n Page Data\n Page Frontmatter\n HTML结构\n HT"
          },
          {
            "url": "/面试/JavaScript/",
            "relativePath": "/面试/JavaScript/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "JavaScript高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "JavaScript高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n ES6+新特性\n Theme Data\n Page Data\n Page Frontmatter\n 闭包\n JS"
          },
          {
            "url": "/面试/Nest/",
            "relativePath": "/面试/Nest/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "工程化高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n NestJS的底层原理\n IOC\n 依赖注入\n NestJS Module\n NestJS Controller\n NestJ"
          },
          {
            "url": "/面试/Next/",
            "relativePath": "/面试/Next/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "Nextjs 面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "```md\n```\n Nextjs的优点\n Nextjs路由\n 文件夹路由\n 嵌套路由\n Nextjs优化\n 路由懒加载\n 图片懒加载\n 组件懒加载\n Nextjs 水合\n Nextjs 渲染\n SSR的实现\n SSG的实现\n CSR的实现\nCheck out the documentation for the full list of runtime APIs."
          },
          {
            "url": "/面试/React/",
            "relativePath": "/面试/React/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "React高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "React高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 虚拟DOM与Diff算法\n Diff算法的优化策略\n Theme Data\n&lt;pre\n Page Data\n&lt;"
          },
          {
            "url": "/面试/SSE/",
            "relativePath": "/面试/SSE/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "SSE流式输出",
            "date": "1970-01-01 00:00:00",
            "capture": "SSE流式输出\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n SSE流式输出的概念\n SSE流式输出的原理\n SSE流式输出的实现\nCheck out the documentation f"
          },
          {
            "url": "/面试/TypeScript/",
            "relativePath": "/面试/TypeScript/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "TS面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "TS面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n TS在项目中的使用\n Theme Data\n Page Data\n Page Frontmatter\n Interface和type"
          },
          {
            "url": "/面试/前沿技术/",
            "relativePath": "/面试/前沿技术/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "前沿技术面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "前沿技术面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n WebAssembly\n 微前端\n 常用的微前端框架\n React Native /小程序开发\n AI大模型在前端的应用场景\nC"
          },
          {
            "url": "/面试/工程化/",
            "relativePath": "/面试/工程化/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "工程化高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "工程化高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n Webpack\n loader和plugin的区别\n 自定义loader/plugin\n Vite\n Vite的热更新原理\n "
          },
          {
            "url": "/面试/性能优化/",
            "relativePath": "/面试/性能优化/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "性能优化面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "性能优化面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n  代码优化\n  静态资源优化\n  组件优化\n  缓存优化\nCheck out the documentation for the"
          },
          {
            "url": "/面试/浏览器/",
            "relativePath": "/面试/浏览器/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "浏览器高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "浏览器高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 浏览器的垃圾回收机制\n 浏览器渲染流程\n 浏览器同源策略\n 浏览器性能指标\n Service Worker\n 如何实现 PWA"
          },
          {
            "url": "/面试/计网/",
            "relativePath": "/面试/计网/",
            "frontmatter": {
              "outline": "deep"
            },
            "title": "计网高频面试题",
            "date": "1970-01-01 00:00:00",
            "capture": "计网高频面试题\nThis page demonstrates usage of some of the runtime APIs provided by VitePress.\nThe main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:\n```md\n```\n 常见的网络攻击\n XSS\n CRSF\n Theme Data\n&lt;pre\n Page Data\n&lt;pre&gt;{{ "
          }
        ]
      }
    },
    "groupPosts": {
      "categories": {},
      "tags": {}
    },
    "groupCards": {
      "categories": [],
      "tags": []
    }
  }
}

Page Data

{
  "title": "寻找第K大",
  "description": "",
  "frontmatter": {
    "outline": "deep"
  },
  "headers": [],
  "relativePath": "算法/动态规划.md",
  "filePath": "算法/动态规划.md"
}

Page Frontmatter

{
  "outline": "deep"
}

More

Check out the documentation for the full list of runtime APIs.

最近更新