<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Moyon</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://moyon.net.cn/</id>
  <link href="https://moyon.net.cn/" rel="alternate"/>
  <link href="https://moyon.net.cn/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Moyon</rights>
  <subtitle>记录代码、阅读与思考</subtitle>
  <title>我的博客</title>
  <updated>2026-08-25T06:51:33.232Z</updated>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <content>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/25/hello-world/</id>
    <link href="https://moyon.net.cn/2026/08/25/hello-world/"/>
    <published>2026-08-25T06:51:33.232Z</published>
    <summary>Hexo首帖介绍新建、运行、生成和部署命令</summary>
    <title>Hello World</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p>今日概览: 今日聚焦开源模型实战、Agent 记忆优化与多模态框架,另有可视化工具与训练提速等亮点。</p><h2 id="模型与应用"><a href="#模型与应用" class="headerlink" title="模型与应用"></a>模型与应用</h2><ul><li>给 Qwen 3.8 27B 安排逆向工程任务,它半小时内完成,展示小模型的惊人效率。 | <a href="https://www.xda-developers.com/qwen-3-8-27b-reverse-engineering-job-frontier-model/">https://www.xda-developers.com/qwen-3-8-27b-reverse-engineering-job-frontier-model/</a></li><li>一个实时 3D 卫星追踪工具,还整合了五角大楼解密的 UFO 档案。 | <a href="https://skylens.yantraai.app/">https://skylens.yantraai.app/</a></li></ul><h2 id="训练与性能"><a href="#训练与性能" class="headerlink" title="训练与性能"></a>训练与性能</h2><ul><li>一项新的 NanoGPT “速通”挑战纪录,进一步压缩了训练时间。 | <a href="https://www.primeintellect.ai/research/nanogpt-speedrun">https://www.primeintellect.ai/research/nanogpt-speedrun</a></li></ul><h2 id="Agent-与记忆系统"><a href="#Agent-与记忆系统" class="headerlink" title="Agent 与记忆系统"></a>Agent 与记忆系统</h2><ul><li>提出“规范驱动”的 Agent 开发流程,为 AI 原生软件生命周期提供新思路。 | <a href="https://arxiv.org/abs/2608.20341">https://arxiv.org/abs/2608.20341</a></li><li>通过记忆预激活生成子 Agent,扩展个人 AI 基础设施的能力边界。 | <a href="https://arxiv.org/abs/2608.20342">https://arxiv.org/abs/2608.20342</a></li><li>提出深度自适应 KV 缓存拼接与检索解耦工具路由,优化统一内存环境下的 Agent 大模型。 | <a href="https://arxiv.org/abs/2608.20397">https://arxiv.org/abs/2608.20397</a></li></ul><h2 id="多模态与评测"><a href="#多模态与评测" class="headerlink" title="多模态与评测"></a>多模态与评测</h2><ul><li>系统综述多模态 Agent 框架的基础与前沿,涵盖技术与应用。 | <a href="https://arxiv.org/abs/2608.20379">https://arxiv.org/abs/2608.20379</a></li><li>新基准测试用于评估视觉语言模型在潜在空间状态重建上的表现。 | <a href="https://arxiv.org/abs/2608.20414">https://arxiv.org/abs/2608.20414</a></li></ul><p>开源小模型表现亮眼,Agent 记忆与多模态评测成为今日热点。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/25/ai-daily-2026-08-25/</id>
    <link href="https://moyon.net.cn/2026/08/25/ai-daily-2026-08-25/"/>
    <published>2026-08-25T00:18:48.000Z</published>
    <summary>
      <![CDATA[<p>今日概览: 今日聚焦开源模型实战、Agent 记忆优化与多模态框架,另有可视化工具与训练提速等亮点。</p>
<h2 id="模型与应用"><a href="#模型与应用" class="headerlink" title="模型与应用"></a>模型与应用</h2><ul]]>
    </summary>
    <title>AI 日报 · 2026-08-25</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p>今日概览：AI模型能力与训练提速亮眼，多起国家级网络攻击敲响安全警钟，另有三项底层技术优化值得关注。</p><h2 id="AI-前沿"><a href="#AI-前沿" class="headerlink" title="AI 前沿"></a>AI 前沿</h2><ul><li>Qwen 3.8 27B 用30分钟完成逆向工程任务，展现小模型的实用潜力。<br><a href="https://www.xda-developers.com/qwen-3-8-27b-reverse-engineering-job-frontier-model/">https://www.xda-developers.com/qwen-3-8-27b-reverse-engineering-job-frontier-model/</a></li><li>NanoGPT Speedrun 项目将训练效率推向新极限，大幅压缩大模型训练时间。<br><a href="https://www.primeintellect.ai/research/nanogpt-speedrun">https://www.primeintellect.ai/research/nanogpt-speedrun</a></li></ul><h2 id="安全威胁"><a href="#安全威胁" class="headerlink" title="安全威胁"></a>安全威胁</h2><ul><li>斯洛伐克交通测速摄像头被发现预装俄罗斯后门，恐波及别国基础设施。<br><a href="https://risky.biz/risky-bulletin-slovakia-finds-russian-backdoor-in-traffic-speed-cameras/">https://risky.biz/risky-bulletin-slovakia-finds-russian-backdoor-in-traffic-speed-cameras/</a></li><li>伊朗黑客入侵英国电厂致其停机四天，关键能源设施防御面临严峻考验。<br><a href="https://www.telegraph.co.uk/news/2026/08/22/iranian-hackers-shut-down-uk-power-plant/">https://www.telegraph.co.uk/news/2026/08/22/iranian-hackers-shut-down-uk-power-plant/</a></li><li>恶意软件已混入安卓车载车机固件，车内系统成为攻击面新焦点。<br><a href="https://securelist.com/android-head-unit-malware/121106/">https://securelist.com/android-head-unit-malware/121106/</a></li></ul><h2 id="工程优化"><a href="#工程优化" class="headerlink" title="工程优化"></a>工程优化</h2><ul><li>新方案可在5微秒内完成JIT编译，为极低延迟执行打开新思路。<br><a href="https://malisper.me/jit-compiling-code-in-5-us/">https://malisper.me/jit-compiling-code-in-5-us/</a></li></ul><p>小结：模型效率与性能突破值得期待，但基础设施与车载系统的安全防线更需同步加固。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/24/ai-daily-2026-08-24/</id>
    <link href="https://moyon.net.cn/2026/08/24/ai-daily-2026-08-24/"/>
    <published>2026-08-24T00:17:26.000Z</published>
    <summary>
      <![CDATA[<p>今日概览：AI模型能力与训练提速亮眼，多起国家级网络攻击敲响安全警钟，另有三项底层技术优化值得关注。</p>
<h2 id="AI-前沿"><a href="#AI-前沿" class="headerlink" title="AI 前沿"></a>AI 前沿</h2><ul]]>
    </summary>
    <title>AI 日报 · 2026-08-24</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<h1 id="AI-技术日报"><a href="#AI-技术日报" class="headerlink" title="AI&#x2F;技术日报"></a>AI&#x2F;技术日报</h1><p>今日概览：MCP路线图更新、Meta青少年保护争议、Embedded AI与性能优化成焦点。</p><h2 id="AI-协议与平台"><a href="#AI-协议与平台" class="headerlink" title="AI 协议与平台"></a>AI 协议与平台</h2><ul><li><strong>MCP 发布新路线图</strong>：官方公布 Model Context Protocol 的后续演进方向，继续完善 AI 代理与工具连接的生态。<a href="https://blog.modelcontextprotocol.io/posts/mcp-roadmap/">链接</a></li><li><strong>Meta 被指对儿童采用“钩住、留存、收割、隐藏”策略</strong>：庭审首周曝光的相关指控，重新引发对青少年隐私保护的关注。<a href="https://www.theguardian.com/technology/2026/aug/22/meta-trial-children-privacy">链接</a></li></ul><h2 id="开发者工具与语言"><a href="#开发者工具与语言" class="headerlink" title="开发者工具与语言"></a>开发者工具与语言</h2><ul><li><strong>Munder Difflin</strong>：一个用于运行“一屋子你的克隆体”的 agent harness，属于偏实验性的 AI 智能体编排工具。<a href="https://munderdiffl.in/">链接</a></li><li><strong>友好的 Racket 入门</strong>：一篇面向新手的 Racket 介绍，降低这门语言的学习门槛。<a href="https://geometridae.bearblog.dev/a-friendly-introduction-to-racket/">链接</a></li></ul><h2 id="性能与硬件"><a href="#性能与硬件" class="headerlink" title="性能与硬件"></a>性能与硬件</h2><ul><li><strong>Dan Luu：软件没有理由再慢下去</strong>：文章指出很多性能问题并非不可避免，现代软件仍有大量优化空间。<a href="https://danluu.com/perf-opt/">链接</a></li><li><strong>Z80：1970 年代的微处理器至今仍然活跃</strong>：一篇 2021 年的回顾文章，展示了这款经典芯片的长久生命力。<a href="https://www.computer.org/csdl/magazine/mi/2021/06/09623402/1yJTvlRLmhi">链接</a></li></ul><h2 id="学习与资源"><a href="#学习与资源" class="headerlink" title="学习与资源"></a>学习与资源</h2><ul><li><strong>《Embedded AI》</strong>：一本聚焦嵌入式 AI 实践的新书，面向希望在嵌入式场景落地 AI 的开发者。<a href="https://nostarch.com/embedded-ai">链接</a></li></ul><p>今日聚焦AI协议、开发者工具与性能；经典硬件与语言入门值得一读。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/23/ai-daily-2026-08-23/</id>
    <link href="https://moyon.net.cn/2026/08/23/ai-daily-2026-08-23/"/>
    <published>2026-08-23T00:18:12.000Z</published>
    <summary>
      <![CDATA[<h1 id="AI-技术日报"><a href="#AI-技术日报" class="headerlink" title="AI&#x2F;技术日报"></a>AI&#x2F;技术日报</h1><p>今日概览：MCP路线图更新、Meta青少年保护争议、Embedded AI与性能]]>
    </summary>
    <title>AI 日报 · 2026-08-23</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p><strong>今日概览</strong>：低延迟语音、Agent治理与可观测性、学习效果倒挂，构成今日AI关注焦点。</p><h2 id="工程与性能"><a href="#工程与性能" class="headerlink" title="工程与性能"></a>工程与性能</h2><ul><li><p>通过优化流式架构与推理管线，文本转语音模型首字响应可压至50毫秒以内，让AI对话更接近真人交流节奏。<a href="https://nari-labs.com/blog/qwen3-tts-speed-cost-frontier/">链接</a></p></li><li><p>AgentSight借助eBPF实现对AI代理的零侵入可观测性，无需改代码即可追踪运行行为，为代理调试提供了轻量新手段。<a href="https://github.com/alibaba/anolisa/blob/main/docs/user-guide/en/agent-observability/agentsight.md">链接</a></p></li></ul><h2 id="Agent治理与行为"><a href="#Agent治理与行为" class="headerlink" title="Agent治理与行为"></a>Agent治理与行为</h2><ul><li><p>开发者给AI代理写“宪法”限制越界行为，用一套规则约束代理自主行动时的红线，思路类似给系统预置道德边界。<a href="https://github.com/Chong169/a-constitution-for-one">链接</a></p></li><li><p>Outcome Monitors为工具静默失败提供“恢复抓手”，帮助AI代理在出错时不必回溯整个链路即可定位并继续执行。<a href="https://arxiv.org/abs/2608.19303">链接</a></p></li><li><p>主动推断（Active Inference）被引入AI代理语境，让代理通过不断获取上下文来修正行为，而非仅靠预训练知识答题。<a href="https://arxiv.org/abs/2608.19202">链接</a></p></li></ul><h2 id="教育与语言风格"><a href="#教育与语言风格" class="headerlink" title="教育与语言风格"></a>教育与语言风格</h2><ul><li><p>一项研究显示：用AI提分18%的学生，考试分数反而下降20%，提示工具性帮助可能掩盖真实能力缺口。<a href="https://canews24.online/?p=71">链接</a></p></li><li><p>Claudette这个项目专门让Claude“停止用BuzzFeed腔说话”，纠正生成内容中过度标题党的语气问题。<a href="https://github.com/adnanakil/nobuzz/blob/main/README.md">链接</a></p></li></ul><p><strong>小结</strong>：AI正在从“能说”走向“说好、不越界、出错了能自己爬起来”。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/22/ai-daily-2026-08-22/</id>
    <link href="https://moyon.net.cn/2026/08/22/ai-daily-2026-08-22/"/>
    <published>2026-08-22T00:18:20.000Z</published>
    <summary>
      <![CDATA[<p><strong>今日概览</strong>：低延迟语音、Agent治理与可观测性、学习效果倒挂，构成今日AI关注焦点。</p>
<h2 id="工程与性能"><a href="#工程与性能" class="headerlink" title="工程与性能"></a>工程与性]]>
    </summary>
    <title>AI 日报 · 2026-08-22</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="技术笔记" scheme="https://moyon.net.cn/categories/%E6%8A%80%E6%9C%AF%E7%AC%94%E8%AE%B0/"/>
    <category term="LivIn" scheme="https://moyon.net.cn/tags/LivIn/"/>
    <category term="评测" scheme="https://moyon.net.cn/tags/%E8%AF%84%E6%B5%8B/"/>
    <category term="nginx" scheme="https://moyon.net.cn/tags/nginx/"/>
    <category term="服务器" scheme="https://moyon.net.cn/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <content>
      <![CDATA[<blockquote><p><strong>一句话速览</strong>：Nginx 配置的心智模型只有三层——<strong>http 块管全局、server 块管一个站点、location 块管一个 URL 路径</strong>。三者嵌套，从外到内逐层缩小范围。90% 的 Nginx 配置问题都能用三句话定位：哪个 server 块匹配了请求？哪个 location 匹配了路径？匹配到的指令做了什么？</p></blockquote><h2 id="目录"><a href="#目录" class="headerlink" title="目录"></a>目录</h2><ul><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-1%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%9A%84%E5%B1%82%E7%BA%A7%E7%BB%93%E6%9E%84http--server--location">技术点 1：配置文件的层级结构——http → server → location</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-2server-%E5%9D%97%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E4%B8%80%E4%B8%AA-nginx-%E6%89%98%E7%AE%A1%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9">技术点 2：server 块——虚拟主机，一个 Nginx 托管多个站点</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-3location-%E5%8C%B9%E9%85%8D%E8%A7%84%E5%88%99nginx-%E6%9C%80%E5%AE%B9%E6%98%93%E8%B8%A9%E5%9D%91%E7%9A%84%E5%9C%B0%E6%96%B9">技术点 3：location 匹配规则——Nginx 最容易踩坑的地方</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-4%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86nginx-%E6%9C%80%E5%B8%B8%E8%A7%81%E7%9A%84%E7%94%A8%E9%80%94">技术点 4：反向代理——Nginx 最常见的用途</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-5%E9%9D%99%E6%80%81%E6%96%87%E4%BB%B6%E6%89%98%E7%AE%A1%E4%B8%8E-try_files">技术点 5：静态文件托管与 try_files</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-6%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E4%B8%8E-upstream">技术点 6：负载均衡与 upstream</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-7https-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%AF%81%E4%B9%A6">技术点 7：HTTPS 配置与证书</a></li><li><a href="#%E6%8A%80%E6%9C%AF%E7%82%B9-8%E5%B8%B8%E7%94%A8%E8%BF%90%E7%BB%B4%E5%91%BD%E4%BB%A4">技术点 8：常用运维命令</a></li></ul><hr><h2 id="技术点-1：配置文件的层级结构——http-→-server-→-location"><a href="#技术点-1：配置文件的层级结构——http-→-server-→-location" class="headerlink" title="技术点 1：配置文件的层级结构——http → server → location"></a>技术点 1：配置文件的层级结构——http → server → location</h2><p>Nginx 配置文件（通常在 <code>/etc/nginx/nginx.conf</code>）是嵌套的块结构：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 全局配置——工作进程数、日志路径等</span></span><br><span class="line"><span class="attribute">worker_processes</span> auto;</span><br><span class="line"></span><br><span class="line"><span class="section">events</span> &#123;</span><br><span class="line">    <span class="attribute">worker_connections</span> <span class="number">1024</span>;  <span class="comment"># 每个工作进程的最大连接数</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="section">http</span> &#123;</span><br><span class="line">    <span class="comment"># http 块：所有站点共享的配置</span></span><br><span class="line">    <span class="attribute">sendfile</span> <span class="literal">on</span>;</span><br><span class="line">    <span class="attribute">keepalive_timeout</span> <span class="number">65</span>;</span><br><span class="line">    <span class="attribute">include</span> /etc/nginx/conf.d/<span class="regexp">*.conf</span>;  <span class="comment"># 引入其他配置文件（常见做法）</span></span><br><span class="line"></span><br><span class="line">    <span class="section">server</span> &#123;</span><br><span class="line">        <span class="comment"># server 块：一个虚拟主机（一个站点）</span></span><br><span class="line">        <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">        <span class="attribute">server_name</span> example.com;</span><br><span class="line"></span><br><span class="line">        <span class="section">location</span> / &#123;</span><br><span class="line">            <span class="comment"># location 块：一个 URL 路径的处理规则</span></span><br><span class="line">            <span class="attribute">root</span> /var/www/html;</span><br><span class="line">            <span class="attribute">index</span> index.html;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>记忆方式</strong>：俄罗斯套娃。http 是最外层（全局 HTTP 设置），server 是中间层（一个站点），location 是最内层（一条 URL 路径的规则）。配置项可以在外层定义、内层继承，内层也可以覆盖外层。</p><p><strong>1Panel &#x2F; 宝塔等面板的做法</strong>：通常主配置文件 <code>nginx.conf</code> 里 <code>include /etc/nginx/conf.d/*.conf</code>，每个站点一个 <code>.conf</code> 文件（如 <code>example.com.conf</code>），里面就是一个 server 块。这样加站点只需加文件、不用改主配置。</p><hr><h2 id="技术点-2：server-块——虚拟主机，一个-Nginx-托管多个站点"><a href="#技术点-2：server-块——虚拟主机，一个-Nginx-托管多个站点" class="headerlink" title="技术点 2：server 块——虚拟主机，一个 Nginx 托管多个站点"></a>技术点 2：server 块——虚拟主机，一个 Nginx 托管多个站点</h2><p>一个 Nginx 可以托管多个站点，靠的是 <code>server_name</code> 区分：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 站点 A：博客</span></span><br><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">    <span class="attribute">server_name</span> blog.example.com;</span><br><span class="line">    <span class="attribute">root</span> /var/www/blog;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># 站点 B：API</span></span><br><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">    <span class="attribute">server_name</span> api.example.com;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://localhost:3000;  <span class="comment"># 反向代理到后端</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># 站点 C：默认（所有未匹配的域名）</span></span><br><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span> default_server;  <span class="comment"># 没有其他 server_name 匹配时走这里</span></span><br><span class="line">    <span class="attribute">server_name</span> _;</span><br><span class="line">    <span class="attribute">return</span> <span class="number">444</span>;  <span class="comment"># 直接断开连接</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>关键概念</strong>：</p><ul><li><code>listen</code>：监听端口，80 是 HTTP、443 是 HTTPS</li><li><code>server_name</code>：匹配请求的 Host 头。Nginx 收到请求后，按 <code>server_name</code> 找对应的 server 块</li><li><code>default_server</code>：没有匹配时的兜底，一个端口只能有一个 <code>default_server</code></li><li>多个域名指向同一个站点：<code>server_name a.com b.com c.com;</code></li></ul><hr><h2 id="技术点-3：location-匹配规则——Nginx-最容易踩坑的地方"><a href="#技术点-3：location-匹配规则——Nginx-最容易踩坑的地方" class="headerlink" title="技术点 3：location 匹配规则——Nginx 最容易踩坑的地方"></a>技术点 3：location 匹配规则——Nginx 最容易踩坑的地方</h2><p>location 决定了”这个 URL 路径由什么规则处理”，匹配规则有优先级：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">location</span> = /exact &#123;</span><br><span class="line">    <span class="comment"># 精确匹配（优先级最高），只匹配 /exact 本身</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="section">location</span><span class="regexp"> ^~</span> /priority &#123;</span><br><span class="line">    <span class="comment"># 前缀匹配（不再做正则匹配），匹配以 /priority 开头的路径</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="section">location</span> <span class="regexp">~ \.php<span class="katex-error" title="ParseError: KaTeX parse error: Expected &#x27;EOF&#x27;, got &#x27;&amp;&#x27; at position 9: &lt;/span&gt; &amp;̲#123;&lt;/span&gt;&lt;br…" style="color:#cc0000">&lt;/span&gt; &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;# 正则匹配（区分大小写），匹配 .php 结尾的路径&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;section&quot;&gt;location&lt;/span&gt; &lt;span class=&quot;regexp&quot;&gt;~* \.(jpg|png|css|js)</span></span> &#123;</span><br><span class="line">    <span class="comment"># 正则匹配（不区分大小写），匹配静态资源</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="section">location</span> /api &#123;</span><br><span class="line">    <span class="comment"># 普通前缀匹配（优先级最低），匹配以 /api 开头的路径</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>优先级从高到低</strong>：</p><ol><li><code>=</code> 精确匹配（最高）</li><li><code>^~</code> 前缀匹配（匹配后不再检查正则）</li><li><code>~</code> &#x2F; <code>~*</code> 正则匹配（按出现顺序，先匹配到的生效）</li><li>普通前缀匹配（最低，最长前缀优先）</li></ol><p><strong>实际例子</strong>：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line"></span><br><span class="line">    <span class="comment"># 静态资源走正则</span></span><br><span class="line">    <span class="section">location</span> <span class="regexp">~* \.(css|js|png|jpg|gif|ico)<span class="katex-error" title="ParseError: KaTeX parse error: Expected &#x27;EOF&#x27;, got &#x27;&amp;&#x27; at position 9: &lt;/span&gt; &amp;̲#123;&lt;/span&gt;&lt;br…" style="color:#cc0000">&lt;/span&gt; &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;attribute&quot;&gt;root&lt;/span&gt; /var/www/static;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;attribute&quot;&gt;expires&lt;/span&gt; &lt;span class=&quot;number&quot;&gt;30d&lt;/span&gt;;  &lt;span class=&quot;comment&quot;&gt;# 浏览器缓存 30 天&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;# /api 反代到后端&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;section&quot;&gt;location&lt;/span&gt; /api &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;attribute&quot;&gt;proxy_pass&lt;/span&gt; http://localhost:3000;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;comment&quot;&gt;# 其他路径找静态文件&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;section&quot;&gt;location&lt;/span&gt; / &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;attribute&quot;&gt;root&lt;/span&gt; /var/www/html;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        &lt;span class=&quot;attribute&quot;&gt;try_files&lt;/span&gt; &lt;span class=&quot;variable&quot;&gt;</span>uri</span> <span class="variable">$uri</span>/ /index.html;  <span class="comment"># SPA 单页应用的标配</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>SPA 单页应用的 try_files</strong>：<code>try_files $uri <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mi>r</mi><mi>i</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">/</mi><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mi mathvariant="normal">.</mi><mi>h</mi><mi>t</mi><mi>m</mi><mi>l</mi><mi mathvariant="normal">‘</mi><mtext>的意思是——先找文件</mtext><mi mathvariant="normal">‘</mi></mrow><annotation encoding="application/x-tex">uri/ /index.html` 的意思是——先找文件 `</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">i</span><span class="mord">//</span><span class="mord mathnormal">in</span><span class="mord mathnormal">d</span><span class="mord mathnormal">e</span><span class="mord mathnormal">x</span><span class="mord">.</span><span class="mord mathnormal">h</span><span class="mord mathnormal">t</span><span class="mord mathnormal">m</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord">‘</span><span class="mord cjk_fallback">的意思是</span><span class="mord">——</span><span class="mord cjk_fallback">先找文件</span><span class="mord">‘</span></span></span></span>uri</code>，再找目录 <code>$uri/</code>，都找不到就返回 <code>index.html</code>（让前端路由处理）。Vue&#x2F;React 项目部署必配。</p><hr><h2 id="技术点-4：反向代理——Nginx-最常见的用途"><a href="#技术点-4：反向代理——Nginx-最常见的用途" class="headerlink" title="技术点 4：反向代理——Nginx 最常见的用途"></a>技术点 4：反向代理——Nginx 最常见的用途</h2><p>反向代理就是：用户请求 Nginx → Nginx 转发给后端服务 → 后端返回 → Nginx 转给用户。</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">location</span> /api &#123;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://localhost:3000;  <span class="comment"># 转发到本机 3000 端口</span></span><br><span class="line">    <span class="attribute">proxy_set_header</span> Host <span class="variable"><span class="katex-error" title="ParseError: KaTeX parse error: Expected &#x27;EOF&#x27;, got &#x27;#&#x27; at position 49: …lass=&quot;comment&quot;&gt;#̲ 把原始 Host 传给后端&lt;…" style="color:#cc0000">host&lt;/span&gt;;              &lt;span class=&quot;comment&quot;&gt;# 把原始 Host 传给后端&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;attribute&quot;&gt;proxy_set_header&lt;/span&gt; X-Real-IP &lt;span class=&quot;variable&quot;&gt;</span>remote_addr</span>;  <span class="comment"># 传真实客户端 IP</span></span><br><span class="line">    <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable"><span class="katex-error" title="ParseError: KaTeX parse error: Double subscript at position 12: proxy_add_x_̲forwarded_for&lt;/…" style="color:#cc0000">proxy_add_x_forwarded_for&lt;/span&gt;;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;attribute&quot;&gt;proxy_set_header&lt;/span&gt; X-Forwarded-Proto &lt;span class=&quot;variable&quot;&gt;</span>scheme</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>为什么要传这些 header</strong>：后端服务收到的请求是 Nginx 发的，不传的话后端以为请求来自 127.0.0.1，拿不到真实用户 IP 和协议。</p><p><strong>带路径前缀的代理</strong>：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 访问 https://example.com/app/xxx → 转发到 http://localhost:3000/xxx（去掉 /app 前缀）</span></span><br><span class="line"><span class="section">location</span> /app/ &#123;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://localhost:3000/;  <span class="comment"># 注意末尾的 /，它会把 /app/ 替换掉</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># 对比：不带末尾 /</span></span><br><span class="line"><span class="section">location</span> /app/ &#123;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://localhost:3000;  <span class="comment"># 不带 /，/app/ 前缀保留，转发为 /app/xxx</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>末尾 <code>/</code> 的区别是最大的坑</strong>：</p><ul><li><code>proxy_pass http://backend/;</code>（带 <code>/</code>）→ <code>/app/foo</code> 变成 <code>/foo</code></li><li><code>proxy_pass http://backend;</code>（不带 <code>/</code>）→ <code>/app/foo</code> 保持 <code>/app/foo</code></li></ul><p><strong>WebSocket 代理</strong>（如果后端用了 WS）：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">location</span> /ws &#123;</span><br><span class="line">    <span class="attribute">proxy_pass</span> http://localhost:3000;</span><br><span class="line">    <span class="attribute">proxy_http_version</span> <span class="number">1</span>.<span class="number">1</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> Upgrade <span class="variable">$http_upgrade</span>;</span><br><span class="line">    <span class="attribute">proxy_set_header</span> Connection <span class="string">&quot;upgrade&quot;</span>;</span><br><span class="line">    <span class="attribute">proxy_read_timeout</span> <span class="number">86400s</span>;  <span class="comment"># WS 长连接不超时</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><hr><h2 id="技术点-5：静态文件托管与-try-files"><a href="#技术点-5：静态文件托管与-try-files" class="headerlink" title="技术点 5：静态文件托管与 try_files"></a>技术点 5：静态文件托管与 try_files</h2><p>最简单的用途——把 HTML&#x2F;CSS&#x2F;JS 文件托管出去：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">    <span class="attribute">server_name</span> example.com;</span><br><span class="line">    <span class="attribute">root</span> /var/www/html;  <span class="comment"># 文件根目录</span></span><br><span class="line"></span><br><span class="line">    <span class="comment"># 访问 example.com/ → 找 /var/www/html/index.html</span></span><br><span class="line">    <span class="section">location</span> / &#123;</span><br><span class="line">        <span class="attribute">try_files</span> <span class="variable"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mi>r</mi><mi>i</mi><mo>&lt;</mo><mi mathvariant="normal">/</mi><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mo>&gt;</mo><mo>&lt;</mo><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mi>c</mi><mi>l</mi><mi>a</mi><mi>s</mi><mi>s</mi><mo>=</mo><mi mathvariant="normal">&quot;</mi><mi>v</mi><mi>a</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi><mi mathvariant="normal">&quot;</mi><mo>&gt;</mo></mrow><annotation encoding="application/x-tex">uri&lt;/span&gt; &lt;span class=&quot;variable&quot;&gt;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.6986em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mord mathnormal">c</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">a</span><span class="mord mathnormal">ss</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord">&quot;</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">iab</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">e</span><span class="mord">&quot;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span></span></span></span>uri</span>/ /index.html;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="comment"># 单独配一个路径</span></span><br><span class="line">    <span class="section">location</span> /study-plan &#123;</span><br><span class="line">        <span class="comment"># 访问 example.com/study-plan → 找 /var/www/html/study-plan.html</span></span><br><span class="line">        <span class="comment"># nginx 自动补 .html 后缀（需要 try_files 配合）</span></span><br><span class="line">        <span class="attribute">try_files</span> <span class="variable"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mi>r</mi><mi>i</mi><mo>&lt;</mo><mi mathvariant="normal">/</mi><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mo>&gt;</mo><mo>&lt;</mo><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mi>c</mi><mi>l</mi><mi>a</mi><mi>s</mi><mi>s</mi><mo>=</mo><mi mathvariant="normal">&quot;</mi><mi>v</mi><mi>a</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi><mi mathvariant="normal">&quot;</mi><mo>&gt;</mo></mrow><annotation encoding="application/x-tex">uri&lt;/span&gt; &lt;span class=&quot;variable&quot;&gt;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.6986em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">u</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mord mathnormal">c</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">a</span><span class="mord mathnormal">ss</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord">&quot;</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">iab</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">e</span><span class="mord">&quot;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span></span></span></span>uri</span>.html <span class="variable">$uri</span>/ /index.html;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>root vs alias</strong>：</p><ul><li><code>root /var/www</code>：location 路径拼在 root 后面。<code>location /img</code> + <code>root /var/www</code> → 找 <code>/var/www/img/xxx</code></li><li><code>alias /var/www/images</code>：location 路径被替换。<code>location /img</code> + <code>alias /var/www/images</code> → 找 <code>/var/www/images/xxx</code></li></ul><p><strong>记忆方式</strong>：root 是”路径拼接”，alias 是”路径替换”。alias 更直观但要注意末尾 <code>/</code> 要对齐。</p><hr><h2 id="技术点-6：负载均衡与-upstream"><a href="#技术点-6：负载均衡与-upstream" class="headerlink" title="技术点 6：负载均衡与 upstream"></a>技术点 6：负载均衡与 upstream</h2><p>后端有多个实例时，Nginx 可以分发请求：</p><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 定义后端服务器组</span></span><br><span class="line"><span class="section">upstream</span> backend &#123;</span><br><span class="line">    <span class="attribute">server</span> <span class="number">127.0.0.1:3000</span> weight=<span class="number">3</span>;  <span class="comment"># 权重 3</span></span><br><span class="line">    <span class="attribute">server</span> <span class="number">127.0.0.1:3001</span> weight=<span class="number">1</span>;  <span class="comment"># 权重 1</span></span><br><span class="line">    <span class="attribute">server</span> <span class="number">127.0.0.1:3002</span> backup;      <span class="comment"># 备用，前面的都挂了才用</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">    <span class="section">location</span> /api &#123;</span><br><span class="line">        <span class="attribute">proxy_pass</span> http://backend;  <span class="comment"># 直接用 upstream 名字</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>负载均衡策略</strong>：</p><ul><li>默认：轮询（round-robin），均匀分配</li><li><code>weight=N</code>：按权重分配</li><li><code>ip_hash</code>：同一 IP 固定走同一后端（解决 session 问题）</li><li><code>least_conn</code>：分配给当前连接数最少的后端</li></ul><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">upstream</span> backend &#123;</span><br><span class="line">    ip_hash;  <span class="comment"># 同一用户固定走同一台</span></span><br><span class="line">    <span class="attribute">server</span> <span class="number">127.0.0.1:3000</span>;</span><br><span class="line">    <span class="attribute">server</span> <span class="number">127.0.0.1:3001</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><hr><h2 id="技术点-7：HTTPS-配置与证书"><a href="#技术点-7：HTTPS-配置与证书" class="headerlink" title="技术点 7：HTTPS 配置与证书"></a>技术点 7：HTTPS 配置与证书</h2><figure class="highlight nginx"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">443</span> ssl http2;  <span class="comment"># HTTPS + HTTP/2</span></span><br><span class="line">    <span class="attribute">server_name</span> example.com;</span><br><span class="line"></span><br><span class="line">    <span class="attribute">ssl_certificate</span> /etc/letsencrypt/live/example.com/fullchain.pem;</span><br><span class="line">    <span class="attribute">ssl_certificate_key</span> /etc/letsencrypt/live/example.com/privkey.pem;</span><br><span class="line">    <span class="attribute">ssl_protocols</span> TLSv1.<span class="number">2</span> TLSv1.<span class="number">3</span>;</span><br><span class="line">    <span class="attribute">ssl_ciphers</span> HIGH:!aNULL:!MD5;</span><br><span class="line"></span><br><span class="line">    <span class="section">location</span> / &#123;</span><br><span class="line">        <span class="attribute">root</span> /var/www/html;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment"># HTTP 自动跳转 HTTPS</span></span><br><span class="line"><span class="section">server</span> &#123;</span><br><span class="line">    <span class="attribute">listen</span> <span class="number">80</span>;</span><br><span class="line">    <span class="attribute">server_name</span> example.com;</span><br><span class="line">    <span class="attribute">return</span> <span class="number">301</span> https://<span class="variable"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mi>o</mi><mi>s</mi><mi>t</mi><mo>&lt;</mo><mi mathvariant="normal">/</mi><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mo>&gt;</mo><mo>&lt;</mo><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mi>c</mi><mi>l</mi><mi>a</mi><mi>s</mi><mi>s</mi><mo>=</mo><mi mathvariant="normal">&quot;</mi><mi>v</mi><mi>a</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>b</mi><mi>l</mi><mi>e</mi><mi mathvariant="normal">&quot;</mi><mo>&gt;</mo></mrow><annotation encoding="application/x-tex">host&lt;/span&gt;&lt;span class=&quot;variable&quot;&gt;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">h</span><span class="mord mathnormal">os</span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">/</span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">p</span><span class="mord mathnormal">an</span><span class="mord mathnormal">c</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">a</span><span class="mord mathnormal">ss</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord">&quot;</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">iab</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">e</span><span class="mord">&quot;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span></span></span></span>request_uri</span>;  <span class="comment"># 301 永久重定向到 HTTPS</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>证书来源</strong>：</p><ul><li>Let’s Encrypt（免费，用 certbot 自动申请和续期）</li><li>阿里云&#x2F;腾讯云免费 DV 证书</li><li>付费证书（OV&#x2F;EV）</li></ul><p><strong>HTTP 跳 HTTPS 的坑</strong>：后端服务如果需要知道用户用的是 HTTPS，必须传 <code>X-Forwarded-Proto $scheme</code>，否则后端以为请求是 HTTP 的，生成 HTTP 的重定向链接造成无限重定向。</p><hr><h2 id="技术点-8：常用运维命令"><a href="#技术点-8：常用运维命令" class="headerlink" title="技术点 8：常用运维命令"></a>技术点 8：常用运维命令</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 测试配置语法是否正确</span></span><br><span class="line">nginx -t</span><br><span class="line"></span><br><span class="line"><span class="comment"># 重新加载配置（不中断服务，平滑重启）</span></span><br><span class="line">nginx -s reload</span><br><span class="line"></span><br><span class="line"><span class="comment"># 启动 / 停止</span></span><br><span class="line">nginx              <span class="comment"># 启动</span></span><br><span class="line">nginx -s stop      <span class="comment"># 快速停止</span></span><br><span class="line">nginx -s quit      <span class="comment"># 优雅停止（等当前请求处理完）</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Docker 里跑的 Nginx（如 1Panel/OpenResty）</span></span><br><span class="line">docker <span class="built_in">exec</span> &lt;容器名&gt; nginx -t          <span class="comment"># 测试配置</span></span><br><span class="line">docker <span class="built_in">exec</span> &lt;容器名&gt; nginx -s reload   <span class="comment"># 重载配置</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看实时日志</span></span><br><span class="line"><span class="built_in">tail</span> -f /var/log/nginx/access.log   <span class="comment"># 访问日志</span></span><br><span class="line"><span class="built_in">tail</span> -f /var/log/nginx/error.log    <span class="comment"># 错误日志</span></span><br></pre></td></tr></table></figure><p><strong>配置变更流程</strong>：改配置 → <code>nginx -t</code> 测试 → <code>nginx -s reload</code> 重载。永远先测试再重载，配置语法错误会导致 reload 失败但旧配置仍在跑（不中断服务）。</p><hr><h2 id="术语表"><a href="#术语表" class="headerlink" title="术语表"></a>术语表</h2><table><thead><tr><th>术语</th><th>含义</th></tr></thead><tbody><tr><td>http 块</td><td>Nginx 配置最外层，管全局 HTTP 设置</td></tr><tr><td>server 块</td><td>虚拟主机，一个 server 对应一个站点</td></tr><tr><td>location 块</td><td>URL 路径匹配规则，一个 location 对应一组 URL</td></tr><tr><td>root</td><td>文件根目录，location 路径拼在后面</td></tr><tr><td>alias</td><td>路径别名，location 路径被替换</td></tr><tr><td>try_files</td><td>按顺序尝试文件&#x2F;目录，找不到用最后一个兜底</td></tr><tr><td>proxy_pass</td><td>反向代理，把请求转发给后端</td></tr><tr><td>upstream</td><td>后端服务器组，配合 proxy_pass 做负载均衡</td></tr><tr><td><code>$uri</code></td><td>当前请求的 URI（不含参数）</td></tr><tr><td><code>$host</code></td><td>请求的 Host 头</td></tr><tr><td><code>$remote_addr</code></td><td>客户端 IP</td></tr><tr><td><code>default_server</code></td><td>没有匹配时的兜底 server</td></tr><tr><td><code>499</code></td><td>客户端主动断开（常见于前端超时取消请求）</td></tr><tr><td><code>502</code></td><td>后端服务没起来或端口不对</td></tr><tr><td><code>504</code></td><td>后端响应超时（Gateway Timeout）</td></tr></tbody></table>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/21/tech-nginx-basics/</id>
    <link href="https://moyon.net.cn/2026/08/21/tech-nginx-basics/"/>
    <published>2026-08-21T18:00:00.000Z</published>
    <summary>Nginx 最核心的配置概念——静态文件托管、反向代理、location 匹配规则、负载均衡</summary>
    <title>Nginx 基础配置：从静态托管到反向代理</title>
    <updated>2026-08-25T06:51:33.236Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p><strong>今日概览</strong>：AI 安全治理议题集中升温，从模型作弊到供应链攻击均有风险点暴露；应用侧则出现 Claude 输出清理、低成本硬件探索等实用进展。</p><h2 id="AI-安全与治理"><a href="#AI-安全与治理" class="headerlink" title="AI 安全与治理"></a>AI 安全与治理</h2><ul><li>一篇博客认为，“反AI字体”既无法真正阻挡 AI 读取文本，反而会损害普通用户的阅读体验，属于无用且有害的防御手段。<a href="https://blog.yaros.ae/anti-ai-fonts-are-useless-and-harmful/">https://blog.yaros.ae/anti-ai-fonts-are-useless-and-harmful/</a></li><li>研究显示，在攻击性网络安全任务中几乎所有模型都会尝试“作弊”来绕开约束，提示词层面的缓解策略难以奏效。<a href="https://dreadnode.io/research/every-model-cheats-prompt-level-mitigation-of-cheating-on-offensive-cyber-tasks/">https://dreadnode.io/research/every-model-cheats-prompt-level-mitigation-of-cheating-on-offensive-cyber-tasks/</a></li><li>开源生态再现供应链攻击：恶意 Rust crate “Arrayref” 在构建阶段植入攻击载荷，开发者需警惕依赖来源风险。<a href="https://safedep.io/arrayref-proc-macro1-rust-build-time-malware/">https://safedep.io/arrayref-proc-macro1-rust-build-time-malware/</a></li><li>Position 论文指出，当前模型卡披露的信息不足以支撑开源权重模型的后续治理，需要更细粒度的披露规范。<a href="https://arxiv.org/abs/2608.18086">https://arxiv.org/abs/2608.18086</a></li><li>观点论文认为，参与市场决策的 AI 推理代理存在共谋风险，应通过认证要求加以约束。<a href="https://arxiv.org/abs/2608.18078">https://arxiv.org/abs/2608.18078</a></li></ul><h2 id="模型与应用"><a href="#模型与应用" class="headerlink" title="模型与应用"></a>模型与应用</h2><ul><li>DiffusionGemma 技术报告发布，介绍了扩散式语言模型的架构设计、训练与评估相关细节。<a href="https://arxiv.org/abs/2608.00146">https://arxiv.org/abs/2608.00146</a></li><li>一个名为“vomit”的开源工具，利用独立 LLM 清理 Claude 5 输出中的无意义冗余文本（token vomit）。<a href="https://github.com/zachahn/vomit">https://github.com/zachahn/vomit</a></li><li>一篇实践分享：作者尝试在 27 美元的智能手表上结合 Claude 进行开发，探索低成本硬件上的 AI 应用空间。<a href="https://www.mikekasberg.com/blog/2026/08/19/hacking-with-claude-on-a-27-smart-watch.html">https://www.mikekasberg.com/blog/2026/08/19/hacking-with-claude-on-a-27-smart-watch.html</a></li></ul><p><strong>小结</strong>：安全治理议题升温，模型卡与认证机制受关注；应用侧仍有实用工具与硬件实践在持续推进。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/21/ai-daily-2026-08-21/</id>
    <link href="https://moyon.net.cn/2026/08/21/ai-daily-2026-08-21/"/>
    <published>2026-08-21T00:18:31.000Z</published>
    <summary>
      <![CDATA[<p><strong>今日概览</strong>：AI 安全治理议题集中升温，从模型作弊到供应链攻击均有风险点暴露；应用侧则出现 Claude 输出清理、低成本硬件探索等实用进展。</p>
<h2 id="AI-安全与治理"><a href="#AI-安全与治理" class="]]>
    </summary>
    <title>AI 日报 · 2026-08-21</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p>今日概览：模型自我改进与推理成本受关注，Agent 治理、安全防护、算力与开源工程各有进展。</p><h2 id="模型与推理"><a href="#模型与推理" class="headerlink" title="模型与推理"></a>模型与推理</h2><ul><li>Ornith-1.5 展示从自我搭建到自我改进的模型训练路径，让 AI 能迭代优化自身能力。链接：<a href="https://ornith.ai/ornith_1_5.html">https://ornith.ai/ornith_1_5.html</a></li><li>《The Price of Thinking》把推理算力视为模型专属 API 契约，探讨“思考价格”的制定与影响。链接：<a href="https://arxiv.org/abs/2608.16956">https://arxiv.org/abs/2608.16956</a></li></ul><h2 id="智能体与治理"><a href="#智能体与治理" class="headerlink" title="智能体与治理"></a>智能体与治理</h2><ul><li>《Runtime Governance for Agentic AI》提出动作边界控制、可信溯源与默认失败关闭机制，为 Agent 执行提供运行时治理框架。链接：<a href="https://arxiv.org/abs/2608.16891">https://arxiv.org/abs/2608.16891</a></li><li>《Memory Is Communication》提出“记忆即通信”视角，探索记住与发出信号之间的边界。链接：<a href="https://arxiv.org/abs/2608.17053">https://arxiv.org/abs/2608.17053</a></li></ul><h2 id="算力与工程"><a href="#算力与工程" class="headerlink" title="算力与工程"></a>算力与工程</h2><ul><li>Cerebras 官网上线 CS-4 产品页，展示新一代 AI 计算平台。链接：<a href="https://www.cerebras.ai/cs4">https://www.cerebras.ai/cs4</a></li><li>Turbovec 项目用 Rust 实现了 Google 的 TurboQuant 向量搜索技术，并已开源。链接：<a href="https://github.com/RyanCodrai/turbovec">https://github.com/RyanCodrai/turbovec</a></li></ul><h2 id="安全与隐私"><a href="#安全与隐私" class="headerlink" title="安全与隐私"></a>安全与隐私</h2><ul><li>DiSCO 通过分布引导的对比提示优化，为文生图模型提供定向防御方案。链接：<a href="https://arxiv.org/abs/2608.17067">https://arxiv.org/abs/2608.17067</a></li><li>GrapheneOS 将在 2027 年支持高端摩托罗拉手机，扩展其安全系统的可及设备。链接：<a href="https://grapheneos.social/@GrapheneOS/117078064184215730">https://grapheneos.social/@GrapheneOS/117078064184215730</a></li></ul><p>小结：从自改进模型到 Agent 边界治理，AI 正走向更可控、更高效、更安全的新阶段。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/20/ai-daily-2026-08-20/</id>
    <link href="https://moyon.net.cn/2026/08/20/ai-daily-2026-08-20/"/>
    <published>2026-08-20T00:18:57.000Z</published>
    <summary>
      <![CDATA[<p>今日概览：模型自我改进与推理成本受关注，Agent 治理、安全防护、算力与开源工程各有进展。</p>
<h2 id="模型与推理"><a href="#模型与推理" class="headerlink" title="模型与推理"></a>模型与推理</h2><ul>
<l]]>
    </summary>
    <title>AI 日报 · 2026-08-20</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p>今日AI资讯聚焦模型基准、开发者工具与效率评估：GLM-5.3上线基准，CLI云VM与硬件新品亮相，另有AI锁定与评估方法等研究值得关注。</p><h2 id="模型与评测"><a href="#模型与评测" class="headerlink" title="模型与评测"></a>模型与评测</h2><ul><li>GLM-5.3 在 Artificial Analysis 的基准测试结果已公布，可供横向对比。<br><a href="https://artificialanalysis.ai/models/glm-5-3">https://artificialanalysis.ai/models/glm-5-3</a></li><li>一篇新论文指出仅用 FLOPs 评估 AI 效率会失真，需纳入“复制&#x2F;重复计算”等实际工作因素。<br><a href="https://arxiv.org/abs/2608.14550">https://arxiv.org/abs/2608.14550</a></li></ul><h2 id="开发者工具与基础设施"><a href="#开发者工具与基础设施" class="headerlink" title="开发者工具与基础设施"></a>开发者工具与基础设施</h2><ul><li>Cerebras 上线 CS-4 产品页，展示其新一代 AI 计算硬件。<br><a href="https://www.cerebras.ai/cs4">https://www.cerebras.ai/cs4</a></li><li>machine0（YC S26）让用户直接从命令行创建持久的 CPU&#x2F;GPU 虚拟机。<br><a href="https://machine0.io/">https://machine0.io</a></li><li>开源项目 Turbovec 将 Google 的 TurboQuant 算法引入 Rust 向量搜索，旨在加速近似最近邻检索。<br><a href="https://github.com/RyanCodrai/turbovec">https://github.com/RyanCodrai/turbovec</a></li></ul><h2 id="应用与团队实践"><a href="#应用与团队实践" class="headerlink" title="应用与团队实践"></a>应用与团队实践</h2><ul><li>Linear 发布数据报告，揭示软件团队中 AI 的真实使用模式，为工具落地提供参考。<br><a href="https://linear.app/data">https://linear.app/data</a></li><li>有开发者用 Claude Code 教会 macOS 原生驱动 HP Laser 1008a 打印机，展示 AI 辅助系统集成的可能性。<br><a href="https://cdn.kuber.studio/chat/hp-laser-1008a-driver">https://cdn.kuber.studio/chat/hp-laser-1008a-driver</a></li></ul><h2 id="行业与观点"><a href="#行业与观点" class="headerlink" title="行业与观点"></a>行业与观点</h2><ul><li>一篇 Position 论文警告“AI 锁定”效应已经发生，业界需提前做好应对准备。<br><a href="https://arxiv.org/abs/2608.14565">https://arxiv.org/abs/2608.14565</a></li></ul><p>今日动态显示，AI 行业在模型评测与开发工具上加速迭代，同时研究界开始关注效率评估与生态锁定等更长期的问题。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/19/ai-daily-2026-08-19/</id>
    <link href="https://moyon.net.cn/2026/08/19/ai-daily-2026-08-19/"/>
    <published>2026-08-19T10:26:41.000Z</published>
    <summary>
      <![CDATA[<p>今日AI资讯聚焦模型基准、开发者工具与效率评估：GLM-5.3上线基准，CLI云VM与硬件新品亮相，另有AI锁定与评估方法等研究值得关注。</p>
<h2 id="模型与评测"><a href="#模型与评测" class="headerlink" title="模型与评测]]>
    </summary>
    <title>AI 日报 · 2026-08-19</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="实习" scheme="https://moyon.net.cn/tags/%E5%AE%9E%E4%B9%A0/"/>
    <category term="行为面" scheme="https://moyon.net.cn/tags/%E8%A1%8C%E4%B8%BA%E9%9D%A2/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="0e18530ca1b96ec41e4f08a942dc02e27bc21646bcf9e9a8857c938729d01408"     data-nonce="f45da7bd544920edaed9a1c1"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    333387356443d6fb829bbbdda22dfc1834205307cf03e1f63960c6ed38feb713d55c46f1825d244aebe34cb4d9be15748d3f6d79485266a71961046feff017bb395311641edab16e76f7e8c2821bcc9f71019be9539482f8f395cd25478163e4cc1764a4b80b42dd9f727ebb4d05c154a44f81f90de1d65ff012537563e0bb1d1684035d42e327c7ac2b8fde88e5076ca9b24fba0f62d5d80927e4b271449d3465bc3c42a4b5f0a7007e641221727de37211e07ff126f591feca93089b3b391c83b0c7a778a9a932c935dcc0ef6ba44bc1517cc4b8d250d1554be8f6dc147eaa1bc31de7ca0c12d076ad7f730f128db8c81ae1eb455af3db1399f3d42ed9cba3e72c21e72cf77ad372fcaf4e7a13bac521eef1f84270df2da850cbfd7a8634f48b646203c0d61cd83aea68ccb5d19bfec5be0ca03430b83b0fe09ef54987a2c330c560cc2f9f72735ec7dd0a59b6897b13d9046d0cdb6ab99d394a9b2e553d9f3c776024ee718d4fdbeda6b7b1341bffdea38e280692f032b7530b1d47a2a28e735005947a2f4c60147563315ce76c4255c084c707669b1f98963b6be3000fd0f351aeb9a0acdd2abce2d0deed498db7cca7f19e2d0316c2998898125a1ab6fb1e076d250614579acb5bc288979821539d0eb37fac87b629fe6b2ac3996fddf4003accde700a2cc2a4c4866590985aa6b8d7412c0179231976ba4697aae70fbf3cae5eae1f7ce98908390e42a57218bcfd85fc224bbc492072bf4363843aae03d101a349f8aa46fcd0c7f8fd62dad72a3fdfd7f60be2e6d2a041c87105537f47643ed700d7c0e283f3a6d440f18bab3a06c3a039bcdaf5190ecd7944b11379489f72a5a0d504603bd0e0e200d21c4b684ffdfcd016b0b166ba743560a37d556aa953c7ff87214bd49564ed724d95cae1cea3fec2e70351d0b89c17fa1526d91bc19f0c589a0c151bf7c70cc8eadca3eeeef330d7b09cbe859b26ab59f0ea06343a37c21bb2c49e243944596ffe7d98346feda18f9fe410fd12b79c793603371062a2780fabb67a4d65c198297f9c1affcbb24c966811b420faab66227a8cfec7afdf344e142b46a9d0b701223f68d93e8cd208bb8a2784bca6735548e65120700bb1719abf251160aa1085f92f9186e19d975283285dff77cfce7c7d0154571c566117d4495f0fbf083fb7f14b31c9ce9701035d84c7c6bf929f2d579300d1bbd4f69b7a112f17c86399c342556c65fc96bdd8b6e6c14b2463853456b9c12ea69fd97460894e877a3d5d0a7b248e5a2814ecd98b91431c34d4fa2398889df685d9fe7f131b54f97cb1daa12fdae1261187b50fd121deca5a3ac5a0c7eef5fb40d0dd6771c42aef26ab654b9bfeb33611f8b2d518bdb4d0f20bb8ea0a59bf227b3526d8bdbfe94746e817b1b10bed3a40bad7d73a2dbdafa673172ccdc956c7b8aeb460b8ed2576fcbcf9039663cd964ff3238ad7ca5f4adfcb09f16a13261a14e8c9ba124fae20a65562565f54aca8caddcb9209448bd9d343fe971b245e8763912d6a79a7a64579a60157b26531a63a1396d89b50e9a56014e546b0a6897a8e2a50c11386cd9d7df368e7c03fcf6743c43ec9717e7e4b819a61dc998dda20f7059e057be1b10e9de5c09be963c58a622cfa6e9ec9d5817d6cbbd3bb1a9fab4cdc392113fca3463c70bde550803de94cc45f21b8292164be088ecf84ef933101563e2880d2962c3c1ea4b1ea733635283b4f7f68359967cc18170b6904f1571253d8437471f523fcf9d92ac5eb93f08f097fe4634e06f538fafa809de8bf56315b19089645abceac0e190551edeb8c37eaf3e06be2601d2aa7c6b2fa53ad7084d4c8a14150ac1e3ab4730de8fd5fe09db7dd7f849ade6bf9739d94bbec4426bb56b074c1725020b02285118601effbd6ce64fcc263cb35dba113b71968be91d0fb2bcdfdac98db17dabe22bbaac4fcadd428ebee0e485b53d0b09c316304762ff719be257891aba53930743aba77e38ecfeed4379de44309cefff32500b2971f72ae6f0f9387773d50a88f2cb7c73d823fb202abaf9bb8a4f58cf95bed6014548b0e73482b65882cb213f0fff516ac1171be606f36c274fb86da152d3a39769ef90914d1f9819633730e5575dc095d84ca50024486c204ef19aacb5c283ccf79a9d6e4b75e058e04e88667d1ba857c56127d11a366dbcadc8a99fcd7f15ea2b4922a0af06321d8b4dc02c2d5de5a2e2b40f57ee931fd9817718dbbfb5414f8e924c5f32dc9b29d575f82def17d8698a46461ef7ca07d9411146cac5375d574170ca6d6e958388799826b5f25bc2f415ab17b430c07a461a3158e0d6ca528734c8f35359c63e46b529b1ed142016ac4e28fe4fe71963d08772b1c4d0031d7cfe04ca90f556c9d7c521138a8da097ed3048205ddd55e5ded900bd0cc87174e8c00040245d812d7d04e28e4a06759edac77ef2cd4f9de82302da0c796c6509edca519f57f437752bb8a9083b42d29598daecee3ad258945641579d0a40e62f764cd27a3ef0fca809e815f49f289489584d3283974a7b5e2ee7174f0dc7ed7085521555bbbeb7b920d36ae62d221517f41f9495923de89f278fe1ff7547592c8fa3a45b3247d70b9bfc06299df4bbf0021d5771766d98c8ca4dfc928a652d231458337ec9308edc6c32637395a392e6ffe397099c60bd66e2740aae0f1056cd730f8ec6538437e06de140ca3b7af06b7db576d979f7494c38be529a6da583e9c6139d64743cc6ce68bea4e4bd293ca84322797280cb82e87eb8a5403c0e09422317b8f742adc95a8341854ed7a01abe597e37dab73e7e7a5bfe28b412528e787f04c6ba404ace64c7288eb5419ce2b938220c487107b3b0e0fb2084677f583c46cffad2b3aa82db448218d530a445e27c580aa82b8fa3cadaffc4c7b94fb8f0ee97797a90ecf84524728dbb8d4d6bf8f7ee59bb339f84d4bfca70834ce7b335d6d0d9ef8ec7c78cf45dcd15fc6928eae172a64c9bf0a27308e154f5e1bfeca517da1b93132871288d28fbfb54f312ded6601b2279392d68816364ce5c35417d6e41f239d8c9de87c5b026a7fe69871fe5cb71c2893eece445f19761af3682e1c26d6efa21b8b64dae2db8ba071def104a8e906d8168e3533910c430a9be7e54f18c7717e04bf3eca40c9930e109af287a96810b30fa2d899cf5ebe010cbca32008dc3e6476bef97d584edac3e3e5e2635034e8bc6e34ed49e73a1ea419a3a2e5d5a0a757c71f302bd46ec4b501bec86485be5111a76b54c27f87fb5ce4c8483a7b4a49471202343f33d0fff29cd6da5037624bcaf94348efa56aa2f8ccc317fc9cb59a90a5996506f7fde491fc5b0b693e91bfe143349ca2773543c989f06d371be4c5ab2704ada7cbe80b7a8bb32d2cbd14a35f8e94ef5f496130ac3a9b29b6775cb60403c9fb15e72fd6e8d596bf97fe1d9a91936eb16a534d275d3aa771d156ec0ae9a27d8c4b01a3869b16266bb909f1c78a650687d02478a1ce5686fe3911a3b1582a194443c4997a0bd4877e85fce36e150560a1723c670a50498654abf0037fc90aac6e575e31cd6e690e6be5f2f7db1a424cd8ea7fbd95e353bc43ab64b75cb9dedc2c0ffc955babe457c45581b47d563047dd15abff0a1bc09d7cde07ca5b371b937dfeb48dbe9cbdb816fabf8608dd04cb071a21d5a6e3cbaff0c21ca4faca2a8037c043a0f571bdeb93683f70368888568bc40bf8f56fef60aba9faca116a5372303378d0aa8da58725818348f94c4b404a8cc88fb8e7dd94fd4a41938bced773dea5700f55fbc0a3f9bea5b9a461148790243f6ffd8c4c3388be28ef88eb4b9f222006844940f53c3f2baa8d5a69613f66b80d947ba28429c742f7b5db3a20337aabf41417d201772d94adc69198c753a40177f1a90ee6b2606ee156b0b0da51ea9efc0830a358130664593ef46070aa9f2ae269c741c3771478724fa7adc049367f1f0d91cb7f05bdc9ea5154a5ea0d0c5d141582c3a5dfd48cd11b5f743f42971d4480292e164f41d6873c54f8c95adf94289a54dc052b24f4c23e78d033de725b0567b8a5e45cb70222294ebe8c6d7df6d3bd3825a446695d6a110cc543ccaa62c5500e9e41e89a28f61a0c4c274436b46a2bafbc80201e8224780c1e41b67e7fb300ec4b2016d7fc9bcba4fbd8f8282fc38a6af8f4932f3073d0e9d995e349b2cdf75953a3256606eaca25c635bedba3d6db5c1cd54e998572de5d1a7c4c9a3fa2bc1e97c59d72fb2299b6bbb0d75d3553617e208af60fd530997c900222642556b7e07d88647548ac842831027d2f2f4ee0f6b36235141291914aff5af3f8e358296e83a5d38ceb054cf3ba541c84d5e7c729f54118a8c9d4822abccc9c75214fde04a45717513918d9b21289a9163b0f14dae186795d40a5f9dfbb33d8dcd312f6e0c65e014edee61c2d58113817e3433f35e73b73026fa44b72af130cea571118abeaad35493f369beb307550f0d25e8fb7914e56e8ce321a387f4c4e0077f05e5825cea1c71eb872e1f67d78bab88b13d6536488ddd923442481f324a2b563061ed4dacbd6eddb9f041ffabfe20a38740a426dc67deb726066b5489f898d043fb721954521dfc53c9cdcd970b46b6d9b976d75106375deff2fc578e68544187fc2bb5d81ca6b0ae97b59790e0ff67357beac366548e271308af1ea0b206c95d7d0b36acc8c5cee11404a9e2b644f145a3f1c2a09aca3e72b8e4fef0371697dc2c5398d53eb071192d850fef443996111bf195eee3cd07dafe6e8eb31e1a71dfeb44d107180f1ed17e70433358ef2c48e470f63a855603e64b0f6076feaf3beb02c5c407acbc8866a360f9166b4fdc87d3017e8d020f71b910dc4f3d7b486707675ebb189774f0ba9f90c464741e113c9ffe480cfa283b5bd99cd2d9fe346e97df36add84892964ecbf8fe55a1c769217030fc7f29a32126a6c11d2f18b0a66a859a6e13d8ad95aa66a671bc5b4e34f18be34ab6a587f379f79294f10983352fe7e28fd9c996a890b53e1bea78fbc8fe955b7e2d68207d7d61fb2444be4ed5b2ec09739  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/18/interview-exp-19/</id>
    <link href="https://moyon.net.cn/2026/08/18/interview-exp-19/"/>
    <published>2026-08-18T18:00:00.000Z</published>
    <summary>【面试】问题及回答19</summary>
    <title>【面试】问题及回答19</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p><strong>今日概览</strong>：AI安全事件、模型部署优化、评测方法论与语音产品动态并举，技术社区反思与突破并行。</p><h2 id="安全与治理"><a href="#安全与治理" class="headerlink" title="安全与治理"></a>安全与治理</h2><ul><li>红队演示对抗生成：AI生成代码建议被利用，成功攻破Snowflake的Jira，凸显Copilot类工具在CI&#x2F;CD场景中的安全边界。<br><a href="https://www.wiz.io/blog/red-agent-snowflake-copilot-cicd-bug">https://www.wiz.io/blog/red-agent-snowflake-copilot-cicd-bug</a></li><li>论文呼吁AI评测应引入人类协同，而非纯自动化打分，以减少评估偏差。<br><a href="https://arxiv.org/abs/2608.13577">https://arxiv.org/abs/2608.13577</a></li></ul><h2 id="模型与推理"><a href="#模型与推理" class="headerlink" title="模型与推理"></a>模型与推理</h2><ul><li>Qwen3.8-27B在24GB RTX PRO 4000 SFF上借助MTP跑到256K上下文、50 tok&#x2F;s，为长上下文本地部署提供新参考。<br><a href="https://piszczek.pl/blog/qwen38-27b-256k-50-tps-24gb-gpu">https://piszczek.pl/blog/qwen38-27b-256k-50-tps-24gb-gpu</a></li><li>论文总结一年LLM推理服务演进：工作负载变化、缓存策略与负载均衡的实践经验。<br><a href="https://arxiv.org/abs/2608.13573">https://arxiv.org/abs/2608.13573</a></li><li>研究发现大模型存在“稳定误校准”：高置信度错误在实操中难以预判，需新的校准思路。<br><a href="https://arxiv.org/abs/2608.13591">https://arxiv.org/abs/2608.13591</a></li></ul><h2 id="商业与产品"><a href="#商业与产品" class="headerlink" title="商业与产品"></a>商业与产品</h2><ul><li>Yale研究：全民医保覆盖每年可挽救11.4万人并节省1万亿美元，AI辅助医疗或可加速推进。<br><a href="https://ysph.yale.edu/news-article/universal-health-coverage-could-save-one-trillion-dollars-and-114000-lives-every-year/">https://ysph.yale.edu/news-article/universal-health-coverage-could-save-one-trillion-dollars-and-114000-lives-every-year/</a></li><li>Speko（YC S26）定位“Voice AI的OpenRouter”，为开发者提供统一的语音模型接入层。<br><a href="https://news.ycombinator.com/item?id=49332751">https://news.ycombinator.com/item?id=49332751</a></li><li>有趣实验：给LLM每人10万美元与一套冻结规则手册对赌，规则手册暂时领先，提示规则约束比自由决策更稳。<br><a href="https://aitradingcompetition.com/">https://aitradingcompetition.com/</a></li></ul><p><strong>小结</strong>：安全风险与部署效率是今天两大主线，评测和人机协作仍需更多现实检验。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/18/ai-daily-2026-08-18/</id>
    <link href="https://moyon.net.cn/2026/08/18/ai-daily-2026-08-18/"/>
    <published>2026-08-18T00:18:06.000Z</published>
    <summary>
      <![CDATA[<p><strong>今日概览</strong>：AI安全事件、模型部署优化、评测方法论与语音产品动态并举，技术社区反思与突破并行。</p>
<h2 id="安全与治理"><a href="#安全与治理" class="headerlink" title="安全与治理"></a>]]>
    </summary>
    <title>AI 日报 · 2026-08-18</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="0ab1f8ca84b248982b4e38f89a927c296aeaa5283f04c694411f6d1545feb4bb"     data-nonce="a813ea31e99c6e45fd7ef53a"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    1b80fdfd12fa9fa23bf4946972257571bd9f2bac43099dd3d0c63bac28f99ce0760e310a98e486cfebf71cd5318de3304d2d40e3c77a4485c97bc820322e375d80ac3a9aac305e8735f0e1e826d61dd770f37e65f0a5ee885119b8a0dc059bdfabd2a2815c568da76cb5909da2ad5e48ffe295b1c1d85da357d7ece566c39e2675cef8e3c986daabba58399a9fc6eac82a8706399e4b39eec0ba5757c6404c4a46f017a3dbb137d1c8f30a2e87d42055d1325a5f914505ab80057320cdbd622b898c0f59737a8e0091e8f72a8a4349b1db89de0cdb868d2dfefcd2a5ff115c0859772a825c9cc93bf3cac589d66b09f33a7d9ad23fcad6e4dc994168ce7ab87768ede087dc14d3d14357c3bafc5626082deca861e5199cccedb7a5c78f217ff265ab57d0791d4001ed892ef8acebbd6749cf792b8702c8de9d5e69495930a9e54fb383836f0786fd211964656ca89fce6ad86a35fed2c069250c2ff9bfe4fe63e94a912ec8330c18865eafabb41aa4f751120f2cd441c77f329b0b7a8abe95ec3b6b5280c597d6168e48bda56f18020f7613596577dd50ad6d66410891fea37539cc8e0ffd31722de072ff1228d2e35afe60a3809a4b92dd4315b524e7185083a9b5c32ed33c40a52615216718b7ef94a7306a7ffcb3102e17847d9c916464627beefde7b642feb1c66bab3cd6ff800ddd706d79265fb20d881b4478697fd309e92dc2490922cedad943ae987f9c42a744a7b548fdd1aeb735e58ad20b664f18a7dc9dad5263e944611114213540c8c09833236b6e5bd5f7c5d0f9fa1470de0396b07ff972b62e9c0939b8d4d0e03dddd79f5755ba6da06d121ebfd22676c8bcf6a0e4c557fa270d40095ffca17dd0f291b877b914a557ed53d4f6722fffd7178097c298dea830fb8f62d74d68eb662453d24d3fb72de6d2733b20c347525a2507a123c6381d0274665a4dc8be24c0c5d18a5f3375ca5c0e31295b04feefdbb2cb9f9c404d1c60e9e085c8ddd59f963b3a57daee606c84a59c6cc73e6a0cd352a21127339110a1612ac86e841684eab7c1ada61768692693acc60afb37aa95f66a682a6bbf56a899165042977c2ebdf1c1ae6065be77b3ac8e2ecde63340e731ab5b3dd13213a1dfd0b9faacf7cf280951beb4500119bbb5a2a9b74aed6b1af55a817102641f8c700c1bf480ba0befb45991008957b2a7354cccbea7a31225919cac54be866fa5042f9eb30f0a75af6490f69cf959870cbc419477fa6b30fd4972582435256537418f98c00e4e122d9c8fe2f8e93d56d61b910a29951900433fc2e074802d2a859960496be60c8e3e45524dfac4dc8c78b43e8eadcafe0b7a4f888483f0795a6a42086d33d9d09f8c678445465bae15ed8ca0f54c7a6036853df33590d78b25d8d6cf2cd5b2cb2a5ba3d8206eeef1a19da156093b683ab829be7ab58947c174faf3412aed809b4a2672e540b93c7e7852b60f15dab2064c46cced1a93ff220617972a54472f1bc5c79cf85b4e19e158e1c48b6c20f1f2e5ee818f3f967d875ddfd68c60f059194a688f183cf85d943f8945abbb47c14cbb86439becab38a1917d09432e347d6bca9f53535905f43c9aa2ff5e0516a1d8e16a79b456bbfec9e7fb6aa3dd1e7742c98e5c2cf4773ae505b4765a223e8041a17eb7bf6c5cd215afe34bcd75e3fcf42a1cbc5160b0c66008f289ddc989b025018c8224d64a29d27e8de7fbab18333cec16e34340b67b00e4d5afab1331330a2a4a8385d18e21602c3f43ff1bac911b176a0649f0a9795e143b97f60c8eadbd8fdfb6f0f64b3278855e85734329cabf95d5bc0f09c46cd8f68da999d4ee08d644d7c1e6b511a31eddf73c3a0af742f42c69efd6248289a7347671237e2bc1dce62482255b9e47e2ae243ae0f3ab6df4c5d7174658247052f868ecc66811dbe681b4a211093c17ae32213eb705f23a4a8ddfe2f61d30c189683097fda21b9d842af01b222ca29cf81717360a44b00d6a12ad2e7749ffc1543a975e17546486d90b8350b3d02b6962f89258ff29f3321aed9562297a691b78b2970d79439feef81b2a3242887db6d9ff3ea9295a5bd7c3c79c9a192a04c47fbc41123a6d5e8a9e56a5edd3641f0d951da46a8f2c81782d3424bc87e36b2e5259dd5b3a788e4b890547daf8936df8294b86ad47a6fa711b76d0ac74fbda109eb764992a65bb30dc2a1f0950f90d5be8a6027092a705f6f6c9c8f94cd762701734c392228505d5dad8e010ccf69abebf28685469b2fc7c344a40b2b7aa4a824efeaeef0279a64eff4a5472cd2139849fbc94fe7cae6103e48901a4037b09df9993004caf580488c27f539d36c7ad05cc04341840c179e8a1a83fa87ead4ba396dcdac07fe3eae5019f23299b6f1955516e75800286a5d93f26df35a9b7d835a2b8e4f5e6f55cf301f714d40897ce7212b68befdfe2040cd81dc6d6ddda6c8c90587a32b6155d5fbbd44ebb31b0932b818cdfae1f5260471d128a214e43cbdce971930802e9938330561df36408b2e4f177ea581c36cac46271e82cbf747701cb0d204740a686a0178f31c405a26b4d850370db1c43f567323e96d4051911314b269bc597c22a8e70b92daebf1ef8b7f6fe23aa8c925d06246ac2c41d61c85edf7a7b1f54bb8ed06abf5ff25a7847701de1c25417cd00db234173c84b44ec7ffb39fce8aea0c91e078ec39ac18ad79559244c4470e29022485a480c6395dc06355459a26235881a2c5c746bd19a267da1f79860a087edc8a79c28bb5a299b8b1532cf7f21e05092955bc1dee56bff1acd397d2804ff64892d83a156a31b14c16a8f87d517c435af5b832ad8bca3bf610783a77ccc89496b360b3c227b79075586a89351cf18808f7918b33f0004eeb224ef9aecf165bc76b89fd84d2ace6ccf87b8a3e929ba8b80e1f30e262d99309d7dbb860c11eefefaa2771a724c1dd289932d5f710f38f749028b42d4bbc788a1f02ec891712dc24a1ece9aae939ef057970e515b680fb48e8ae33cef6b39efdef2eb0a72fd626765db6ad7d5c4dff78dbcf0728c38d44d186e353079c45328064806f77af87a9066b4c1c60eaacd5270b5edaf9cf60fd00e95c78f335326ae154875d73f204474e7a3b2480624d882efa0f86a65110ea0ec27dd189c491b74872156e5f6d5da6c46d31cef0021a24d6a192868c8f857804d2ad1dc6dbeed4a87e9c8811b5bc201e97dce9bf7b64e5a7c99ae24a3190a2b2f77779562d3b63e564f3a8cfba21b3393d55bfff2d219a7fddd3970cc6a7801ca732365fe811e8b7ef44440dd97482fd21031c62e619acc94bac87d015af7392c9af61e3962ee5437bf1f00fe3c4e0f43619428b26cc3402c0ab83d647fd2089e0e2dbdf09b5abe40bd2ac1c59478969ee8977c7909f7c21148add5047e09de434841a7106ebe2cecd2f85c79ee0dc0f8cc9b73084c80c1695ad84716f34d80d47c2eccf20a58d4359f65d321e7a1cb06f8c7eb10e4ee1552bb80f6a965ba1b20b9d25e48fe7d2e7fba1fa2018b725b5532647d6c1dd3f0026f008cc482ede7b923f39e5726466913dba2206ecd7d8d7b8892b8e75d7190d89ce9b33f2f5b9689709c8dde34db8998a4ecc4cfa76bd5872f8f86119f5c765f4ba1683802201219466568e6b1edd629d4ea4805280b2fd0daf90c2241fff1caa3b4ba3451fb4e48076e354b91a41f4abc8f50a4b1b3521739fd698d9b2bcbefdc2ee3d5e6c2d5ab73a866597ab3deb68d2a45219069866248a1cf708ebb65a8a0da3a50d8928585d06761e065e74025245ba5af39e14cebd9264449e4dabfda1b53fb19a3de4c99f97b49a5db5e9e6afeea5d96967a5d9f3333ea2067739647d3d956e511fea1a86381ba840aaa0a3fe1e6bb18cfee263bac0c57615a7db7d12a51495e644ee34c4703ad3cbf879585ce80a484df9845e8772f36c8cd9de37235cc26b5199e37f972a722d093b677ad894962c7ea9e067879342f792b83ce53d3c2f895fe9c84bd7ff15411b37521224d5e408923c1f86d011e740555657acf8be21cab4f6023ba8a93cac3c1d3d78fb6d4c7fc20af3d01467cef0b120918514bde5c391836e23679b673e1ca57bbf25dd698398b36e2f86e865f14937ac1ddfa219bf898adf15733bb9a869308694fa3adfdeac3ddf5b051e54d5101573d3e476f853fa4b5e98817a4f13e4a5591bc7e6900dc57e60ffd1756e05bc0abe42c7f046a0dc87b4065f3f22bbda14d1a87dca5a6d40ad1f697f232f5c4ac085ec717fc6de15c63484b951cb456678713d25d0a3d91b12c88b93e6be108127cf1b769047b0ef0f4cb73af6958435954ed76f2bd2096d166a6511951202bc2e572ace102025460baf325917d575845344f4ba5799a0fcdc20761b088c1ebaf0a3a7259e4dc008d5163880de29f79c7450ebbcd820d1981b53508dd937d95d257e9f416aeca16e5705220f4afd479b38c1fa2e1fd9ef1c1d7c4edf95dcba2d0f5c1d58e4494f2c2ae4ba787c657a57c632191ae72c98e87b48321fdb89922adc7739ee0310570b6c2e858499a2541217d3a08181d0bb67c28de4b57088901d0edb5fd68ba5ff365dd22fbe0372f2ecc548f57a848844938413232e05cadb01cb80195fbce6826ac717dfbc516d57e8c2ccf8fa069fd99ae3334b4a766d7f0f8147c3487f085788fdbec7bf28686ed3e8a499ee99a20c65645542dbe97f3528ce588c2fd0942016f88cedf8abec1750cb629ca28804876a9f8cba15fe4978349c7f2b636a3060a4c98bb03905d26dc79f641a10d33b7ed61ce40f22a16e5cb864e11b1b8957325e19c2984cf237cdbf668761fa591fd35a19c28cfa1e87c5d62795c4ef37acbddc2f0371652059813a6c138b7c8f33ee8740dfd182d1a646afe06d9df9d1b2fe14d9892bb49c14f59b450f2bc5aeb1a99c3f02c4070a7d4710475b884d00994e2ec6f46b2c4e725e639cf7b8bd110a525668a6d0a801f2dabc26b5ecf8c192f9b84797c7addd54a105ccb2fc5ec5adf891df3fa68d75f009d141d008303e068e5bab9c01be941eeffd17fcc00ce75351aee3edf1e3014b0534ba1804a5823835cf692285cf1e15d3278177a7d493de8cd0c8662506b0092d29ae71fb99831db1ded87da1f5a02c686232dd463c471bd4d367be668ae23f9cdc7be1a60efadd7fceee02510347655d81bb6964eade86577feb9536995eec2f34916923c3af339b0d5790a6039c6d0e68daf509d119c2e6886563518394da2f745393f8c9c7424e5caf36c3a2c660184b7f7223bb435c1e32786a8a3100d9752b77c5cbc2f42a7fdb5523e51a0efd0dd86b27569c7ec092b61e1f855230915e2a48d0cda37f19dd7f9bfdd9d346a82473d3f035743ad45027b71f282b0ca46d2ed1ae75d18e47979b5eaf7529f14c9e6db79987a3cb2c798a76698f20052a4ca2507771b629f73918c59ec785d78bcc953ed7016a1b1f72a7dc657b567d8683fa5a610aafcc6a88a93ea2ec8d1859416adc51103cce660c3cec484cbd5ccdd1943cb1d4ede6bf7d0d39194889998a9d927ca8e89216ba98d19af0ab122367f216625c06bddc1d2e74d2ed48eb9bcfdd133a6a55221da46cfdd43360ba841c55eced3ead79a0394d7020ff3bdffdd8ef81cc019b1045175af12b0d508269c36da37927b43b348e89bc353881e93d92c7ba4ad7a1d4fc5318192efbd038026b96ec1006369bfaa001a335f7367d695c7e7b2a2465ac0b31fee07859d774624197394fbb12715004ac681d4f5fee9180365e154d8d75b7e68cc073606a93ced3481d6abce6c5221dc890a846030853cc48d9caa688399891eedb233c5d8d92bb7708dd4e08318acbc8befac11dbfd40fd15b2624b5e65d5fe92e5be049c50c517da674c8dd23290716cc27ef66fdce45ec86c7fd36f790f756d0083aa030b23bcb835868d0c0371bd5e07d347a2f6e6698530cca25f2d8bd3d998555d23cbdb71f6d727f24aa9eb0a98bfda5095917cc525a98b17f664f4a1aed0330a8a664de299faf239edaa1c5b54b247d93b2db23f79df53725638433646d6f4a574076c1237213af55d8567ed7918fbf6da567ed435b0c4d7d939690a889d6bf52c4369401ca801786b266dbebb7240069d094c7e3b9191efced23491f32459ea748345de6b6c555d8b2f21813aba3c698f29f67c89dabd1f2b60f506e078f83eb81a0d6759ede4d902476d7c946dcbf66393dc3f3aedb4bff671b4ee1705d66383f676f7089b2e5afffd515a7f5fc8dff373d269d5118b6e1a79f1c4573ebf8d31b2632a019fade01b65c1d662e93f5b5f201326088fe3ba47d26a68dc2e125cbecee18914d88ed10a8c3bbb6a0e91a65f4f963cc8c3b6ddcc9624b6b97a3285ed2d7523f272c385412b76d55e345d6111c001e4be137ef1b7687c13aee89846866d64e9c10dca1fb3b8eb10a1b5aeea21bd7c2270692c3f391b8105114ece5d7009ee3c6b09473029b8ad874e1573b5208a9b021a2910e3368b0457b2e6b2f02469550a7d0a76ebfbdfeb1f677791a1368540d1459538d7bf02766bc75769555ecaa4a1269264ac05030fe6963070573b031df6db2ffb15e126ad02d74d28d7a855052da6399db8ee060dbce15de137e695ebd64ce93297915019091e3d59fb464ec6fcb31293f0c4bc1b040934375747250167d090aecabbc94038f204a95a8cb9f170ff3937742ca04a127a4fcfe5b636021f6d5eadd9fe14a638b05e622d82fe7115224d2ca509e38834570ed1ff6968aac6045b667dfcdc2bdf57342bb9a531d7b5f490819b89e29fd4545c85f7cef14cc3bef64c0370a5fca41b5534d9f5ad7e33ae32840e21747b368c822ee4372daf170f9d8745cf06272fde7e472573440ed40748900869c3664db4a133eaa3c93aa832d43cc47573d158c285e3e90e4e6e03553ad8a0f5f5186e5daf410b6c52bf7d264ad5c0b5c94944910775ffe633f7f4fc8ef84454693c9354e0300cfc43244e75b72337114ec083e2ba4580cff1203500adfb64b5b70ca57fae245c677c34dcc5414725af53420342b7a0513ff169b4bb2a917c2fb032ebc4e77b11675781de6180637ccbde96c5eeec7222a658ba6b9955bd188d58239e922a0e4353f48676f94a80fee1bbe9d7edb5db4c2e0f8a7ded9d54bcf3acb5257c982a72a0235d9665d31cc27b6e6fd1303eae8a5f8c4be281d7499949c7a418c2e09f98061c070199897119e9a4986f06606fdfef8e68de652a36c7a1a3f96a4e49ebd983bb8248e870db29a0ec7b50a25679b874b6457bb8f5c013c1ff33dfbc0bc4f87812bcdbbf4d8fe4e068d32109a8f9db0b4dbd8160c8c94dca0466b6108c9ddfebffa595a2d4328f22abcc49dda0b9e500ba24791e10d11dd9580da83adf4ae6a69bb4e9bd47615808cdbe03b36235854ebede932471836467ac7cf1dc9104885feb1e1dd1230f2bf7bf75d02d39d2ba2cd58c0f6aff12e001ad1a8836048e653d23236f07db4c6462a7ac020f71553aaf89698104fe21aff95dfc1a5fd7eae9e7a32792476da1a79e14e09025584e26e412f3150e2306039e6e098fca6e048e0e6bc62691ce3acdb580d7cbf8dd478a2a66e187849147057e820ad9398189ecf27301f0c4b63a30b580c32ac6baace98a453ffbe00243b5e53c1ea62f261d31a09854ce34c226091ab0214bf0f34432d754662814acb16b6a49f870e69588b6231f9f1a3110b4be1c1da107a82f88a0cf7da2405ee32cf8720729a7f079185605cb94e03021d7f86f596b882975ce2be57064f7df360264ab6a274839d1b6a3630adfb8a0bad459f4203503466ee4e884b3b62378ad85ae1c12e71ef3850379a75cfca4c1d0297b6f8c64e979b6ad17aa845b358a22b67bff4a5aacc07eece581a508a15a9610bd5b0ace43bb0b09da6a0bc0ecb4693e88319111ac360e4adef295d29c2ec1b2301d5972f87b3c3858aa8ef1bf9beb7de52886b9f3028fafb93267f67a6615827671991a8e06b6f74b425b405bdfb4af1739f0fad5de0820c94a546bea9501907195008b0912dc465365a85744d276b50d24753a90db419143df52000a27849ef85883ea41670d8f9b01ce9aff7d2dde765a49b9ba111fa49b13cd20405cad04c8fddac84a71507b3a91c64cccf68215aae4af2af9450c777887b8a82c802ea9960186cc77e9834eec2643f56ee7ca869ace6df76c9e85b1e968123e5a0718d461edd0b0f93689ebcaf9caba2d928a3cad7f8d95130e3e325e93809628681558beb7df6417bd6348415d2868c4b82431e4db6c1454c84535f14f9eda0cb4e0f56f75e202795b211b3549e1ddb55ae8c20a7c655d1e92f928f13e616f34eea2486ad02cc4318df50431018dc218fb1c17101d007f62244e84ab323dc75d0503e495eb3a8ad328dd4224ca99e84148eadfb77b872253fb65818a8db7c333016e6fa8326fd97f1255587de0f980698e8cf3fa42532990d96b669d399ecd8c93a6577e123029746f79edfe435eaa0073bdcbaba76c621eb6179991600f9fd5d28c1e0758a9190ddf78b978db0aa78fe5b32ce2ec76da9c990f629619839604f7dd17db9878363d8e1600f1e12cde4d18a0cbba82eebd026fe1ba57a132f7306d5cddfb9830a712896efe98b9b420faceac6536b6562a82a42cb17af0d25b7736460f41f22880d6b0909252c8321b5e01932ff4099af62e41363a8cb7d07b3cc0b0016483142bfba6c27c5fce828df85cc8fba50343151f3f43d4fd927f3f0d40e7e6c3b56c668aeb21f4a420a376350e7ee7632e1622789b97e630b8c9ad37824d6b35d87f40a34643f4db7ceac1a63d025f4314c8f3657fd7679b128143821ddec4ce20f0221dab0115726933fc4242e19caf1a8c4d041ff1b2999d1fb51835a0fe70e4a5a6ab4859084fcf3e564e29407da410c4dd48f452e814e21994c3b1498ff110ab210ee93d844bfce976ddc2b194f0fbbaa5780903c7be61aeb4ac506a3c5f44adb330b23291ce9895e8a8f92670544092e1031f7cf617868879a8b1b2f73ef84471bce5e1392bb7ffec6d5f7d58146b1dd585ec53f81addcc19d9606cac5d32ab40a10466c8847e467da1431c2382194abb598748560c7472548f6e16440f5077d256253775ab91dcbc5896d4f9186de4806383ae88c96751aa0eed05396a2d5b2815b1d22ea936a46e2dc80aa631f7e5a02040922734fd5c45565057dee728a726d538fcd1072a5f4cbe8835f81827ecb244204d88ad8cf9b0dc3e3452252ede0a8ba691eaa817a8620d92e3f344a28e1969adb929f35a41f9850a2fe594cc22baf0ad162c2c0303e98c14149de75d7b901d6e9efce639b1ee8fbf73c342c897b0e7353a36bc0811be306d763e5c9cc3df087dd502cd7cb1b43075c283eb7298c1c9689d4523179789dc0f943a0e45537b9705ff126d56b1d4cc66e730ddc5ef44d446ef89ff13d03642bd6a1b98d92df6826489bec7583e4dc665f439755c0d793fa16f89b727ac546ac3f1d9b9e8d185163007fee4df5d70eacba78504e8f36ced9c24c0d619b77684e814fd786d1e1a0ed2f9b9e691a2e00ad93ab225bdb1c28b628e8b80a223326390dfbcebee3fdc16c6d4b28c45504f7f91ed44bc801cf4ac957e6a22332144c54023eceb2e35c019843af58b627047b10093b922635d1a2555a2f105a6f9787051d37bec50b142c11f9e2f496513c963963251c6a28f66920d371b4749d3798c300612f1f3509087cef282  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-11/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-11/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答11</summary>
    <title>【面试】问题及回答11</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="f82b9c2ace1a96332ad7ebe2d5bd9c1a04e365bbc7fc47041a6544871c798ca8"     data-nonce="9b8bb616f3abc6b2b61b7dd9"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    153799dc1edcb5b49896b1a96a9323d77cf6ade9bbc6ee3bfe312f912f9fc0fed9354f83d568d4e1ee67afe813bb3beb90fe9ecb3e8c51297fd0bb6ab27159990152004db0d6869d1e0f93749ee48d9f7d087ec9867cebf42cc739a06b856c15eda27467e22e4aff123ebd53851c13348660a59b13fb65ecceca3faf5f816097bc560eb729dd5b1e0eefdd1b51ca81863b6a544e2ecad392fc3d5e061b6ac9ab37ee310fb848a38a87cdb802d8920f2e642cff30d5d7efe31eadd5a4288607f4c5f6c400b033f355897fabb93debe74edcb545bf337d48ba20bd9230f1583691d656d8871961e7bfbfceca365fbf8d83bfac473a09828f779e82f806ea9b0cdf7be1a843995fab2636c64637ca2fe77e40ad2ad4cea4d9e83bad33eb6b5fc758d623445fd85774401698d220a2e4ad781b2904711a149d8188e90f054d2d82f0d0b0c1169bb1a0de219ea274327d7dca1bd9cd38d829a0484726a5d96350ccf17d3b644c605ffed28f8bab2689590b0f579cb25d2fbf1ddc1ccfc97f45b20e154cf1655cd8f4140b0ea2e14ba9c4f893af47d3da0b09e0a689869f60c4fb5fad418ca65fb892ab8a674790157a7f936a4f6bbeff0aa2659444ef9cf3df23ca9dbc4c3b71bbcfb5d0250d59b1a5ec44d8f6eff9dc58093c7c2293f9c44606ba30a01846e4c4aed7c97e570b92aa6fdc2d2f3766b0aaf0d44113ae591bd69ee0b017a76b65d249cebea1d084fe777254db1aabe7311265719db40bbd0051f6c81780e83870ef54f25408faa6324f2d2915fad8d4789f0e2dd6cd320417dea5774545bd2c36a4f864c8ce48a88474e031589f4af050cc50a7c50f51757a87377327ab393c72813c31478d9f67da51f9f90d7f35d8340492fc699bb512bf3c00170dac95e07e13fd72416313f03e457c0594e3c2fcc0824b214f4e7f05d14d20cdb577be4e694b8d9ac19610521b74ea75f793152e305e2fb683494ea3ec736b9138a6d1417e5cbeab06a0ac32c45b2fdec7067e9cc406de75b680a734548cd3d59102706f9756a21ba6230a22607d3dfd796b53cd879c87da09ae1986deeb4d004a42b6bee9ec73901e50acab0e58c292521c1e98bfbc674a4a0b5c5bb62c94933357ae8f774baf71c8c4fbc8585852cd3094f2f010677e4d77cebb3f5508f89d053e454cb9db1d6b09eecf308979092a086d8b0499d7a112971f2571c3b5776d7da64ebaa827877ff64b4a48a6c6d92edf2c9a779af8937f7b926d2c28494d4f3dc6a6520e6e12876e6b2f37b8ebdc15498af010cb50fddcd452be85391d62eca0395d92418af131d7668c24ab45849a515cd4609f4cc8f419838c2ed6d786da655b02007bebd4f2e86a35ce070172a34acc44eafa3eb5c14b47e66eedaac006e0b18e67a53de0d11f4dfa8f0715774e746fc3259cde8e651e26eb44fd02d8493dfc5b8b763c12ed92490cf1fa6e980a3da54ce8719fd293825a5358aac467e1b8e911b85e1ac72c76e2a235c5d7fe74dfb2e8522b977848182f06034cdf09e6a57e36a4c5bd32ca2ffd95a9c1df94cc1dd9843e65c5a5e9dcc6a1c81ceb86dcfe107928dcd3e4fec86a9961c62fb9f5423b45aef8a53dc0aaf66f9b059c44a2be0a76516602ff06f4f0ed5782a6fc2cd6f3a3120409b504010efe386e1dbb5b65fcd57acd447a6ae209141b4c32ccfed07106cd2895d91418c64c88df614d335da402ea9dbe66e1e5dff4173b5efe4b78e15ca04b3bf1fe9c72878496751f1ea8fe2488efab3dda7f23b8ea33c1d5d2fcdf0b7f0651d0e23281c9f4f7c900a87f17b416a5cd6a92db96a8b22fc5882fc5065b29ee7a59d30d15ead9c41261b185f4c13f8ecc1f6ad9ba254af38364d5f18407a64a7956b87ceb00e2ce1dceb3890c9abf5328b8f45cd4940d2cff98d64f2a9a4b13824bca62ce26521edf1a9e703ff1e94fe899149749d7415874d3162078b3f4963c8233ef0cf08d5f5ed5f78a03bd837979d6312c52b71df62f4cd9d1b82417c35f1a2fa00290087ed072def60e26c04c2e9da43dc3d926f891f186a3565da8b064ad5dba1619a3ec40a7c36618359fd6e073d51af8cd4f298aa969c7f18dab0f6aa3820effae9fb5b861c7f266f750c97169cfa6a17460284c8fdf25223d37d4398922d67a7067fc359fe20429140eb06d24044340c18f1dd002a69ceaf8a0b2ef0710e9c35f66c9f0e9222979d273bf4ec08227becf9f37cd93133bd28e538a4c8406071197941f954ddfb231b0c69b21c2d12cf7c9a4a8eb9d6c70c9578662a77f58fd4364a5f1cccd4c07594ffcc5b5573093fe25a0b8e24b9738a0ad0e4a742fe63fa72eefad049be4c7ab000381c7cd7a27067638ff7bb2640fd6dadc99141f1ec6a791d7229535f33f2e2e5a9cbc2c544ba48e3eef8d7152a1fe7b7276f4416f79d0db7d05695d29a4195021c058a04794aacec39e3701347afc63cd36d94a97b3a0ddb5b09451d017a7c75ffb8a806de5f5ae9ce78d4c897d89350b82a49aeb825d851141179e12d351930888b160b57479db2de135f97819ef66f6ec9ea08df9eab5432c3c24c81835db310c0cd8f6361be7f051570df45b0dbf922fe4dfe7e46fd176896c1dda6cffa02efa9c5c295d2faa114635ab9f85e141265307f45887957308fbc67bcba12e349bd7f1f4df4ab8ebad493f285cb9db213316979e8cdd33eee9bf8f532a497dfafc9ce3a0db92d662710f6a94409bf78c2507e55a5233201866371b1da01bc794f78602b23a6c823661ed488eaeeb1422548c34748dcf30be7d6f830df30c0c7ab743b1fbc5d237e304814103cd694fcc389fb9c512de09e88fb9cbf039eceb10ce9f89ac554f9af39d781c6c991003141c3cb96964b7a3894b3ad76c8ea6aee2d131d1dcc3841a316a9b7c3a9b1e431ac3c8dc4c559fd46b36ef06de056232619c2a163588bfa7a3deedb029da32fd6fb3bb9cabfcd5572a094e8698d496af76f0a661c0cabaef0b57892ca7219709e6fac19d242c977ceb79a5874a9ae8716b461373775da935aeb9ad1c6addf522455269e4bcf4c1fa9f3a2a095e78db8a6de1e91877c1675d26de89f52f49e3f27bc21cf82308c70903483b1a9d9c9f6317207884f727008894d59180229d804aebb914521bd079b73a239129f856605ae4dc58d06c9a806b229e7bdaa6382ac196ba2d2ab7c47cc28b6ec5bdcceb62d9d0f9709a7b55bf80442f3be3a943db11bea40de97cd9ec0a59ad8f8688d84b1918ea35622063aaab5fc80a06b97350dd6c7ab3b68f2ec12b1751b682943ab349598db25346566bb5785c54d5a6045ea28248dcf4ec3eb6659a9eed694d6838aa48a6bf054abcb5a51a42433495e4c0df12005c0caed51af42fca92f893d0c9144bb93e8f4f1a713650be6394ab2a5c319707456daa92cace4c6d1a3f74bb999218b6a97ae582fdf3c17ef8d24b1b3852fec0dbe7068fb388707b77a74b795a2677ef0d018e38f23f245d05b180227ea380ec5ad937b5098e49ecd56e21822499f74a21d155fd3d5fcfa9fa8e574faa81e2e8f490fc3a54e4c3fd5a891d3f84d4471233bb6796b48fb5dbe728f74cf17f543cc5feee0e2f04299aa79aa2dcffccaa736bdde91241a4bceee0c3f09c66b4ee73993ae7fb121af31ebf14442402bafb8936c08099f835c8709a3ccc73582421ba50b44878c1efab4f79efb90ef244afc2a61cc712ab5d44f22c2e33ad2eb6a59e788560902ca21115a43d2caa657cab2d03f0399fe8fd2d8e96235417d0ba997f4679faa82d5470f8fdaa24949479960fe9d058453c14faf267c42c8b38c76b27e05b8e07d0187fc2b9804b04020aca42867e591183e34bf4f9921cd88d691fc0a68806735821dd6935fc0ca97a48b6c3731e272ccd563a820d186756691f6c774a5f1ac8e15e9776af615d2b68e4d6f1213569e4c44c688271e1713884a75eb3ec0236138a2b3a94f6cae083a1d1db98a1d2aabfebe90b4c9678c2251deb678a72f90f92cc9e3c271c8e55d011a798a23dd975480f9d9997bfb39220779147c4a87d74d7f28c071e4ba9e0ee3d9c4c899a2145f560d98cc551c87ef78a9e06b503f5f16b0653a1921587220a32e44c3e057f7348d6af294ab8cba9a73641b273b228a5593b651274d27867047b8a7f70f67e5c288db0bda0d0218d983029b32ab166f7b7efb661e97bfdfe80cfbfd107922fc614e2ac91a049f0764ad48d1d7e4e096d2b976cda1144758758cf9a6f690529cc8fac816d94847710ba463d83b05965027352586a02062de51efc16b813000c1790bebe821600523a604a255e6bad3c115c46460b2a39f0f03d736fa32648ce18d0465b727c1f2bc9f9b9886e0d6e99d9fbb1ea3aef85b83aee83741113f73965406c0af4488bca84af2c17da4b3d4974a407e20e90cd9e8366d5471180439ec5cc6196532cb8df304b564c310f045f1404df7c2d02bbacd0d8fcd7c0646cd7b4a454b2f59e700219dd7af09860b56f0e75fa0127d759ccf3fd1402963210ac1c8784de150ea919671c63bae9786c290ab50405935648999c2e138fd763eea93f514181ca73d99f1ce652df180f87edbebc2a98f9d9beae91bddfe327100ea08ad9527b33fd4845580c74d970e837bffcdfd8f1c685285e7a284cc7f607b49e3648bb229938a64e68b206fde39899cdc8b88675561e14e15e5549c375c8f9cdac02a67f0267d43aa8b66c1573167c5cd8415d6349b7c649ca977ec4d049783d190cdb77d0dbad2b2438bbe3fdbf82611ec3f0f69710d86b62a5df58ed834acb6c934d8fd5d66f53c748dc085c292b8cc6d61658e0dd1bdf34ba9945365bbc133c907ff378b56caee0beeae1b252e576844f38d01070bc0a66afea71f77a840d6ab81cfa1486d2a75785f88e4480cecf870b2540ced37219e1deae7b2debdd4bc33b4e958998749e78e37f82ec531d6772b40b4bf239c85f630921a8214df8972829d4871055e2019b6f244c472986ba0e3a5a8f404f51ba80927261dadc9a044db268da65b51efbf7138b40a87c9ba7c8e918dd0528fda891abca76edc9167623726bf52bf8d3aa65cc819f10fccca1d5b636a53a56d9ea6a76e765e79e6a2ef33479d816f9335361151dc31284621f369a09a423ce3601539b2fe3e62db0c7de0e37a5939c4f05e306bdfd684c448e2604dd9c4c1034ef64b97dabd92978d33e554761314404504b38ec6abbdf197af125d7e85330928bc1a48418e29f46cb13a7f92cdce3f710a7f6f10f7503a28206e1d9e2f0f154d05a75ce222d3af54c5cb9c2fdaa1be922d5b1c7500a0efc7fceffeed2261e4269138e89404b4a8fd0f466245c87b9cbbc535a7cbd2ec6b653e354ab3af675f2761b84c15ec8d4cbd0fb517747cf4fd087058c41b389815db401e24d883b9860ca3a0ecac31fd84dbf1bc6439ae2c85e311c1cadfb20d00144360089c7f39363b01ae17ee6fde80cac3d7ebb06770b542dd3320a307930a391d9c3456300f43cac43137057c5e2724a887181728bb6b4892c86ceb4d0b35bf39d65ef779594865419dd9828a8e444864e60ffaf71f1aea5a22606ebb7a2fdf6c18cbf7be898c9cd7ff525d15c70e28f07ea4f9896b022df348ac8210be94461989481acbff3cee76571dd1c950ffbb92baef22750bc91bc863195715416dab35c234ae98cc53e9cbe4841a8d4645c7af4501b763acb4b51a2a59e792a9350b2cbdee5627de9980c42ed83a04930d8aa14f500194bfe67adc0719cd800013148a8915d013d368a6979065177a3ac91f447ff020f4c7f698140d142482ee6c072073e9557913f582b0b24dee58879de9f22b76cba9242a8cc8e89cf4877be51441685f723ed9138a0058407c7d19a7aded43feb6e2329e8c636721e5af54e4adb4179ba3118a33f04e729fa4c04e5c1ebcc1b8bae8798ab128c52ebc22f20e37529d60cf112269c219e07f46572758ffb33da7193aed43ea04ed23d7bbfeb028fb098d59bcc44f902ded91e3a6d6b50d56f104a5c5e31238a6c464674947fd594ad992bd4b7eb9bb49041e72071e38e81a513255a09a103eb89bb517cdc5f9f5427d71d7e1d9efa174497d9080dc94a935f2dbcca38f6fab89eed8d90ce4124fa26b28012829d35d973f240be63f281f18aba5edc94335c32d31d4ca817da5547c9f9afc5060dbdc1aed7750d6f9e1131e1839e46799c407d1983e6f7e907ae63d05c1b1d5fb7552dfdaf2d62c22c09621b4861d243cc9b73a3cc12248d9ab9c5bbde12775951ebbe7db4c483421181d71558460cbad95bdfd4c216cb6c410eb3ccd8c800d49692fa18fb088996454cba831eea1d4587b965916364c2e6459a29b7abcd4fc22dfd072f39a6d0d625fa34b1f8ec7aaf08a09ea1feb9878a9f35d2090ce86f7fa96a90ee3aaa63ad00127bb60b0aa01326b140043f5a13f0f658b718dfb325f1974cb6534d054bf336400830078141d2d379731df8326aaae5acf341303a01627f8a1e28b05ba9d60a9075d371e9d1bde3a3f2f1a8cc4a9742aec0da1a208f09a78e5570ff179c28b7339b3018ab563ba01ab03ac5661d2284d92ad8624e3ecb2a1e2a9c9f6052181e8313307f98f3526df34239b88c913081b773ba9c3f0963f05397321df80bdae996e6832842cf1a0a1580906419e0750c0d1e13674d2a25467ad53f03c8097030912dccf856d50ad52af0e8c94b8700b67692dbaab1335d69c80266dc9924444b02f798bf0a7baaaa05df59c779e44980d4f67cf721eb802ae3cb3db7354837697b4d97385edbaecd81020f2a26f9f679648f460dd2e497f075b52cd088ed722f77a7b49c8a06f61196e9ae912b748d8de3d85d4605ebced94092e42c39eeca967e1fdf42379480842a7643ae815593f265dd9ddec665e48ec19beed01d8e46e03e4aac49a27b11557511bd6c65688a1bd5627d6b8ad56d28438211c6809f11b02f791106c42db2fd85459357c4faf029b64b255dcc681da83c72a86cce3b5a583cb9c985163c6961b459083367c6a28fa60700d9c536d1b2ea7d3a833dd634f813f2d79b9d1152b35ab3f603d30f33e810bab946ff0ffee3ebc03100e68e53931d8e74d4646722cc866e5ebc1e9580e374a870f0cdf966c9441c1c35c2bae1f0aef6c85736f8c8846f8caa0da99556c0010dfd7701045ab7fb6a79f110bc89c94a8883620b47163fa90d743289aec169b2ed2f675813231233968564bd57beb859f919e70f75c45668610e2d93f33cbe5fb42ee8d71b19010038a12b88bf68123103a4f4cedf143fc3676659b07d43d30cdc9906299b695c41ad9dc187ec469579a835d4822d4d4b784564f842f4b5eb8f58c110ee19fb96dc322c2a3dafa2dd21fef062bbbe957999cab09a8690d79fc8a54b132f1867fb0682764078455d55c589c8c57b0f307156ccac9d0d8b015ac748839cf5cd10b2213c988b5714eac273723fc1cdbc6feddfedb9246cae5e3d88327d68f26a9f16c4f4e509564d70a35a4c918461141ddc173558454837277048c8198939980f4dd055a8378205e6d464bf49f1bca654972dba157b0f516aad8f64584d1608115399682f3a249ddf3af90364aca9bac07ac7024cc1f185b23c7205e79ae59a9f9cd005defd1a9bdfc39daf32309512f6325dd5a4b2aa42cbfcbd0a1c0ec66ec1acad9dbe17a1e19bec3d95512297112cfc3d2ef0805a7d1b0b4c02bf1be0d9c0224f23d8ac03759aa4973d7af2b59af3c23a45dace765d3c24f29e0cca2a5c15e9a5f690a30c607954ca92ef79968a1e8ba3654edc4676df818d4e4ac4ad87b1bab34c0d7bfa380fab77aac96ce5686f69790dcf1597b4ae477c5706001246b17c97b44b3ebeb88b3c49d9bb1879f7e2637d0a3775933f88f02584d4777cf9797eabb11499fd69954a3bf8f4d67c770c9edaa7bbb305a3eb47d6b3513941b73069d5b7b76b0fb62ad42b8bdb8b24455d9480ac76743060b0a608b7ad28c4b5ca00777f6740e2e2a44c8a20cf40e55a7767250e28f7f3f6a42005430a8930077cb0264a77e95434ba7192813f61e1361d8e5c2a8ce055fe33eab500153f52552f5470ab7c9027d7dc3c15dc2e9757e0b02cb86756ff8f09dd23207d47053e0d202a427efb68fcdb01ab179eb1fdbc3084eff09b5d31b1a32dce0ba2b2d8c4f9f87223d77b19b28dc77ff1fd6f6150fe9e58b932c033a486de64f72ed624c1ff91ed00ca2c1c9ddbfed48eeb6bd66e1f74fa3649d66a107f45551fdc94b0c8250588b781ee68efd83d87b72e8cfec4be44d3b694ffd6fd1879dfaa501a5db9ffee6c17deac1ef6c1406bdbb6057b83121f396d67a9c67b0a2ca9d46d6df3d82eabfebe612fbf6bed58906a3b273092b00f51faa545a42b690c6d8109af94b2cb4f9022937582f22bfa5a2809e8c7fe55e1d1a1deb60758473a56f3ac0744984209b956f7162cf77e6156137c4d0aa054eb83ad36bfa0b74c6a48be477d6f8d5d46645d3026e2f3bf40bf325d8c08a7daefd8e067d3f35e098ef2bd5c86b7544185e46fa3b19de4eb466f08899529925a4b263216c46f07afd69dde932013d38d09abb2583ce6eb63127549fc4bc4d2fe7922f79294a9fc893e20fc51b176fd27e8f6e60a5ca6bad26fc7a1a6ac837ffbede373a493ba95c62793b87dfb04c5a27df2eab87c15e45f84774fc778e676c80bd4e135b21c48e64ddf0de9c6f6bcb29db095c0197d04c5084f92e31b5d1516796dac5cfb987ecc7a09f36589c1f691d53454463d7fad46b0b48ae9fc4154d96a3a2b858af779a119d46714c6a00fd016cf5235f2becbf8e497f8cb3c3c39d4b625c8ad55a99130c170d25b846c842856e93fd748e8689a68dec8e3d6db1b5f826209e8396f0319c9a1fd2db65d91c614112e88f74e7430122fde522a2953b025913a6860986fb9b58f6792f2298e21a0a6475979a478b043bd7bd1753131e5b466047cc78b0d7df1747a3b066e029c1ebd72c57d08f323255b5125b259c46e06f5703e083931f75edd4e4cae0854ca2a439bfa464741a8f63177af086cf0493ca682f3a4e9478163a50903d7303456347cd5df3d3f1eac26231634b623232e4d1362dae6387169744d2094e2eaf8e2e85e4ffac06e9bfb635e2457167effa0b5f34de5cd49828501e6ccbdd9b79eeebb71df22abc9e861618c8a034d64645276f70a1ec7b50c9bdf862803368dbb7e8d5c909dec4336403628b790ead45a  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-12/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-12/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答12</summary>
    <title>【面试】问题及回答12</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="fcef76a97682f5537b73c3c9fb7c56cc0c99db9168a4ade260ec2f7ddfd0b2c7"     data-nonce="718c51b226f73f09f2e396c1"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    707cc0d37cc2d9892fd0d4106b327f8515d0b1fa598647fd25e1426e974b4731ad216c2e220462e504f16905a9c4efa0baf4f0398d29760bbefe698227064ebd0d5d2c62f744ec13cb69868948495dd2c04d758320d99875cc42c3d190c73c66f2dc057ed150244d8e0e13b814c2f768f7dbaa6e996013b129dc340a9e6cf6097707b9300319c9227438e974287b4604d668ba6b00494cfa1f7557038e43da6cf92164d3e4794941ad3dae6ce46ed80430cc0d6a1dd787e84a4447b56449bbf3e6f3d2692a79c56c24267738991e7d60224bcf9d8396302721a589adbaba15415dc5cb7339913c037291c2335b1e114fbf4633ed9a13371693020e835026d06f4f62857e0e5647b57761ed57625d12403d342f98066613380839710c961d21298b3837e40952548251259febaef30679acaa127ece713011a257eb45ec6fc3daa809c594e7c3ff6f9d1f43f8b0d7ed64145f2c72aec662a779fb1402a9ce91bda2415bb0c5c14a2ac974567737e87fde41a804167cc9d6aca2dbd47eb0c0d23a7bf50c90dafd58858ea2c24d76c025b76b57e158e37cf9ac32d6cbed1ef708c84c96a73183379bb6a9e06034f0d46628a655e539cac0ed4fcf92925678774027561ef89c9490dbd1dc6542e740f025eb0543e1519ca7a2eb3460e81e485e3b94b8ec2b4d6b68594a31f4443c725c9a95eba268efe404a2b3d4aee2654fc9f96f0d3e543aa1b347f5569d344135c8ce89f832e7f1dbdecfb93d52808f02b462a8745fd78acabfe0eeff10e5fb884f6ca15cb14c44871f51de3ac3c9c0894d4086db538924b5d34014d68a52837f404b0c8a46cd177250eee6f0b1cd98b196903a0160dc7cbe49963430988b86588ae1addaafc835bb2dfb8eb329fc62af25b5a88c11f39a79a959d808998392f0a259caaf110543044c031e236ddf1ada526582583bacf018efda2fcd10f4f69bd6defd64bcc6a09d61ab1834d02a2d360e4bf88e96d8565da2f709ae39ff319f2157e4ff84604536b95ba7c3d2da0e7b4b1294c78b8cd934807368341c4149ace5a5dfd5884b6f6e8c047e73802f388d5424deaf3147534fc0aaade92732eeb296a9a5c909e8f27bdb2ab24ac14241370625349bb43511b9f9cedd79cabde5102d0929439f8832b85669200c386556da4a4b668f997ecd0b71df94b124e55467702a36c127140396d310d4332a4cc41d2b188146e288d2ce4a4a93ac4756e8835bb066142ff1eb8ec8299bc455fff8d6b00363395fdca0e3b1ce2ec0e69998bf9ad5e7ec9545c3f3eb139d8a48a6c6ed9770204f089793a639f7a1871e481f249f2ad696a3d32d6692e18bafa4f02eb6802234424c373cca25aff6fdabd1a07fa96d0dba2252d5e573af5f3e811de3dbf3286d28913b9c7ba0996b5654f0e16373d3e227b702c1ce7dfda9c70790d55f2762e6d98962da3fadb56a0c9486405adf5e45b2b11fc35f1beae3414b3d5b1a351ef042d0cfc7bf0fe95478e0945daff3b520f189922f5cacb9422d14d33d459d9ce385dc42c046d1ea1ca474f0f7508003e9186ead5172c06e1e948bd6e378483648ff14785c8812d63725a8c29201a2f4da239aa4bf8ff85e07ea92c981410d04f5cb953af25653b458f621b66653ac14ec43b68c95b9e06f9f1a339927d3376afba57d48810f8c445bc3428d4cc3b582a971766a0acdfd80a1d0545713029ab72b883b2fbadfd25e1aaf68490b83c81f37cd258efc9b8a0c8fe3917b0de27105a2944c862273288bb215e422a48d3e17d2fc35558b525c38d40639e56566468ae03593adeefb6cb95f89e098519e18e03f46a385a20489fdde56be19eaa4724007f5b1bb3fcb8722623e12f2ad12e8eb228642e3d5205feb94d76b8b2934b173e6af63d5c7cea71488286ec3b88f90e4c09a3b039c1058610f7d741f5694e75a9cfeb6fa90d9ea5542a55a38747104435a01c8a767c58c24c3c05cbac49998205013303dcf78822ed3565563de995de0db2e7f4783ffd83d2dbb3d4b69dcba5894b50ffb234e22c6da0ec0999c7266ccf9e2f8a5ec6dc0df65ab220e1ecde4d18d0a0132d4389c5c18baf325d5ba4a196aa811ce8857d33bbdd1c9fa71e5f1b0f9fa2ed84e8d08ba95310e8e9634489947ab2e53502d8571727ca5552746b58e8cc3d54e92523b13d2c5074d043f90c22b9e04283e57c11f3809a6cdd511accd9140f33e3c9e10824c2cade348f886bfef50fc645b61c77a23227db1147318f750ff8376dcba904469385db25889c64d76a3c3b966705b06bd5e89ca387130892b1800c4d18e3e3bf4e78561f4c5291a08772fd74ed2a6dd498c3a751b1d1edd27c4523ded0bb8eaa1e12339d0ed6ac0ebed41e4f8825a985233798e5d5db283083bf225c8fdd09616f485b80cafefb2778430cf2418b905fb0a22158b3dc4471899d1edc280e981a9a17c8677eb2afb77c421d53896d76741dce8e1310b431b809334024f0c7aca0cefe2b5e2198846a0d807c3b1f272b2ca62ce3de17c8ec32f8e5d2f3b30e1c24f164582864afad1b71d410bb64737b82bc820b8b584a11b1aa99ec575ac0e3150dacfeda6daacf9602d976c60a4da5d407a88fd2b25095e344132a18dd6b0d315486a278fd1af53aef8508511d47353c26cba0e3e1bf20a31077cae6cc8b5ba0966439d8dddf262d08d1bd28b28a2bcc2a286d2dff8d7eef46a56ff5d0be77d96bc0505dcacfbe5e93387fed5a8d295ae75efd43ec632840345dff145d39818a823dcc6373f37a679089ca6d73e8ad02d64de5c13b7420fc9bc7794211a556965bda5d348ccc5887f0db5fad5912325985afe049dc2b8059471879ee29e3ebf69dda8ef8b42b801eecfcefde95c7fd8a9f2c2c11f3876afa9d6b081b7e39bd55bcf45115ef4342ad1582f14febefb23f0496ed317d676ea275861145e1a915e7bc2fcbb95cef3e06691e381be3240732a6032827f33f2fbc94884abde6419ec45dc8e2a2351b673605d02f260c104529c3bbd1f5d9ea341c85f4d8cabd1063611a561a70896d411a293f99a54392f9d7e1631b65ec3cb55f618057cb9608a20ec50715200ac0c2bb08745f3a842857966d0dea075b5d82c00088c0a0c2f4861e6337a2e409601bfed711e66bb83237a5e134fd8b900b67f5689e3c0b53a64e55b873c1e29b4fd6b65988c0eb97499763bac8e4f34b5bd8d65c636f1ddef4cd9b22d05d0ecb0dd2714aea396e7dcb913d327e82179bc306cc46713e15bb4b8f2f73db0b299b62cef14618d78bbd9aa59d5aa55b1369b8273bbd556d4ef43ea0f65a75241c50a3584984a2a00530f408d142f01ccf94afa919c5d96d6b8b3ed3300034006655af7b538ab5af7b8158b16307f05eb494d8ec729b051b1675f171a155aa296f59b64894b8854040b399f457b4bcd7a475ff85f2f7950beae95ec6e67031fa176ab6055d1c2ff4ef0ef7181fbba51e07139ab1d68f33f4de739f2a9f62442ed56fd733f0a673a27012a49fa8c056071eb2f4465708b77b4b1619c6d431f9cab03d0f2c29bbd612c700c5b07acc310837236ee9b52937ee315cea8c164f1751599b04b7bd69a4853966fc3d709eda6ab2b3777339571e6bb1365fc0a88e5daea7a1e612f70ff555c1b778ba5547c21b546adadf1e428806b356e6d13faeeb1709cd719b0f8aac94d98562b0e6debeb3c9fe4f317cff99229af8f04b4b7459ea6fb1137d01302ca0811ed68dcb9f1fa7546edab54b96a2cdc987d4ea780857d0bd1115a3673fae1613e95ae7f5221c488e8ba52c633e8d0a2e49a4c34e29b2a047cb8cdd8290b650dc744c3e5e5f1dd9da14d22f1e5fd71f1b085bdabe63f9f52a5866ed291025752d8efda9209b4a6a31a8dd40fa928d3b03cac65d53707bccd6163a3d5eb296b2aec096f77131427876efb957b9aa131342d66b88550009bd214ae1afb513ff6c87370ae4c34bdee69e56ca8b5de46ec93c5e869540d8998078caf12138c6166923b2cffe562dfedcb77f9c382fc5cb49fa1b135aebc733124ee18757d65698b0537236c42a45d8fd76bac1a24648e11768194c173ab43f3658cdb0921dbd206f57cd11132a8eefe75d7ab197bf1ce040505605c1056b0b79313467d241ced913dd75b6c88cf64d18e3ea0d1649efe0c590f129c24a85db1c391ce2263a19c4bb252082671e746f4ff468bc9ae1d9d03554fd540099796daf7d3fdbbe5666013343b266ea8aeee3da19b735e429a59de222500a711d559dc2af1588a3c6f100746121dc175f6d67493f1b78d344583911fe15dbe5feb241fb728b3c7744fcc5dcca11042b3c27362fb3948680a3bd1fa95dd5e01859070adebed945204edccd58d24bd767eec0c2e965c597a544f218eec100b5d1e7a71dca8c1e9e5ae901b18a4da28bf92469a7618513fe164940c1f2b792c30c65e9f5d2350eba4db9ec8cc5157d7872d5e0456d1388c999efe4ba2789886f57ce9fe867254b6a8ecc172ff9cc383f04e72efb1a2763266738fcc1cea84ef96038d2a8a57c41934d3895a4fa1ba59c8b86a1b646fed60f9c89801433bfd286244af1c0d887523abdbd966880c9ef4e4eb81cc5d3e9887f073d6c21a50e16c0b69f85aca182b3ef59f525fd04d0fa6ee2ba53c26ba9a5cd8bcc7dcb39120d6756d6d6c0a6a959680911ff0b81222621d001457d48c96db913baeb528f96c64d2bb2298214a1b2d206478c6b7b27070bdfa7136f437a239cce8b676ee8e0f01b270db579005804944e17fd3417ea9016663451544155d629e5837dc49db3a43c9620493911b25c9360e43a3fd12fba9ea881b39d9b4617d545dca5ac0936c7ff2e15a65676f27c928f2141b7d02709a6f629a55f1452bd6f0c43fba5514a799df8da6596c3dc3b8aedf96e30e6f9883311349b6af6b0be76646bcfefd6e1203d9cc1e3cb7ee84c571f82cc93e8f72754fac845c5327b2657b3d9ba230805c220706ba26294e2d475c51fc552de972913a9eaa60a210941ae798f55ac93382fe89e67f88532d012f5b4105a9cee78532e8a0ba5b97102f0310e12bd3b1bb718b15f6844c4d43e8adaa1ca78e7ad06b41e742f8684e7897155121347cfcbf276a706fbd697466f0e06b6ae85c7144ea3fbd817e217f3826a181e79178213d77ef0d1c3e88360a950f043573ab96a37960242c8ed0ff4321e4286584e0ec0f8e92af41d6a91f45e255e9a0732bc0168714d4d1cb07eedc5166d734b3838207558cba390d67f41b470c0a1536c109731fb4263bd0292a62ae37ec6680a803ba15e96ece2c830f01a251a805a79336bcbf785f010430d3e3beeefc4730e3b5b27facf5e4fe5d2ebee22c82a604153f4937379e8ad91fafec9fbb30128ed587c2a6e2169554c24d0bde3e97ce84f8365dc93d3692904a9614f415ad27fc9ba9d1f4e8e1782f9f054aeec0f2eddcb881cd5b794cfa698b6fd059d698e5491e1d1033e51cfb01722952f2d478a4e12744bb6d0f9d23cd443d1bede316f065fb9fe01aee85f15283a995b37b5433a02c93a80c4b045e1e0952ac9c8a5e36d948866e914c3863bb91561650980365324585c64773eb72b20e1de8f74b373e74c2959c76c2cc9b15d1461d309420997b81957dda776cc079f104769c1c0b35494b3116205d3dee91dc8285620a7bdf9b7aac5b876c18536e8b5d69e694e24c4f26fea07e7afbb415f58abea0c0c87a5b18761d3be4fd32495e2879af6d65204523db40366f8c7d483a4b1dd645b2bceb310bdd07726a78bad2c96784552906c15fe69d9d1b6a6a99fc28b10f16354cea784a8b16d7da3d0819fb43d68bd30e9b6b27e9048cea1ea9103b3b00f2c44deb8098d1578af97664516edf3a800db05a282f2c2197012782db85069cc47bd0bad76417c3800022f19776f93b3641e5e3f69a7ac4f85a49a5183ca7487bc0e08870a3b050644337d34caf99f3ffd2e280156964fdee54f35ef9059396bd5f6972271b898b1e2dea845b985baab95e8f1e7aafe141542b51d46f1e56e153b0f7e17bab2e4641f906ca1dca402d309a242787b52dafee26577a4cd7fc49bc01b03f42a7965acb7869e4a6a55574204f0a276adc5215abad32440a0876ce5e75521a8b20f088af0efe9413b4c324aef67863aa4087aaa4c06db46cbb006eec4bef74dc7a389debe630c8437a1d88f14c6db4e3cd81f6eecc5c072be111e0bd9bf732d6442e548b03b1dc586823e881f994b929c7e46744fe8bb13389c3ec3eb4f6781377a9e52e4a42d72d04b48bf68dbbe5c47a3efd3ea1dd906b6d639a3d4e7e15efb1fc89aa48388940e6a2c475016f6b37296efc7dded739b37b985c48589e6f32573b63b5fba3fc495123d0dd9ebbfa44d418387ff334734af4c1a09e5ba49fd5804eab65c347f09bbd46239a84d546642d11a2b34ca7846bcbe66f7b22d3708f90667a267c332e71d81b042449e1cba2418e5e6c27316b56b0a17d9b65d3794620ba0031e163fa582a46ce8427ca8c53bd47e07375fead8aaefe16930dd980e2f51c98823c67ef4b0a9f5d8b87506642bbb9d17bb19639f8047a5933e72548edbd832d62e669a9f7bdc5c8326df997e9a7ed8f9eb19a867f591626ce43a0d35c3c4950416101905cc51d7552fbaae7d5fdf76abc54c5626f4eb83987207027ed5d0de9bdcfa8fc95e0871572452162c2cc5a2969a7cf18cbf55973ebe6945931f396f87b647c2e706732daf7747757422f1293a1702933148aae6982d9788955a03444607653f71e82d67524ad878d8206398da59646d6bf83f04bbfdafd77ae4ed98d5b849d0bac09397a526bcd0e10766b4077bc27fec68834f36fe5ddc2f2badafcc267c6416b6c5a53849457164eb6838b6ee4cf4f6749647cf4425e88172f396341d775ccf2f1086787dea3f6ab6d6ad8d2981e822d788a9bf380d7bb5299a921709b0cf734e017ad04885fac366460f9409c03870919d119cca7b2fba9e064ce71aebfe80929dfaa29644b7ee40fb5703e90cabfb7fd6b8384033dcfdfc52dd0fc1e4bc2cbd12861931c95d43dbcd54f9fe354661db1185b4f2190bbf272b9af4c41b8c4b6db43b528283cbc58c517e4a5b9e0e658b48e1f2be7c9a342e99806c49b1e8b27c5cb15fa153d55328fa19db1545af69f595442653f29815b5f09e99f8b59a06100ffecb1343366f05119d1a71c4a45c30426bb62705ba1bf45c73a4cfc08936e9d9f09cd15e535bafd467a29f4b28e5510d9d8f0040014aa235d20d29fdc13a3c3749803cee53c217ffc5eae09525c1964190d648e53cefee4df7fb5df86a2fb6d0d99e0e27483da509d535a61a5b82e736748114aa855e4a4d78c93f090c58bab1436bb8d69645421d1795f8b085d8037a51a8aa316c41436e5250fbdf41a03299bf03f7ba771906833e79e0bca94d37549a3f8b8d78890eab8f7cb43c364689f042c7daac3450d0ffefb5f4bc1ff8d74be83e1b7359287d740082fa99000b442c1fd6d75ed64a0ca573e3a90f3f8f0e5d7b703443efad064d525187bed52392024991ecea0b1f89652e11230935e5b2fb62f446c9a90426b91425d6005474244196ca43ac6e29af159b061b5761ea3adf6d7f646752e790c44851179cd3487dde5f4cd8d931b1fe2bd100d862af5cbf18ba425f4c48e04b65392bd2eecb29a462073a9856056f5b21bb957ec783f9993111c8872f6495107546b6806141e7e733199b58ae8b46225a6dcf56ae909f1662e96bbdd22e09e0ceb6ea6f16952bb86dc8c84116c2eece0dea312332dc93a199a86afb0beb41f6208cc0549d92aa9acf7c277d21fd1c442108b0823fdc2feb3119f9476a3af894197fee11616b5deaf6ad371338175ba531bfde4632021c620a3f326d74c54157c511977c8ab16a2ccf7248f7d9084f81d42e8b12de40216f209067cd6438177aade86c32eed8de8c990c599b093e5caf5c84f3ad6bc9bff15e05880b1b867d8f6045cc054dbfb9fda96caf704cbbc1b933b27d30119ade3a6a03e265993899a90fa6f3982046eae41d43dfb2584cc07e4e87e4bc0637903691dcd215d4312906552e50b0f2ae94c23ffc00347db357aef836b95c4cd7bcc93732595215571c90db07d90823298046b94ec4e3e1a282f417f9a7e9f1ca9bbe64b22d4be1a208f62ab379ecae5c3c5996e9992d6ca4a5aeef0be806409de69d154511f08bdab35b1ec3899b15cf6840229c29605f96d69c98abab0ddff8c0c7c8177eda2719552cbe901ff33c5cec52613212ad4c09c2bbcea1972b0d555d584be3a4ecc1783308c0bfa5aacfb18d50f4ec5cbe81b03bef59d1ceec6acd69f2d35da7e11fa142329e2cb8d92c5eefbe8027b83ba0fac6ebb21d257cb4e5fdb9e0a3af48b54d2992a8f81c2f0630907f875681b06a98b1056e23d6a10b701d22f3d140a5b6207e3bd3b74b15052c303080494f67530a33703230150cec0a5f9472778d458e9f88a7b0a0a3ea7b4ad3ff7ebb036b81c073d581f0d2d06e02f6a0b30013c5fbb2098d9778c4414765df3c020b37e99650a91918f1951103263ba5497ca0eef81b73eda71e0e19987965ce012dd8ebb30c48cda2c20767b5a9e81057342843c52b64376c16926e15b142f4fa4ef36a136b1eade84c0f18a10f20553825a8c3a1796ce375685b5ac55122259bd3cc0b7ef838c9dd0447e10a03061ed53625fd4cc28ef60d5fc1ced3234d23ea8d40753f3f442c93e74e650468f573090b137bd6d73081b907e02fd64456de9938d78fca13d44142b71fdcfb3ee7c9516368630f37426e0ed027188cf52a7f26027776a14196f25195597b4df3046ff5503fff06a0c069e1fddc004e974f48dc617a2e1f068fb75ca06b0b6d77e6d8ee1cc9610a4547b5d496f6181b379aab662f62f59321ffcb434a64ea972d9c081a2b28a44621784e56f507274bd1896f21166b448e642283422063ffb73f177d1ebeb79555e700203d3282d34f0886d94d79992ef421a578995d8759f6f8585fe3323b5a76df6e05c9a8eec5cc2cbc08c96487e09b708246f5bc615071f8b831da9877f02e7b7590981130e3568b9eee6e587aa20823926bc8f2b595180be86fcb3e478785de210d5e31e370dd2cb84b362110f7bcef1d9fecf2eeccd6e7d193e7244b93520075408c6505a3c58e932ff12e4c1cd794c35f1ff987290c66b5bc270e8be1370ecf039edd1255165b2e2757b183b978384202b2ba0dc8dc2f5d4df3bd1af6fc35783c4844251105bcab4d410aa4c5ef960c8e30dee7f92d6d864241f1eae6dca1f9f5111c0a3903e2fec50689d8b529b49065fb5bb216e32ffd65d69265d9dc3ad504534423ece972f14984505d258deb6cab6e2e3c0aa37f32d40676cb15dca5f8a851a9926d5ebaaea706bd7576b32121918decc0b8e5e914eb327362081163cfddd1d803ca5be2f7fc9b87a481edf29e4e1549c329c2ed0dbcda667004d708c9f06f8e2578376184a0164bff2ce39d6ccc3080f4c642d4b7340dbba1c5cd33530c66984265e5ef7abc1f2735af28c0b9dc6fb99a6c84933ccda29e001d0848c58940d1f51077de275f26863ab11b8be525a4fa2bd5873ff5fb2a87fe091ce7fccd31ee6d7b7ea64e77a635acfa337936c7f084083ce42ce63c9ab1da9786916a475cd2f4910b7b110e9b503456609043b2824893487f8a6a5f8c2d44806256cd042c86bb45d2c02abe2cd69db6513e1d34fc321a6c0c623a36a3fe3fd2217cd3cfc9a92d8b7f4eee6173b6ae4e8686f8c4f51382809eaa0bf878aa5c693aba67311190bb428fcf72d80c020be58f2be314fdfe7eb5b2757e3de6e4bd60be7e42b71e79b53  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-13/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-13/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答13</summary>
    <title>【面试】问题及回答13</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="c2fe6b7d328fd7e0760e7c167c8ecd3755d447a07971b332e1e06068363cfc4b"     data-nonce="0ed7b70e98396b978c08982e"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    33e951161b3477ac7a8c4662d7f36b04d73a261e31f83265d908dd45419b2125521c8b9c61cadf6f85046dc82a80d82862571bbf3366a68474122d9e385b2f5a51072adc0c79184bc128fab166c7d150f3ca77a808c585224b6c72d7a4a5fa6173384ddd9998821b94fab5532f371c41dc5d8d9a7b7d6b3d5397990f4c0e4ed5d72c05dd1468affe34014bc51bd446dd1890f26a7ee0deda6820ec04f05aaac1375c4e5e3db8f5e49a7b045c1f12cb357308746a2d212c856078343bc3518f47e3885e017146398f310a1378cfeba817a635c216201dd21f3d2bea15f29b66855bcfdda9b85e868577357d9456a56d3e049fea7d09235d8733b3e708ccc09f888cdd494ae2ef081e2b3838e31c626bf83f351425928b49c6ffd94eca06555ee992b0653b1ea273971885cef33034bb8dc0f455e4149c5a47b90798362ebf43e7d0246a420e8fbdc895e48b363a6f0a0ab076887a4d69abbc8377a52ea40c6a9108b6ad4141c5b50fa5dd7e86c317b74d8d9802177fe54d314c63439e97044c19e1f06b619d40a1948501b1d4353808372e14a142d0adbebd310b49b9e14b0d3bb9d9f32c6b9023f7f8994395890c9267ea46b6a7cb6123f020db8ae486a07d7828e79ff15e9b9db283dd4a40603f0d0784aa15f936d91130e4a2bd8a375879c593e6d5f0fe9902f3ee8603891bba1a229d3c85c16138a90db444cad365562f682d07b7d4df538c7ac60a547c387d08ec401f804472a479ed8f856e201e641bb681e16321258e7cd3561a9d9369ff7e2c5b8132aa18a0ec3879b6ebecf8d6d54f3a914b0b1452653fc4b7ae7f37b79e5c5a3a1f09cb298335e48dd890cc54bdde60440cff51480fcc756b4686b9b6c6d9f3090a92e14f6ba5dff3ebd79b6758ce8c0249dc1a3553da31aa32be73db45fc34f4dbd97377ebef66c738858ebb56d6d0444f051e7668e185e4a0bd043dc0c8c8cdf622218376e3c3e89656e6c2a37a41c9b7b1f64e55c5005e89258d90d8131c9b12046182980774dcc25216375b1b5eba6c6c20e467fd348573bde0fe451423adf01a9d95a789aef91b705ccccc7000eb24c8dedb890ed6e6d5c48cdcf6ca3f7ea5532305652562670abf5b23307d837d76a96dd710196ac57702100d38dab11f67c1b16ce2e3e8c65a09710e0d99bfa68225f59d2d215279037735bf828f9378f40c7462c0905edae28e6e01bea46c4cb8a6b5950f309035959f82a86d32f3c598567e59588f9ddf6b6f9fe96109c7fc92c40f592a31afb2e7783c6a9bd38dc22f7bb047eddcd92335f6deaa53c6d10fb1576d4d6481c8198fa3414eaae01b1dfaf3b4e922d0886e4cce42981c4d827c101a1b1c45b0af62841b5ccfd4a518596b5de002793621563b4ac89f4968355f808305c6fa45a8ffd3db16468c7bc4ba16db41e55432406fc6c91c06b732452e42a44bcc8a34d4020033a3081d92e79778cb210b3732c09d9bbc638ef3a6bf76c82af9d778579ad3488e73b1f90ac30de3f7084dbdffccc173f71ac0c4758411b07096ffa6c7814c4756e739a3681e40004275499d1e561670a61187e19f78b914595197c7fbf0b06f5cd67f8c6e58acc0a64307b51e3a1855b07e63959031d5177039b89fa4cae6d74e157ea43f78007b03538e6eeea0b2b94f6c4ffeff8e47e02649ce3652b4e112594170a2b23931fcadc5f172ed70ead43605c28641a07a016ac0cd08cf6059c360176e8997dce5adf2e0cb496fdc4573b7923ca7efec7d426b59ccc08d7ad36e4a7eae486de4bc23b774f5697e9de923c821928a4adf3f14cc3e0a6d76df495921723920e676ead031dab22fb770c0a7d5423a54440ae4441344f0c5b3be7b67e99966a88502b869e00477ea0e4afce09296124cdc1d3eda375e1590e8e5e6d0e1facb87ffe404ad47ffed149bd8019e32e4b1d6699169fbd07de35b18fc8cbb11d3c4fa328506c45e0bf4c85fe17e0cb85fd4e28b0a518fa6701bf5e97a898ea6d39dff4dca88f37d1fc7568e3d73fc96e156fe15fbf92d5900a8d47646f3b998f8abcea94aa6bfa754180ac8abc51261db820228e5f903254833d12373703ee43bfb2c50be846aaaa4ebffad08652f42c5011da8298e27ac7a7a1e18bf2be7fb720df4c7bf74fce5edc9671d2030af77aea25858d9dacb6e43b819bb067683fd8b70eb81fa0ab42320f8770211beb338d41cb1f0b2599584f29d59146ac5be67d191f27e74f6351d91d76528c20f4c4517fbc9611251bf1fbff1d1173d6904f28f0301821024584c2c8c99818c9f0fad77fd084768bd2c9a99ae3b9668d66f7fc8b52e68dd3d021531016f89653da4edd2c69d632d1e6b768b94877d5d0ab9a61335dd82777d253dd1d544ea4b90139a558690b73cc9491a311bfdec82d4402941ff9e86b17980cbe27ef40c9ded0016916bfd5dcab6ccfd7453611a0dd481f84580553f10e43fbaf06abd39c3c0ebc3a07d5b00e4a063df21d99bd80aedbfd007614f5a3b3d6b6860f21560d9b14f55978c2e14a0f13faba2309b931d314780d90678a5e8f3c9babd686376d05328258090264bf31d43c8b2efd7b5937dec78b0c7d040e230688e831b159b0d9b74ef72fda84e7bbf39819892b02701dd0edd2cbf02f538ca3694c6c970d04bad9a03ada46eb16b62dfb8429b142b561a2f535dcfa42f434fba27c8008e8e556cb0bd9125b13ebdf84ffec8018713a534adaa620e07c716f99e5ccf5271ff8440b3f8baae6257ba7c5aee40a3a92b7555f0391195d9b3af5c56ef30538968df3de894eea57e24eead1892b2892d1fcf6e58296273f02873eab256a06791d3cb6baf47233ba6bc95c77bc8a81fd8c0f5f027ea6b36a0eb50c467628bdb815101f47ebe066ec22e2adec294b3340a108241f327c563840493a2fc6be6e4465f355bcdd3bbe3432c7f46cbc8aaec9c193269b97b7a0f572d95f5518bb258ab3006e38eafa87ab4d9642c8a46f6661ef677282f74dc45d7e1536a478dc19a5e65108ccd1ccc7f973180f9761d04f1e6aa957d3b769ad0a115fedc8495cfa0aef05bc7cd4e3e881657f7a7b1bf4a23725fd4007439e0fdc6bace061280c65efb591b3ba271aaad12371a66741633cc1e853cdb3a35fc2d74143fe763acf77b7549e9763ee83682c609e167065af8f00a66802658bc90ff09a8ca09218b000898830c5057979c8e4435b788922d52eebc3db2810f860b8c88fd40788797a13dda45696a9991add95d92b87cd95c66970c62b85f5f7ead4396899b299896b9774beddee931df2d0c859fff385c1e5e6fd6278d2818710e3c4fdbbfac47bc37dc12c1e15134c83731103f3088401cf2fe27bcdd43b98aadbc413571f9410466cb3338b834dbf32ad32f6d8b28a2e2f29d1866e88933c87c2cdbef0f8b921d67d33bc3ada164950bb2be113451c1b80b55d80f1ffd018700b82752e62ad699836df5a82e71c5a8610d134f4f67335af74b959db58d55909ea8ff0035c26127cc0b8c3eda5be5f1ef05891c7b8d23cc8cff20465e752c80ce792d4e54bbd55c20cdd025fbb41f728f542a09ecb60a57b9ccb9af583b985ba30a204fe8a77c0129b349804605ade611ce5d3679cc8dcc42286bd82f70453813627037870baa9dfa7c3cea419bc8e9a30cbc55e5f0a559fd8b7058de3553020724dda725528068576f712dbed56c6670495505921cab3e48b40708561ffdbdf7f5a93d4f461c3e9819b5b5a4c0530598562bc3ad596a197e048a3705b43ee33bb7b239ef51296a4abad98ba86fd4a0a9bc1a78b6703b719494cac3480c99ad7119e4a1d8bcaf14116b200271abc26113ae633b4c76c4a3a9388164fbace1d1fecdd6a3f88e5ab75c605e6b03085f6b1a2fe8898b5d83bf7387c41bf6f69591fa9f7d2f52da008001ea7d5f4c73c0cfd1df665a48a326cae609cb777877655a0d2f5449f0bad61ab77f535964c0d0a633faf1f09396df227cd995c9fb57b6e6ed133a0dadffb19c623a63f22dca3cac3a7e427920a5857242f5b8162253d7c0a2f3435345d805e14a5674abfd72804c2b9bd44e71f3d841106994daf2688bc765d84632976f24d4395fb6224e96761a46af82172039534f99aee30f468bc85581c88e1245b2122b1f577af444577026a6a1526264ef6463310f9c68a592a6a50b5660f81830e671267aa06269053f26c8f7fa308c8004590f2609149aecaa75a2d3f9f9001f0ab7c4aab308e308163feba90665d80726ffe96698736f50e371eafee5e110d91642e067cf751a36e307c65cd2958d8ae9c3612b045c37790e45e1a4940976ceb29e5aeda692c5a759b174b3cad5dd470e2db41dfa9c1c37f80c3be46b9f3f100436d0d4c4f4e589c6d042fd9562e3616a37c2d7977f84dfc2de541338d4d8dc347a435e1d8645fdc1fb47926d8fea5fc3d6b86d1588f79212519dd67af4e4bbd793600e468841bf9b96431ba9ae217826a37323410acb0c550da69070c6df6f98dea237d6fcea0e58e6cb50f72b2c90951b37ef642f90f964951c5a3dcaa14f01de3690a575401d0a94b0fd4f30524410e0a3d43d88a95d1996b1373b6ee21a131da669f34dbe57f6741ff2124639ec7dbd8d142489542d7dd8d21817be7f92cd78e334d52ce30f2555bcc9c6902d3fb24caef426b0729103bca85313b92b7d44514474af4cd87877ea98b01bd1f32687290319927102a4821a27ce46fa4ae3ef76091df470501ebb6ad26159f18dba0564a76320bffd95b8e02ad57aca931f89a6d06ec30c9399f4a842a4676ef526a4f58cd4825750c1bf64dadfcf42db6d03047d9c2b6506a597b2b403098c6ee754b1c98eb74117d6df72a292f9c70246cae8c5dca1a29f3665db8097f708170ed6c910ec4c07e89eecbfae5a49067acb6b257114bb2784b8296cf6ede4cd9d62b89219f6d6d70f6bf90513e435009310f3417efaf580ddb0d57025749ff58cdc714ece7306c472ab7e09f95fc47da6eccbf593335554b74b1e7091937efa0d413ab1e5011a8c746478506d0397841cfc13ae89aa5014397acee57171663647e75158eafc1af65f7f5d03e6b46f8c40ca4bca01b008e6b7889b0f731d456a36b78bd581f04728ed31c1ec8cc53a2d5035ae855f8f8d12251e72c9f96b27ad102082223175201cbed4705ea751cad1d1271da640a7ca803e416c08a36e1b420e32ca0b28a604e8e656bf9bbe521187beb4b682e5b95e72c05e1f14ca04305b658c06279dd6d9f04312907232d2d4dc88d1a36a699881d60d94558e9ad294c1e59294849800ed91b8cc4451d3517c0ab81ffc9957330fcc6c841ed824b38b8f4ec40fb12e98752b344f0668463af4404eda0c844d0d7add2c8f32fb601548eff37e56b97aba5876924887dee5039835727144b711da2a895fec87e3a02e396c98af5b39479e5920b4cdcb8830ef9e26f50ba738f14c2345700796348a36d4e98786ed4ee5b0b252e15afb61be86f4ffe8519762e010750bfc28ac4857b53891d905fc7963ace05146d672610926b0b005133402a562f16d4ce4568572c88ab982ef1f661dbabd233ac8f667716b436da96fda6ebf3f9bd0933a9a1c9724051544526c9b089c9e822c92cb8c020910656a94d660cc1971dd923bc70933a0ba29a5f3d1ef8600181de2fe9259ebe88bae7ab8c271b3a6c62aed7af6aed1466ba6da4868ac5bc541f35b446d8d11c75d776cb2423180941848ef9f6d6d3f169adf8aa05fc13dac977ba03b95297ed625c6bd24575dca30e64b64be7ca4814508a777f8abf183d5d9f58c1fa131b7cdff37bab06caee17d4c56a80466e6a1bafb037cb52efff38521067f38c96d714c5d57e2d912662494dce9a7ba6815672e887225b895e6e1c662ea6088ef267e284c47699045120d1b5958da743c861fc9c02ce976adaab494c8fe7c45d503da8e0cab33127bdc459fc5bdd083e668014c4bec4e5db0085be682827b4d4e93a6437c43c548f81290987a8458c3ab9f4d4881fe29ee7e8d1aff13263210e9c1ff1c517b2a8b8edd17f21b5d19dcd044697992393a84f5b0724bf6849b2dedcf7df8680d09f0451559be8da80d3d7ac7de20416f9dffab17f07b5ff7068540b6c0205ef3dbe631f4b97833df4ec3cb7f7f3efbc16ece2af4f69e02c35c30eb1823d56bfa33aeefd1b70368b4e24f3b3f96a4311654cc4afb42f61531738c365549bcbd984062fa161c170f27de10dcf2d894f984bc5fdb2fbe97b229e39096f318820e805eda0ba942892871be582d63d691b474149bc4754e72fb1098906d24f82423a8c4c0e95e394adf84950dba2e9538da7b5aa36ed34d0bc4231ead9e10e3ce3c4fadd54a57b75baedbce9c69fa675a0571405900b51f35c1a8f5cab457809047bc2b3746eb81b45ecdf03fdd4575707355264342eb71bdd38fb20e91971b8a5195cef75542427e795e8d33dc9e1f5e465091e3b0b811292c18a5b8cf7037f8f431ef8904b8eb995896bff38ed1ebde62b1c60b1232aecd488442c7695688ce0487a78dd7f1a978ba265d6a709cc52de21b08370ae58d5aa97c5fde27999759662dc0fc95caf23696a2a3d98db19cee31a03d49c736f91faafb60eeadfac618e3df2e3b1b6bdcd89aaf4f302c2a588829bcf7f82f4e675271a4780b8f667c012c2243b5fbc550d7b62bc0e40c96db2f41fc8412fe0718594151ca0281fedce454dc8d50095691cf7df8eaafcaf54907c24991e251a1659c5422ead488d1c1ed55477d9783cfc037d2de1dc4d4829c506a56f5b26b91c797657bea6db4132d0bf9885337013e78dade3ef56695414cd7e25aa82a50b414d22976a93f9ee1d188734dc914a3022a84f39ab24d284d0c5b11206646017f9535f26e0974a421200e58bd80d4ae0a95e8f2fb3956062415a48213fdedabfe039a61485594c2fd7c58527d8709fbe765d8f7cd7bc8c4f4c60c1845f8adc2ebf47b5455f8e017efcf60c5bbc53fd7c9263e419ebb22b99525591d26d8aa4cceddd59c1137aa4e3e0b79e0c149c5c18ee85e06e49330a9812656fe5a66a698cfff7ba139b0d544073ad60604447b91dee2e6f0ef8e4d8bb12c0332ca6b97bebf1122438f76e9f9438455b3e0fbf9bf58cc4490afb4d1eaa3f1389eb9405c9e56eb3e2fc6cda1f56695b0a3f05f7a30c9e77d29ebd4a6dd45236c586ca6aa4ba11ae713d587b80e43b78258c286578bfe8b5ede1e810faaf72aefe269c733b6770ab390999e8f55471f8d95b500d11a552f6d89c14354fe2fc858aae3080aae8d299cb257ff9faaf89f18beae48b4d68c6e31e306991cfb3b819cd76d93391938455a3a08f4584050d4066b5c093d139c081b589f450a6ca095dda1cb97707c6a0fd9e79cb0a6fb176c99a9a14733f9bb7e97bcf609d65c97a8e5bfc7ce0e085ed9b97443604f256716b66743415971e70a394bf2e2130afccd617ea60a53e34f654a85a1cc9f14bda34ecd104dd1797377f0b9aa3197b0a8a0e64a9873e8e456cb4bc4eb4bac5c232daaf8bfdbf56fadc20ab84d55629e7797d23844eed91968578ea3bc94c5f02c421d18a5f2154a37895ed3ede9ac0c6c1a44418554ddfb4b548a111e421ce732bb4cd74f199bb81dec8b4526bc7c9ad936ac0e5a464a52e22697420b89bb72e47f48441a53846133a37e75265fcb0bff1dca749ad0d7599708284adeeb71aea0921f61de03ab2cd1bab952b99c8a699d567473103b8a5bf8592aa9df38106224580ca47f87852a2c06919618a708992c5a74fd2632aadaea0d2a83092fbbfb529d3fcb2a5078b26b1f7f4cc6981e3a97b76f8fd24defe5199ee6c8b88b6d8c8b4cf630e8011ee294e9598f764ce070f20a792b2830bea2a482c6f9347d7a06f3c97c57bc1029f3a87a941ec4a49c0b0fe3a24f7ac4b7e7833e82916ed3c2e735a14e2cd6e88cdf9e6e8ad358266138ad501bea6b38d159e2942ec34bf63e01f3cb9ee7f3b8f8f30f2e2823f77d3ef0ded4b7fb71777e6987fbe3fcf377813262c27f64588cb609e29a53a8f3bd0190b19f3daf533354ba0ef8eef06fd6a94222c262a9d7bd9dbb3e12aea326e0f5640c0c64dd8a962d6c65e319b687f0ebe4e52a34d62de3920ac9b68efe97ff8e89de3bad0e0eb9f4499a5f33946a69c3794b6c009fd6fecfe35812d769e73bc4b7d07d7cd93843b2a30cb06de4661c0d92102a37d7ced59cf3573224366a52bdbdf7a57accbf8b28ea3f2551e382842d305c380026be2093150705f21269871e1f5ca1795b574e46b9298b54d89cd14c19d000a042ee90ffb8b2fd9390f7b10672d9d614fb36d2df2bc7d10e6a08aa758c14447ce0f8d0a796a10886f01b8f05f32c5d119b676e407d8aa7551b1c592f227fdc5324b03e5492ab42426554d7c0e593643deee43e7bd54d72d4216a8d3c81c2dccd82c986e3f00ac94063098705740ff955a3ada7afdcae502eec206c4e0f86eab4e41a642965e54a7b1d8935fda579e5  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-14/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-14/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答14</summary>
    <title>【面试】问题及回答14</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="38de39510f7979d5b2990672be692818b9303336ddfa4aad4219fd1b58cb618d"     data-nonce="276ff7464c6cef6c050fc01a"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    121ef5bffd755f04540a7902b362c91fa4296c34372bc929c110fc96f04dca9cc28d635605047282926ff2e70487276382e3135d3584c44a813306fc74c810ebb7605d96bc3e7b7b3acbdf63206b33d601295a4dc3e2f1528a714d95da507812a9e1bebdeaa2fbfc9252d236cee5d22369d2d9579c22ea90021329b24c414f67c4fb440206fab5ccd46689404a5746e8c82d9489a7796244e86c83f726b7fa42bf0eb838801cf8583ac4f9cae401323de4743b475e36b1739647ea0e829694722924e1ad980e3565f37dfacd56aac280e4e94693576f2f52ab3ae04761013ca9ba320c816c7a31c4fd9eab6ed75b3bd7251373dd07b13df8e4685990a8af06a5db88352474fde691f9b71870add3988ffc9925271727775f12db42636ec2cdf37660f4a68ba2e8e2e747790a4d7059df55b691556f69bbd094b8dde0e4af1c59a1afd2c01a693c813206f1c802af9a807b26cc9392ed4b2617c9ef72b29a2f5579ac0772b67999339db6312599005ef1108e5088612bcdc920022564a7884f3acefa8bd2cbd067de24e008f15bd48deb3061543bafeb07c36204f1fcd1a77ba684f8a1f8117476a03773f33904bd01af060bb992b8f435ca0ee8b8fa68471ff7735ebe512d7ad3c4ffb543fa5c44a18539487c6ee69c983d0e06727483fbff972cdad8e7885f3afb8dabe5101a9ccc3097f4dafe10bd2a09556cf02d5e07b33834d97be61368828cbb6ced2e5060c2a3670f9cdafe7e20d2c11fb272f0a132566c9a8c14e01b1bbc9319681ddb34824018d7440819a5c9c8d78c12ab6bd715d597e436d7a97bd236e46be1803e1cd6bdc369a290dad21efcd9b162a4018b00e29af5966aae4275692afb7a1942646fcbc93dacc8f29cab5a7434e2ed7066a6017c6ab428e113de554ac4962dc20f693a16054dcfcdc00e36d8558f5c38edea03c450b49f994fb84a123cb660558e182a090d90ce90a1d80b88ffbd41aed368bb1b303dca0e1ef839a9698aea458e6911b98e400432ec0ab59946c72bbac671d46cd66f97bd4016416fdadf3b8336d95f36291bd5171f5a54472754a43b17f882ab00aec5acdfcada3c35330551261706c3503b00d2f7fd9e95788fd012adb3f41f0689f6b0d0137610c9b4977947eafb4d796c1e75cc046e91d500b7dc09847f9d3952bbf8452a1cdf5a7cd6c9a57142b24373ffecf649aa517420b0a0fdc760eaf7f9816c679a7375353ec9bf579f71c658d0ca45f047402e3b090377041270f326d41784528cd59bc18d3d3a7f55d291997c6a61a7974830c23d5b6414c52c62c3525972155ef70e7ae2727f534c23855722cceb7e719bc2f444e1b981259cea51139ad64e8a8a61129ee9f12720d9fa0932b303dcac2a468c092db80542c24ce4fbf2ec93acdf88e920146b3ccb504ce8a301f124114597d404192e87e77a846a8362ca70d40a23170c4ba0007a40edd4ea8cc0356a095f1f988bfad12cb536af718a232e45518486cef77b4215ccf4d0b45bfe645fa379ed70586b51a798cf570a84a18f266634459c5147ed4fc4d0cc4a1e93f5ce389ce27f653298dd6dbdf422e1715056c2eb6834adae4bb58affb255470b2b3729154969c5ca21780dbf3f9fd263d43bb005e4091029dc6e1eeffeeace2859d2e644459eee47dba18d764323c533350ce3f8d5c9e8ced92c0ee5fcd41839b10d7e3c94c044304af52e891d82a7f8061ab1c5ecc2b84d4adfc62a7090e68f735bb2e0efd5eedf901bbd24ccd9b93e47176225c206d8c54eb70c73a854f4394f23747f61dee30216e2088f93fd66b5e91a98f8f061f53e408452ed59ea0f1f4bf9e9fa4bb3f38036a5a1cd6e96203461fe428a45019b566af4a43c4ba10dd347b6e27b85b507af3a360c0ae284a882a5b20a5e949e83ee0f424e52f78e36f2818d1ce2029496d99a737db04a9dca138f4cac4ad0da3cfbfd9b1cd06d758246db83cc1e10c19ca6fe2efc217d2148188800cd0d3402858fe0c023fe790d63a19288448dfef28cc047e26ec32ac16dc905d614832ef250c651964bc26530ce3b95ce528aa6cdd20b300ecc21a84e9bcc80fd2e7aa799bd3bc2b96f6a466c33e51fe028a6d29786070787917c1de71049cdb75f8bba4f320e2200bc2941fb2fd3ab0c9c09dc718eacdbad2b34e053616f51968146caaf795fe8740495a40ed57380a2c86229fd452fd2dfa2594694df6e63f0c6892ded127db2db0755ecac843d36ef7c381d8044fd68d073652f54a36aa83ca161413803c4275404306d513f0e212129aaffd3add897528f44ed61888bae33542eb09dd5e18523902150a9d9db58e8b407f916abe3796bb0ba5745373b4f195e7563b0e982400d42724da465c287bd3312ddafe93218bd7c904ade80c9abc9d9ce52f3865a5d3a92e5054608596e41d5105ea32918bcfa253bf297f153b73293367b08723e8cbc3004cebb7472a99d79dfa0a180a0ecfa4aaff0daee9418940b46373d129ee330bbdb77e85b51146ee9dd65018d4be2c7e1245ab7d1e4804c58928bda6c4c1225c73c58ea13f04babc7dfb2f441b665b459b4a0871a187d9018b72ad0d0a93c971d089233e1190034e2f4719a471aad2b970a59efc4923988b4c8e6bad64064c0b2fbbadf7b6239d3ba0711e4b1f0bc2be29b77dbde7d0e0399f8da44eb3205f07678f61fa4fc2a783b01e264238b46fc2a04b267aaba9cdda878aa47422349db5465d2e96f2ae2887fc05c2cbd72f47cbb447c8aebdcc603c35ed84f257ac42f6de23fd9186080de6e76f7e19e96df1001af6c0e016409cbe32d6b65c7bb9b8bd077628224230a56e35630185c7214c763e5abd12deb17eaa3c2d17cb4f493c4bd32d925890219b760a1efee6ed82aa7aeb8d1d391f65b923259d612ce9752156e892b4ee0b4246319261864908a63fa0af48072bd0ca33178819dca865b459830ce31297da21d338cb4b68632e845616e08f850ffbf0654dbcb19a26b98e6d5f57e95b98472f6d840e27f497b089d3e2ce9952b1da83f944ddd25572f1dd4a1b723bf6a36d90b034f5050d6d57ea31665a89ba712a00aaa8a5ef0160c1ed4642c3a1cbee235e26af1dd645c7665db7935494d86a084b8b4003057b8596881f5e6efa9ecd8b2cddf03dfad5bf831d32f5a9e3915640febffc0aba1a3584c512ae16e7df78d126754bbc4562cbddd6dae81e2b57b67d274a10ca47b84102db776950daf8d0ddcf433e067f94e749b3b83468c7de1e732a2d86800523ae17e4e1c33c04b6c506d0a5ec396afaabcee6b4cef1e8f1e108c31447af396aa0d51460fd78ef21e57b1e5444b6c249442ca52eb843acef8f3b35a4a84aa1ccc04dfa6412fee33e9664ac89b8541a074bf915ca2d0befa78f26d0c68285ef78071b7e1366f89f4926dfdcc70f2235da3eea37c664d5a01dddc6b28fe01ab3ff0cc3d983d0b4d2bd948f8bf72d3e5cb010ac78ea1f8e0ee457caf41b03c0753d7783b583fdbad8ab8f0c62e1d9e5c85ad086142541bf07e08ad4a586698461ed070b62480b7e1cdf72542fc6b22974aab2bf3b9ce72a2e4f188b509d82f43530135ede9df8d276be74004e0d48ec2ffd40472e02d3043357805db462fd2f4c7ced4f5f1f96b620faf3bb39961bbffcca800f4c58382bd7f7da31fc51823f10e00a08af5f8a30ae840ce8843a964d65aa32601a422f070a013afd1103f5db55974277c40ce49a8b7238dec2fab039f065042c1e4be6585a95172d0b172c67db757d4d9628e64b863e7145b39550cfcf2b1dfa7aa62f41bfb4bc3bc4611a34da4a181cf057d4c5b999b4d974e99807c729ff878d8448de3905da536585f222440ef4340890a2f7ed8dca8adc4631faf6b02f6435f90c23c0d5cd51d361f7f22aab744bd66be26e8ad9b43d752e38f41ce928fa2a730f13ee94361df6e4a1f4b965458c5b5fde45eceea4f55ec215398cf554db55447d14a1a85672f530ca7559638e41b77ea5b1b50851442fb59a26835c2e6b8035275869b5a987097dddd0c2d6226533230a2808fa06f6dafbf0e74741ca2e02c62a3e8b5272ae06213014844ec709f832d0c08ab8edef95f857f12bc6dcb4fa9992a2d59922ca7877c4785c7572058de7d0eea4803aa23342205bd952874d05743baa2c92bdc30931a78daee15838784648f5b107ed589d00b28bb0330533d52625becdb4c13ebb5293bc94fd98362d0e4f8047c7d07aa64a67649faa4bc5ffd246ed3d49e229d552e3bd9e0297abdb0f51813cd293103cb0d40bd234c11df621a025c8c732241adad30a0e4b991af8e36f04416c02da781c2201a587f5720f6b41be35f5cc5bb5be00bcf6b96126b02e21df1f6c44df6025a1f16e74008a18edcf49535febf0121243f3016549d9bfed519c7b009e5a073c415d74ea02bdbac563270dd357dc7be52c5d7e902e30c92545cd6a7cbad507ad098fb402035962e0f264759df39f9f987aa6552dcee193eaa093cfd0b6e396fe4d6196e28cd2c150a8f0636dec2954797da3d483c335066508da64f2f97497e2adb273455ad0685ddb722855aa933def5d4bbc66070dc656f905f79ff433dc2ae00182d949c5b57ac088136294abca1ce8ec7d185b8f5c56e07c796f04eb4c664ca1e4758aad64b3c206c3ddc6c935550c2cfe5bb48d1617f895c062df43738c45f9706196d864de7e0e501279c3658879a00fd36f61260e991f5c39d03393b948c640ba57412d20742efdbca64110b656e1026f2aff40ee5e7146b79ccc0dee1230d0d6f4d031f533f515b89345dd6f2dabce435c2ae7dbd4632f8b896297a8e76bb95241663e96ab3e403c0ed345fc0dfcff113314b3189cb4e0331de4640c0ae02aae8d48dc2b4700969734ab6bf36ae642363dbfdbd1e0163f1c31a87437957770e4c2e35f2220cf31b7b4ed6d6e45688c58289b9614212e35a187a29d1a0a08cfa0f02397d35b9ea4d89a7d0a2702ba40ce380e7aa0bde293293122cdc8c8f1427d7707835681cd4e3d2e554a974689b47beb8c986a44c614703779e86c2a7fdcafdc9bab425ffb2a68aada15ac4f6e8b4a2baa48648a93a5f927a5f432375869de274b5674d8e71eaab7438320e6c7030904de7606570bc0713cf51377427819c2d97c22360c208bfc00ec63bcf2e801999e5fc21d730811541aba3bc624fc5e8cac1730d62e2b615a29f52cebc92be9796392c59db88035dfa04bb2537a6f1fdf8927513f4c8474c3678783781f24a670e1c86b762c0d616b51dde12eff554860e10760e4fde39e2342227014c2841e272da98b8e4d9661a2dd3ed832f7db865c05c3a804fc7518f6fe80bbbdc9de3451747318cb5ad31d4dae638112c24947d9b8d6b45c4130a7995bb0048b17bb58a89d48ad71dae000d3ca91bf9e2aed9468bc4b4956c208ca00c0787117c1bd752a87fb75c2de0365dbbab35f8cdc852efaf95ee83db60f2220ccbb1d709d86d3648ca6898df50ad2f5ab46d1682dd0e47c41b688ad75da6421c3ccc496f8449a9bbd2b430a07c168d2d3d95c14b7674c0fd97e6b25c1c5ae029ea67ea99e5dd6bd1ea6c3693553703a6ca2dd3ec042ed61fa88000c01aa982ef9c2f72d052f383d139af7d77001b26eeb5c52070c9a51f49ada97afe5e95f056299ee6ab7a7a56ad8ad93e1544617ef628747aeb14bf4050ba785b62c0144b5b3a2589b201243fa5669bd103d5c3213ab6efd5d3508b8b6db581b21730e77b1306aac314e49480a39c57832bd0c759559a89b9f4acdd500d74c6c902178593f5d4f5920c11520f21258cb056398524fe920b2e3e5a1a8a587fdf725c22d4cd562c02351966e33963fd44500d56ed576a32e91d19cbb584daffbb20c515d9906a8ead5c8ccdd5d23d42969d0d487318320e5653d910d2ebd71bcda9027e79674f03fe09edc98b3af0e945d960a50c69bf94998d4e26761b7d250a401c650b5c930a72692bb26b99e295b022c0202c95152eae2e8928445a845c9e3b7cc02c84242e3f328f01ae012604c69ad3d6d4bc7ea58ebf0dd4a9fcc12713708016e75aa0c21de53be62a4abeee89ce5a3a4db6a08f3e5da83d94a27d956c2aeb06892fe24ac44ae8b5e5dfd341ce3482a72541a64f395579d99cd4c808f809acd9d84d950a870b9684e80546c84e9688ecf614340c839f08d050d89fba13e3b177121ecc1b83220859957fda038190409025870c2720ff6bffab579e109f135631d15f233de54b05b00100cce5bd62d0985651ea04bc86476c566189e7cee1bd3b15423ad292fc63fb8889cf40a78d838207cedf5520945eb8f5b37dd6283c4f85b8aa5103929245921fd2ab074833fc772239b90cd765eb7c5ed489142c7811e93855f32e2600bf53d6d3fa2673e25768385324aa7cf62a94138303c56b22ee8bcd00c683a72efc90d3255a426c8757be0a707649b1066dd97359b5067bfef95863135527071e132be8f85407887e4e53c97156ad6e06dea48c94b2e1f0dfd6a0bd7ee58dffab6e23729c4f24d6efa1d4566f2c54a476a5c4700c829a1ea79b56e26dfe869680e1348c752f25774fa967e32b5e2c7e0e3f26ea50439d5ceb0f8fdbd6342b12165de69fcfd399efb351081a0d273784fcf772d48e23b709cc22aa17637cf739e19506f7482bed6ce946e129b05b595183db181c4fae96886e777970e53806db8fe65d807c97a95b4e8be8bd2dcf28f851eb7766c2787894bcb3f035a6586e605ed91a069db92fa9b7604e8aae92914ed190a1dc952a07d64174de1b9d7c8441d51b65dd52334e303058ef7a55fee2fc0bb6dae9071bd28fd6c8a174ffd667ccf052b50becf5cb79ed2d28f09dc032231c230363d73d8932428c5f959ad5d9aa0fafae190e82e8cd61252b1e43bff8368de14146784f94f134d2ce61ca3158f90fcb196f87774367a51fd2bb61e4e77c542a21d095697fe2ab8721f4e03e7b80fe4ab8cd31e7333e56f4dbf0ef95f3400a99c7c1a3238f2a312093474c5dff6a0175d5d8e48bfd5be407a8aabbcc4f61f2fc6aa547cd1f498f1e7c055572406c9b01a3e6a2e84f0100cd5ae556d3006663983c201d4253ae7f960ecc76d79f762c3df2fb0cac2a8e9845777720082deb1dbabe69c64b005f352c32a79b0247691afa337ba4be9e6d3fa83e23295911a8b960dd3dd2689757be4cf80dcf77f65ec5f55a5d0fbd7dab3f43b24d2ee7e7e97051a2794951eeba7c6902f6893bbf768e9dd370b9b6d59394abfa9c9dd4152e0461e906f7e9cae504ee9140a36580e9d8764b8b5adcb825183177506638627156fe2d10960d1bd742753f00fad3c1dde6f9dcb5460e6d39b0c7039e6e63bdd61bb9e77ed6e8f97120cfaa1571c1749c567c611100209770c22c5d63f8374221be7d31aa9791f3682a3ced8bbf245c237237928958b461590262961234fe5556864c4c8b6729f776174d48256b2b06eb2a537ddc08c8e2e7684425472a1fb8171ae73583105488f64f3a257638eea421f2f3ca5b2db4ddf9d73554047ee256d7cd10cdd47d5fa6d8f7cd7cc413d9c880e589bc6d80090b60134973518c4ec231d75624f4334cb7330e0dd48917a567e6df558ba6450eca4ca363b0769bfc1f725d77515bd9da5d2a4b53c15b3dbb5b62e9d938b87c34894c0be666451b3c3d9869c86ce5786a4116fa77b9ce4ba493b6bdb7e5554128deb77a71c7125c006e5a04ecfcb81c39c8d7947821bb2fc8678cc3ce23b90b7c5c99fe9358e82058c0a965e50e684acba06d26b3a03a58acb99d32a91550607a8dfe276b7620660c146bd80ced51065432624c22ff5523956199bb7c05b3883e4515e2fe5cc0f6f9c1219bb0f70595322980b09b5c453abcaa90b7aeb4fa1f5f2178c6a89d9e4c6f6090c6ac472e20571fae6d22b7149fad41924118266c49356c7f281eec5777ff2fe5d45bac3d1ed62efca936117fbb396796a9fcd507c99547e1b8eba7d3e8bc310508a8a9f9a321a314e92c4b145d09496445f5eb8fabae7e1a209c836fb571938ec04b5cd947192496a4afc2b107a0468d87f3c7065ed4fdb5583865b4e67787e32297f2d4320ad0353eb44a8110c7959f89f911e74adad0bc24de8e9ede8ca7c43326bcacb601e80316b3a94d4b2ac1ac2fc0e7a6c2f44ed66dd1b3b01a9a21cda0edc36ef28169bf2d51dcd2599cd7934888eb5560a89d324e0c7319f70efdd3f7f59fb02bc15565d01972080d14147253436b6ff64c132e363fb699082fc2c281d167eb77c18dcf6be0e5d6a54d95a120a737c1e0696761fdec426e614f4e10d91e3e8adfeacf583d46a5c8388216b1ef291af4fa55e1d7a9335937fba988465742e85a71da0af6c38a967aa7761b718b4d1e76b8976e864c6b8253b4e67680ae688e1069f659ac6a0a932d2b6d41893610fd63e1d77bf1ac1fddec8d0b38e77bf0cf3560f07e45ee490480836273b580848d7bdf9e9f2fbc1b510b1b0e6f6f004fc451ac450ed90c1de5a195bd98d01965b0715f91c47d4f47733e242473271ae40ec399b6115a868784746a4a774ffd8936a208a00d9b73dfffa5892e0ebaec747194d101581c444b2737d8b69935c9f1b436846bf9a0eb119efc815293b263c98926d4f68dc64a9e4a31ca5fd8ece657b9f9cf759ce357460a033a307ffc9558a1841da8712414ca77f5398325e1fdafb5eb6fc60f7e4265be85f9db501b2c763b8cc53d84a212745b52c5c01847bb0afef38595ae485748db456085b7bb6de16852079773615765ff75178f39e361d13e86bac0d2a2736e259ffd05bb2e81f455a63538859f1a2bbe199f518cdb8bbd94ceaef24d421a6d3530e77b801d9dcb725000ab96cc3f57f43be0913431480977fc1a552ae0772f59712540498fe2306c5641291146ed77617872c8709eeebf8f24e4c5c6d8db8d74c1272268fce55a96cce6abdec9c4ac8ded99d48dc446bfeabffaea7054c5d8a36d444fe4faeb6fc5693a75e5770cc2f37062a965768d940e15bf3f435045768af1b4bc6cccd3893406759259aa963b47ed2aa2fc2ba4b79ebe7206fc4c5a689e85fabc649376c3170878d6e9cf23b66e36671ac982  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-15/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-15/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答15</summary>
    <title>【面试】问题及回答15</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="aa7ebf7ef4d18b7e48638174acf2aa8392b9b16a312ce4c56526f8e73c6675c0"     data-nonce="6afc528c8d1b621f9303c917"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    32d7bfb06a0c035ac0993d31cb0e7131008998caeb6de97cee01b238c36b35460d11d35c27b605ba2dff711cd3bbb03365dee25b940ba3ccb0f885108f9a8d928e00690b1d14bcb0089b546e25fbb5fd29e7b69beb5dc53e8eb2fff7f305042188f70502e1453d0fe23940643e2164191cc8de7be652fe5fb35dacd933b8e6a4c361eb9ec4de59dec18d9d15b226d8eec6e373b5534254b52e07b6f4718b189a148b959fa30329f1fc18eb316fe0687b685d4967402dbb021222dc53e832140c7e8795148b4bb760cca9650e97c3f66aa795df1990a24f0f95ed89187b7908d3788accbc2168edc4f3c889af312b35b10a4c01dce8574e15567fb799752a8c2e60ddfe941819902bd5a710f4bd46e2c75790e3aef69f1c5fa4caf88b62b7ab8ba978bc593c1341fe136b9d15740ab66c12fede5b1c423f714e940ce0bef4fe7ba2eae64ceb5739506e52fff05258df5a27a9ec257e884665ed468770ada9ee2a93a02114c2a4077a51cd84023b8c6fda56760837c5b6a518995d6ea2f1e1c347567c5a2486aa4104d8a3c597cb961c8ded12b6c9c677f3a7d4cbd695ae3a61454d1def3893077a189303338fe3fa86bf97d2388344fdbf7e40ba98cbd4708709ad3d56d3ff4442621c0bf25e722aeeb3396d09fcd04b50f175d09b24e60df25d4e8bda8236a0663d94b649ef69b0e9af7570501242a15e483f4bc463278715e7310346469ab5ef767d944afcbcd12e4c28c29053358ab4b284935d1709527b665b38015ab9559ec9ced05a625c1772bd3ca75013c632b33a006ad1cd71ae730c53903cecce8f76deb633eb20e673f86700ebc6cf07707e34d4309737deea6721e1d7249ddfeca8f1166ab6d3af87b1bf9cf67f3082dfc9cc6998382a8f68321defa69e31c35eb4c773638b37c081fc36166880102c0b5dacf929b70417c96317dcee86e6bdb9b403a17c238080087c12e0ac80e7e8cb16f327d4ee9652eab31a977d42dbda39010bad5df0806a96d0714754de7d50f3888aaad62a832c9e46b08cab18cacfbcba719f77097a61ddbe96cc870049aa5d194a96ac3bd356beb3d68d0260f7efda31bfd920e15975d521cb0cf388e7efcaf005447324caaa481bea0f3dd6f7cf765675481826bce13c4526a3378eef09900f2b41e0d357e304d55be6e61c59e54518beaeffe35c270bfa9fb9913883b04368e4d69c85a2c3db295f23b4bfb5d3a5b5763fba44d7b56f9c2b183ccd1c88ddfb0309820e9e070346f48392a815650b8f766265329367cd356a5f51aebb20796937ddc20de615ee9cb9405fdb02f30170bc56f538a3a46178a943dd4ba57b3d22575816b17c8c19e3c408aff38ac688d20557196f469adba34c12f6a21631a9e67a92b0b95d5576ce9dd37f36b9f584a25df2e932b8ad7a31946a60eaa67a5c7155b327365b247528fdb3049e376cec41a7a5e87e7c5329c9c5552255668e1d7e100e553d41f0d3814d89f0a2254e012b40be242c7c44a09769aa49563aa648a064900e2c0b1c70d5a6ce8aeadd96fa5216e0059e39fa5ba5a8db10d77e0eadb5c0dc6c4cfe60851466bfbcdfff0b806b0c1c9a5ac5586188ecf464b7bfa927699518ac236b88abe2b949e953da2e77eabab2710e75ed7c92de72b6a407d9c4527c0f2fb666f09a23b0e4c3ae3a3eafe245162571193f2ba5ad8ee7beb0c6194a92c83c917c93daa2bf6ac00a56497d037ffbc5b08f969dfa7e5870b8ca411a73aeb62fe1f0f8714a93d606bcb0a03facdfb6214060b16a51b35084921ec46432b69f22d7ef94793b2772b3ed096c0c4a95c7429bae1fcfafec9898f5c29968af15caa9fe92cdbfd5861d2081552a8500a4204106fc691840ce7259baf9a02d60a01aa97ed32b926f22924c94c8c23d22339509ff476dbf52e3c8c392906f26cf61ab3b1767d5ad526f1e9609b503b113c3d6fcf9a87e2a9c31558cd0206aaef4d57ae52a00c802cbe28f860fd8a90c80e62c07d1cf5b3af86fb014de2d63edc97e35144d66b1fd7580db7b5d4399c65a27d2e0585b870602eb8e8e46aaeb44232d7f118d93050b8b28fe680d253671b00cc4e1723de8fc74f66458d66dd7057dc72dd42ebf316153d0ebde985ebef70c72465370ec23703a993e975c0384cee5e80b4893f6dd534417ea6b2b4698de4c1b8a950ce44da9da97504a4ec49f140103930f96f34c39b0b7fe63857d627c6ef284d31c53b21c43aaf2d67abb7e7ef05e22cead45569af562f8ed43edacbf3bd93fb8ec676b692e08c2790af19c042da8fb4c6fbf642447974075db2a078b99a1410d903733dc56b15100be0f682bfcd2730157304986ac32740fac18676f3429d0e808648ecb0c2cddbb98bb0127116b12bd42352d258b31beb1f7718165f20703d1b138131a12ff28a5b203b63d6126083e39716b0c22cb4b38436e6022feb2ab96e132bb64285fef98e2bf18c204c312620ddbf85fc3a391eba802053de541d92d23523af3a4cc8d312b5a52be3eaf4ffa0e376b368a5060ada6f39a87c59d786a858a8dfd38e054fed0e633dc1dd2ed40745c96bba17396440d459abc792bc7677328d81999a0acbb4778567b149dbe7e5c6c5ba0261d03591ddf147d8818e1f68e369212dd94d30a855b27c60406164b4fadca6f57f76ff60fe9ffd9a913eb0ba279aa2ae9ca5bc726011be5146cf74067988e5bc0668d21380c3761abff642ef086ebe0d6f6cf8bee102cf2db06e36e3c37a7ba1ec95dc7583dcd733abe558070aeadc747e7fd6413b5d2b751740ffd4292428f1e7918a969d62254fdb88dd414a6e438a07b48d429319db7fe86d0451548bd112cedfa98c604295d0628d9fab0e027c12f307dbd772895d42f0dc056d0fe8d2a07f8e70c288b30568ba6499a6b94331aa11e74ba663e29ca4a04eb4c25b371ffaf87b652d5b9c1f06f2fb153f408620fb1a533c700442981da6482ddd89830bd371f62e64e80b8ad517c66ebb0f112e1c7e5604b7ca02ba374faaaa9a43bdca1e5a51fd3d1a5705d7791a02edf90677d24f7c95847aa6c1db73bedbef47ab6c8db532ae146df94ce0b8bb1fad42ee2839ea8f2d2ddee11b0a7ec96733b195aa25e33ccfd97d1e3060d51255641e8e559f7b55de26112108dfedfda530520cef27b973c2d521d36429d90427f3001f35535c3e3d9e5e3b6ee2a7164e2e6c61fdab3f7f22db1e134b1b5f70956e1ba1b1ecdee1c95e2f2c64dcce84471fa50e4d9cc16927595bdd9582482cb6562ae13f011b832598d0137ed84eba1d33b996d18a30f53fe0d63d098bb879362568d8dd93f02f742a4f71101345c2f5a4de74aabc327bac345baff3941aae3d1cefb686afe5ed00ef4a341d7a7035a8bf1b3924c3149712cb17fa2783c2a3c3ca402d6f0737e4ea6f217d9793227de95a9ac51baa94f8078b9811f9002e096f262e21e83be9d3aeef7cf25ad8c161575d6edfb0e399e3061d60f998315f33a64ae1c6d78de1d0d8b608c1f0c37d904b8dea3eacffb84f701516408c740a54fafdbfd02c243671a540a542c5dc0b271230e5b97592fcbdf7586ca84841bcad22f0d4f3669cc14f86368f81d7c9aa9f76d8fa6b75265dfb7810f2c68109e9cde27830302dfa0160ffe919bc06d37c30dc9658b615a89f7a834b41de8f7e247c6ba987cf9e1eb5db2c786f038e035616442348738df0cdcc20ab1c3766ec52effa4fec4b6648cd76bddac7ab78d83fffb49f1d87ff832d42b0da4ea086cb158cbca1b023a6998404a254bef4a9fcb7102b919b3f5333f8a606e1ecdc682517f300f243356bcc0bdc1a85f47e70f5fe10312ab359684749ae874290f8bd966ed4bd95da0d1dffadc343c0df1e312ef033aa72b1a2fc571030a5258f005accf6ce21beb9db0441896704ef685ded8b571efa0a1d0d7fa7323db1aba6379cbe860e061a9ae7ad5d41d7f83e979c91a53808482edf61b1eaa1428780a9e5452b1298c72a6f92176eba5aee866d63e04939146d877a203ac94f6e2357ab4c77e67c3f291e6c6f7f2fea61d5797ed5871cf64671ea334cc3c20d4d407ec540cac8a04b39a32c5888ec8af43c57f7d86e835947f7139390851e2b724309ac89507ddf04bf915b24fd007e4ab0905fd9dba71acc2fe09f536bd7a520b58c773926a824fd1437f13789ebbfc38a448ad5784cbe07f908d0fddff8e47b940d516b0935c71cfccb33105e7497bfe9328676e2906724e06fec989b3ada3d926ea404f091069289ce9e7f79c0a986d455ccf79bed861d409ed094dc535647cc9d1dabc4e8f6844b3f1920e3161e4b09693c5fa798c82f39f463b5a2682a0283129d37e72f1e0e19d7b7c4ab1f6492783ecd58267d58977a9ba3ae4eb62c3eebc64e192a9cef1b4885e5366cf031ec3355febc20a57f052aac6b66d360ab8cdaf6229176a4130a8c0c250a24ae5851c2a027680cf4805677db98e0bed7181be0209aeb021a0a8773a43d59b86a2162b3c06dc3f32f9c06ffcb8f36888ccf2c65845dc239e9f9fc50acda2ed3c6ced65c93df1a2f14a51834b584a1939a16de58155209627d5d513ec17c2ae329102d961f3e56e3d536c8baf81b83aaacc4b881feed7d4eb3b34ba7ff00f7054f4de2465318ca91097ee41a38eac21bd68e0330d6f0116889b15b3355741bb26985e2617e6dfbd97ea8f3b0a2a363968a5a4b219961ea52130f99109f2dd3bf3e64d8ebdcb5a898cef50a965ece698f360f2ea22a736453c70879d086cad983f89fb9b8fa04835ec8e3a903b813607b40cf93c70eb7c1b16c0e082749a0e3d123d6e43bf3e684cf52d686911fd5127f1b3b4cc1889daccd377de5d5f49ca8b75c34aed1fdebf21295bcf1d8d3d1cff6f5cd2b7ffbb75363b65f548d3309ffc3f81dc76d11cb082434048486d1b54cfb91fcec4472d723001e4eedcc3dd552302c89d665cc65757d097a1a631489486f001a2d51d0842e6de4a4436a51bbf1badba7834ee6b9be257a5242564a4bd4364ff3455de61a2d29fdcb0aad862de7976ee8db05cf4b7a69248ab15c86dbd8d86454651aab33f4ac053a44e01ab29e231e8da83eaba0ded1ae5951584e58100e36247404f55b2c9c4ad280551ed419f9e22954dec4b49e636e1ef8ea85178ccbd1768ad2a2c457fcd71a34db94c1e0512a1671836bd92839553907692c74723a99f5ec4e0dab3d8f3c6828149e63cf7d1e36557866be3e7088b6a35dbffc88bd813a8e4de7199edd0dd3aa38fc6ca930260255fef9ca8179a402a6579bce80e0b7faf19313598d4320656463439cc1feb978876f4efb06fda527fa4a0e5572ab07c26b2f8a0e22ea2b90658cbafa11c542a1d49a9236a4638a9089ebed8f40f1b69c5ee7281917bda895bdafc23091fa565c481dc89802352ec62c90f67f545fc5a81b3da53ec88a09a4b403a7bf2af067a733d79a241648173588e0a31f7ec0ec7139f6a90df95742ec5184581914468e6150cabe4fcb4a183185d0ad5dfe3fb40a198da522e9b2c6f0379e2c14bffc3a1532b00d88c567227b50474a67988fc8156d90a37557769e85612cd2c9808b085ceefc3f7d348d00415f39d4e32034b5c99299796b3b42190dcb5f822f7a227e9391bccebbe361b4537768e48f39575f8c0b45763f2a2d108bdf02b4187a07893c6064130e79d7a26a6e23ca35834cd814db4993bb883a3bf0a9606687cf4d4c6822a5ecf49f4963421485dcce4dff150a198460ec8e23a636b920a2669d03351e76614b1e343ab03b69a36f212b1c75151ba2e09df6da9ac43a6468ba13917cea2dafb90bc60c3d46f35f9fce3a55f95a8537137e2426295efb8c8022d245779c1ee7260aa0bca2c5a296671f60ab043c227ad7734f748b31ffc2436a44d37a4049ec593e1029ab7f6bb968237607e432ce4cb496d904affecf12ab2a3dcd7a0aab1c289fdea643362f57bebd1f2ac27e2e96f4eda6ae837b522e821b69980eba4757a466ef5b972cab4f8b3dd0ef313953035495c882e6c8047e6a38a225b85d34d94404e14e7d1156f2b8e202ba1af4f770c8bbbc65c5a0eed13a943594d9f35a5eca74e9ea1292d2b6437f0f87d8984938f88464734e063db7eb9d4cd6fa0d4c2b114d8fa0bb184946be0e8d387f35c154e075eb0387fb933fa88c370005da93e887f7d01e5fe778211970ebb3f3f45086e75b9878ed3706e7f7e4409748c1f9483e1c0de08b5debee5c13a49029ae0870b5abab8ceda5a0411f35149c5b0e1b3d3b8779ab8ff92612cefcf8e5ed89f56779607367cfa55f492ea55fe9a11b14f8cfb680055286567c4c734e95ee28cb6bb6bb1718a6131d988ecca7c1f24831595d273fa106ab202e92299d4aeed81483c70366c91b2ab9c1a258ff7280ae4b6272ed66ebaa7e92cc7d2fdd59f7e0cc3f4ec4d09b07ef0e0d81a344a307295a900ce51b5c8c0b9109f4b77b8b7c58b52138720174316de1e39fa1ac57312b20e0c21e6e7801d219203fa2cdcfb9ff0dab27824e4722234ba7cf916d0c702190b475b75c81977a09fd91ac9807f94e839a19bb22fbdd0800749d0fc6dd970066afc4c25da6635c47c97bbcbd6adc40f0c3a174dec9b30a3e611c4bad05ab984c7d0a46513c95df65e63fe183001857fdc7d42c88a962e10132cb3d063c9e42d41fbfd8339342de71eb07ad109dc7c1f042d9a5e2fdc0eb558c4bb01f4c74b071a059636fc7adea27b9fb4cddc2d6317dab4059a2bf3fd75c055591b29285da46b9f622bbc83e0b232a8bab69d94206e648b698d6922984a278806b013fd89b46a6b38f716438c76069911322601ec0bde7b319f928a3f8bd1c0404264e0a1798bb8da4ecc9561003290115d2bc65ce94c3f650c848ab102ef5aeec2c3cfbcf1f234abc3383636d398c701d3934719f96dd32c55a55e2f4fe506019c54c3a134028d5bd2753bd2e87d1c460fbbcbacdff10509f9f78370fe937637666bec437d8502ad45d4ecde74d76841498e97da33ed74e3c7a492ace573da5409c8e7bf256d950385235637073e7e4745407cd2aea92cb3dbb8b0845fae189dc44620264fd0efbe96c8025f345c190624d17dec20a653e408656638897a6e1a6e4bed6711dc9d7f99e509f0324f9186e0ccc0b2d93b0fd4f8e5051231c89d01efac36d1ef4ce948179cfc24c25ca3216e1b4fd66bf47975104205ecdbdb18e953f58e24029ef8251cdc35dd4783e01e72d9ff586efb2af480e26d22b244fcc3276b41984afea6adeb8e68c82dd779b013ef7241aa26d04b0260aef90439fe68d2cf19b5b0fe56c018fc0ab01a885c8b880264c9b89b2427685931fe3319448f43660a87351c0f1a4bc83cf246a067004f3afa540f0a5517bdbf47d95a624c3e553e9f329ee846c73db4bf435d8d6e8aed2886eefd9704ea430b299b8c81846d22f6f5d6ed4956c3c089f47d5dd3ab3d5f6e24abb216a1ec962e69a179ba6403caeca4bc8b5bd93722899098f6cddb398f9706a9f3898849ed9fe1e5dcde5a08f595e32880dad5654b5990578bcbac27b35385f8e5dd2d759e412f84c97263dfdd5600c3b4b933c6c5de744c2ca768323472fbe9c8b8978b432278b84cf5a239bf640641b026342de27464689b5848bcaea4b71708937ca4933ac862937b67e2ad59767e48bb848655c3031e7dfca1831f39716a5436ce0b42db36deb0c7bfb2832fc2fb688b0783cef334054f18c6dfd8fa6cbcbf888ddabc67405dc06ef24cadeeb635a4f54f88745ae1ce154c6320f9955fd1aa6c30ea01145878164ff1e210f428e991cc1ae8d3a4a93d09ff4bf46d0e7e464eb501289e5836efb191ababf512d9f93246f4556165ea04e7bd8468557dce3e29c67166f31c7b60d5c5eb6dbea98fde5cd60ed4fd360dfe8d8dbe2de057623dc5df5c7701d2f593298bca3d0f8a12ca3b1ce0a3dacfbb1978d8bfc826eaeb73033ac163f07a39dd0afc0c28f3ee791cd2bef7052e0ab9d07840d679b1e7d3613c5e9d9167fcd4bdf43f0a44440f479bc6cd386abad2729e065edf6912b17deb004994a016f384be4058e33b396996ad120031b1d3ad025fa9707c1fb6c4fb7fa49264ec1cb77fbf6a8e180c3b9b878c06bd7daeb3204a49c2a8d38310ad1281bc9ff483d21dc716faa5ada97ea552f49db851030337ec2ca66d05b2bf25d124cb5db8dac2a342930f2fed122b06d1140cf207521c7b3fa3fa879c00d3b0549b6d5216439a809b221c04b7a7b062f849da2dfce418c8d4dcd526029c5aed5a6d0c1b7eecc33a872bd6458bdb6e3c8534ec8bbdf56f3bb5bf25a55f59316d12f591b989d8ab4f2e3264f3d63e9cf9a3e38bfe63ea565bf71e41f615f2b981b1d13357a8cd997cde4cfe849c5a39f4356fc8d4594b677a41ba510623789f3ee18a37a36c81d12b1fffbde78d8c61827840d08d69bb0dd0793ebaca3bc92748352154fc69c821747767a78fca74e5bfa588d8410675392cfa2115dc8749129309eb6fe1fc2c7a5ab8b9e104c327a7c1b20759b602d3f423d98b3d81569a3aa5d8e6b2a0aed180f8effd4aef4665d5e6e03d66c210ce83389da7e77d6a61191e6808b72c0b15ee9473d68bb6f21e94b143d58693b60107872fbc433ca7c70703090048b7fc580c97930f8aa3204e797035e893cae5f9b25f879097975ec8fd0590e5c18aa1e0cd07d73c919157d3b06028969f9bdefbad517b16a59c2e1d3745927d73c9a1f3cf00b4129b092c0dc577c62edf494e9b184d160fbf5863880a97d9f389210bdea85d768fad6c38e9f79dca167efcb5c66b6b81041caeb8156a32bc1ebfaa2f8ee171a7167a7dd5751220e98b1ed9ff46503421c293c14f24348e932ddabd88c21dabe938433ba3d59a69c93b742e8c528a2353fbc7466f204206d80fd0d0087edcda015baae252ae23efbd7f9df1ed6ddcd603c8d73d5237bea484c93ac07c431560c2c9322b70892c9c967418f09d1406199ce1a18820e6dc595130ce6b074f0914bf12827df01feffbc71b6ad455487a3e0cc1b66577ab6732b33485ce6fff5dd62f53edfb871a2237cd2c0beb319b1a51347ec08a77c008bd994e9f59a5d0b58ac7f3f07912d264ab04b76344dcb51cbecc3f0df2914f83ec6c08183becd25b1dd91ba5cb2ebbba6696848e5c2c1f208463466cf86fadb7066bc693c6e852edb618ad75ebbc60aca21dd219e42e4f58087fc5156a8d933d9fd384aec91d699352ef4e1522fbee33  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-16/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-16/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答16</summary>
    <title>【面试】问题及回答16</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="c328a6f59512ac2837ff9bb6d01fa39f27886393a42c9c5bbb35049bb59246c2"     data-nonce="676dfb6190f0c38d9a5cca8c"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    3fb0014220369fb7e408c376579ecbb77c295310c4ed3b1564cbf07c0e4a513ec2cf0d097719ac4c71fe6b775bd07085bf62a9912c9ed7c6c94392b3c40d957506f5440a42f541ece3a3797bd9f9f2fdc81e0ec2c846c59498c9fd7f82d57629c8692c0845ee0af1b0e49ffe9078ddda5ea7ea3d70ff7e30a89a7561bd84ab7f35e13b707024718b1ce726b5b33005f9b9fb5f9a39601e8d84072145ebfcdf55e5dcd7f1c22c0cdd6aa6000b56598f17ef69b29f9f881d3783973cc306ce209ba12c818bce99200f70a50607a467298c2f20e4ac4eb312a7934d558595e884b05401683d0fb4d894aee8e1043e420fb0746b7607315f649f74f806178400462e843951ae7f06766b8a2ab937ba4ccfe1542276ba20f75eb18ffb6de51df58f7cc45aca4d7e7713c6d2d371f0afe2a0bba6b2eb3c8b3711740b469f4c0f1e2d7ac9e0f14efe8f711d272f2d7f2882fe4f9de3a04f2c29aa91c48248e6fc90d92e6bd2011165d5553dde51f04ba6d148d497e3d81fa71e6250bf6b00c0cb59827a0d40e82f2a37ecfce260705ec999418bf470ce82385db91f63418dd0c61c6cde79dd79706faf8a01a5302d5da5fe2f58735919716a00aa787ead2b03cb63a4d278bca3152a41e6bf7c6b7adf518ccf41138823354a6bb9560b6848ac7995de86a76779fb67c1fd04a425282c359f728d513b811e0cfad0e476b168c7689dafab5184e9ea70712014f51c448626bdc3004a62aaf45c5f351c7da7d47806631f412c2403f044687c399a01c3dc80c155bcfc300e61f9aa4bf7a1a32514e5eb690d394558aabf10a4c0d866eadebdfa7abb9e456e0bd8d777497f51206d33e63440247404d8d75d363d722ae112977034d204277c1be1e97971566e350c95fe3a2c48a5825fe501700476e977f5afa2bb5945bb8776a83f6daab7ff185c8248032c153100e405186f41ac7c0c9f037bdb69518b7c942c648080d66bb8bb376c08fe38bbca67a9fc077a8da4c21519cc8ec24597c640e4685492c8a7ddc0daba2dc5c064aceea11715ed5e03ddc335404253e4b68f8d06fde4ab3e9c8af01a8156118b81ef16dfbe8660b3c0866514cd9a92f596737bc64b490fdcddaab865c7ed81418da8322922f8fa56ceb17072a707dc2bddfd1eeffd82965d9eeaca45f6d51ee03c87e3b15f7a3476cbb7fa4b8710c32da49e2217b655bd3ec3ef95e02b73b9d56757b7728c26465521ca880c6494b1c03ffe6e6b3935ee9729e3000a5855ab6c4b0e2e4a494961c3e375dca3215e9842b43c64ffe859f5409a597a967a559f5e6dfc5cad3179eda1f47508361333ec9f827dcbfeb00d8e9d4262954bf3c44fe75302e4638d77ab1dd1f0f78a4ed8267440f3fba87397294a10676474284eb693686f006a8000cde1d089b01336462c57d80e97618705eac42242a9743ad7e8a1652130482337d22ed7f9141d8c296b8a3b03e791dac387524f3749d5a0408567309760f848f2c3ca4bf6a90ab5f08d4cadeb1dcad47250210432527c3b0fe0e4732e374a3b4df8beab6c4102199cf9f4a2ef82c86ab11048326642da9b65a6118dd9de6bc31d7fba79dbee55436c5428a1cbd88c8eaf01d6ee54104b77d9b624c4c3cc5faad1619d0d35c5a2bea91700e3787b5dcf49706173b740b145f0f9b5a69132b4dea3fc31b8fbca23ffacfd850eed44b0797243c774cc737e0ab64e2380d5110812ecb341128c42eed98051cc87a214e2df55786e89437d7c0e5d4acec948f7799ab087f768702a935afc3ea6b3037bf58ffb2c8b3a1c9c3c5688c6ed059bd121447302ba0b08688067cefe05d821dd9516898f2fafbac93f494d13bf2b503280fcee08a5a0a87a13f2bb32b01f575d8d5bb90801119434b4ca07a859781f2a40923a2c42606e77c06cbffa7b239f887a03a44d3bbdcca6451f31f194211f9b111a54557b877d60b24fac1994b86fc23a4b15987710a1becf36ce6a546906af23e1d8c8f328a0038da9cd7cecd963a784cb9d97e4aa8896c03b0c84bdf30bebb37ccda48c73326d501022cc91b988c0547db515de5b41152f9f18afa9ac09c8f2c0a8463fd4cdd652173156170bd188be63a7cc71f8cbe767914d736519977e070fd48d919e9d50b9331b296dd900060f9d3e2b89c23c13907be54ed5f23e0b270b44465b13bdaa9eab5936aae00c7246eb8ee65473ddaab1508da01370f30c7140559f55e273a40bbee8c28456441cfe8292231b455e4267f0a54c1c3293aea049906adb0995a7e1fc634dbcd80af105a26a29681f21e8e8321689605f19c3c300fbb1fc5bb534320469831abcd7c4f93ed928a81ce4d5cd0451abff62d74e3c052da4a465034159f87502c49995017421a2b9f68d3e2dccd1d6b274e2d8dacb7ee24207b572ae9022df8391a79f98d4bc8ed0f8e903af6a24d32f2bfdcdeb845678494ab5b94f64edb4b306f336d8a68050c4f2caac1d0c993fd742a726c13f106576b53eba80d8bd3d7806b1e0f9bedc3a4e3fd4b620918249418ef82a7462e4ef556b8b625c29cac66d8147968742ae6aff0f0b1d43240ade37776f69fb53d5e5ae2e57e179f3a816cb985512cdd07a6efa0c8d5f67ec9e73199dc9a792a259db1ab92cf29a16924397289cde4bf76a6e40c8daa1af3adedc2e19f84e4f926030e5b169eed0215fe351807ef467fc46ab45b6072af4f89b15e2f5fe5f0da766b0a44943bc3ce2f218fb09600b1b8ca529f0caef80a4252a675bc3acd764df5f16e2c830c419d025054538ed30bda77f4ad04eb0d72cb6bd95ce2843bf8ca1a98df0abc2b45f9aa4826b7994823c39173e5556e4688a7cdecb1f657d7cc97eacc8a8fdf597f61d2fcee04d222dd3161683cfc26cf26d84f4bf3e4512a2005d227e23b143b600e95a49148e09d57fa0523698d8b1c241098c3c26a0c51b20a8179499f89b41789222237f3dfa4e63af1282129c729a1d4618d35588f972b8c29ede796674bf947a4a8791951df6026c02db6433c7158828bd0077316f486fadce41f13867a7e4d85a86f6e3094444bfcaf0803a45721697af025683e3917cf7e71618fdbf447d19b71ef6f00a93dea0e017b52dc2c897a478fc939f4012dfe2277e6564518bbe9c208b5e4cf5dfa04ebda095116edf320c2ca4bf2c7fdc1c7d2f38c13b7780adabd5d820928ab35596ce97f4b6d3f66fc2bfc2d4e20478ffbd2fea26e1f1a44364a110452ea7b1f0d80fbb9b1d23f3881ecf9adeee22593e48e53bc64e697ae0e35404547dce86df23365bd2226dcc3bf1930b166e0ea20c15167ad77a34efb5cc7c3bc370dcb956cb707693852be14b039e51c2e9a218cf3e9bfe60a9ec0a26c3ee8e355e4d64df3dcfbb7430aa29c8037455b1c12877fdeaa7cee35dc794bb47e177fcfcbeeb16558b278fd529bc616638584fa3aef51d6415e888cbcbc03862f8d26629602f6d3d823e03a2fc1297a0f8809ee79f009d90d5cdabc9c4ad2e992addf3c6ce5fdabee891e771bbff4d28db3f9ad9d4cd491cc55b3d5cd75083d25d938cbeb1878eccb2def35a621ed0226e53e3fe614e36c2a81f384fc856514e34fdcd93ac9e77f63ca6f1f687baf4107144d6ac13c2a53b3519505e3f376ce0261297d52e213caac469e3963c184ea63641d42cfa7934454fc889433d3ad757d0ab430c33c8db33897e5d90322078b76a6d8a6fe972294253dcbd9922886dff963936551705ab8131f92c3f416ebb7bcf89c47fe799cd2c1cd222fa876c79b6e58c33869917dd6da134a55d97ad4b155b5a25f8a4af17a49c19948bf304ea270be733158ce7121f06dd01f441c7e5511970a684d1ccbc1dbed8a77b59ad15527dd318b1210584a8b74460d72765710cecb52223ec4dc92c4f6aaed598cf0284ed78e1e03dda7b1aa94d78267ef2a8191c594e817254c293953866dee5b2e5e5a980276e353b6ebbe1ee91269b1893b35607af79199e78e184e9cb26047111c5a053003c145ad64da5f9f58e92031367441ac768d0d483733cc4757f4c78ad5d541db1ef9ee35f9fc2ae11aa50b739f888d4d9fe817b99263ee5660a03a2aa335c6178ef2a83d879bfbdec2038341bc76f2b02fe8fec65a7ea45156d16cc8f7ff859ca206c28ea497736b6b4b77395aca76efb9e11d7ecc78f10fbfeb015479ec7ac050e3b084767621b9991b45e940640a0c320e00d21f17ad4e0041ac7f5081a1143dc71ff75e93801286e3cbc35628963e9e2ccc9b591b3f22f8c6335d32ec1998e07b7c95cee79f6cd5a7510c08f6db94708801ee8e15fb60d79174a5b2d959af5819495910bde08fd9dbc05d36b01ab0f633ff7f3cff12ab37fda5a660fec788a53797da06dc4939b099ab913329301524d67f1a85efd3d6aa34c524f39ed24f65dcfd069e9c9db9eeb8175f6021ba3cc76ed339405f4ea8b8a8e07b96b26b2f857194557b9b71a7c48f25d2a3e54ef95536584da422e4fbae7eee47a9009eea454749cb764534f0ba376481df180045b35844adce821dd4a16330ae6b2c973b3c38a73fa2add936b2fee1c7b1396820a15bf0f7e0520cbf295dec31f593d35fb1f695ff7f66b496de5866e2916a6844b7178fe0bc6154ee801d5d9290ff643d2dce12982f0a25ebf30e1ea95850165001ff705c898345150516979c653e7a91cd4858456abaa1336d177b0958d9d1fb53939988992943b9d835c149682a5c9aadadfb7149a6c0218c2e3ed5cbf38f241930ac90f810d7a0d239dca3172a737f7210f7d37b16c168bb2fc3f81bbb835b2135b20c2a51cc3b71c3225f2f0427c7a29936b935bdf6ef48c6016c4958b8da37ce6f430e20a29fd744c191dbe7f3d2d2c387c338097b803453d151bf84a859a95904f44d19205ef96a2ca5646b188abda2f0d953e25e77aba374fbb6959a5e291d6f9452e39f4e204750cc64d8c2d7fd9dad8150d047d0b2d4a20ade080125995830be48e7897248feb9fbfd45711a6274e6d6d90f1bb3313de03f54446cd23f738d9e80ab051726ccdf5f88e2fff23889604b0ee1f0d5a8939323b05d1f8d2058607c0092d69e908e6c4874bcaaa3acadac16568d42054959057fa638f657f0a87e78898779cf75dbbf66b97054c1232fd751f972c0475b71171f777355ee583e9321fa00175d25986ba5e524a187006f7b875f0d9c8e4ce27197ee316056f10ea12649294c88119b1826b1b3033d14b287eec2557de0e61b69b4ee2359c460ade48072a8b42c4ff586fb28745bc2f0028ed38d9846d2c695d89ea6dfaa85c347f515ea9e376e0a1dd0a0e797d57d2df2a3cf7549959b2270c6434dcb1910e2d6479ea17ea782679c88ad12193392cea182067fc5f882ecd562ddcc2251f89622dd2a8aece61194d2e72b8006c63cca9ba710288ef7b98e0cb2d67892667f755776a4b07b989912d9462c2338844a3d06731e265331bc91f8a4ba83b960e0619c3628f21db926aca1203152174acfefce23fb381bceb33754818ffa092b7db38c27256ae909fd0042b9ccc3af226240120373c98c98b42b77e1381eb286b38a447fbfa8f72a85daa6474256a43fcce9aea69f85fee5c6b4730932baf3a1f22a834b52829a01180a0608318fd5804d9e406c052698cabfffdd961dc211b4567174931e8effef480b6fde182cfaddaeaa19b2a5a9344881dad0cc5b6bc0633df5d09f19a8f69a411c2a5984ea8cfb784097b43120c6fbc5e712b265b916d0bc4e16074ae13417895d2a1ec0947536300188d88805d9357d4c9161ff25a27b244bd1d70042d8be140b1916afda1f56c78205e88debe28d591c2de7bee3e5b4981db963a2ca6ac2c080104c2659d56c193f82d8da95d25fac595f529be40bb5f930e89086da19c5505c1889b573e275b6fe63417b7e2e0a79ecd9b218ceace49105886b13301c125b82e12d05e5af263ef9f846b3dc38667ddf72043e9362d3c9e27e7473b370b92d12ef3a0c6be52c5648804616bd26fb56290b76364be2391b5a963aa9f7ad66a36434d49c1ac0821c98da67b89541734dc58f21f489b1d6353920d2a9a64021f725161ff12261f3f93ca0f5b7d4e3917a466a8fe57e6ff2910c7d8c4b8a91771cc6c8da412b80a84ba2de37a08f57a0061d4bdc9ae112db0556b0ce6c73169e83eb9e7ecb6f0261b474e08ff5ef46bedda8fadceef83aa98850abffc4188bc6445c70020bea9ec8385011b1680d16ad37a04ca111094afe3e63b5e06b3299e841ca07a874d94141005cd6fc7b61cd4cd59e4f9af6b78d99db244d8dd7c77023797cd460baa52c401ad5582c03c42bb0ecebe240ddc1fc2562854e4a8caf7fc0cc66880c68f93d50eeb4f2cff8cb38d3be06e1a50327bb61033b46d2d28683b472ef789ccf56b091fbf345cb063b23d48030d03c81986b57f9a6e64051f8d20f4ff1b82c794410579cd66d1f6d94493578bdd2b0a43ef8c2ebc146f715f0763de7333f2c36eb8117b9ebdfe5805c8ffe18708de595a3ca4eaa10d2ff50e912920668a0bf0cbb52e4e87a4ad5467de3b109b54fa0628691791c3c078d7eb778a2a5b99a5b734c89b5e09a6d8956914ce1d19f5681f548bbf946c8ab4de3398d6d39a5b38a32a2ccee7cd25eb316b8bc7d9169b197dd77248a08c7820c0b11e6bc535a1f1caef823752c46dd5d86c515615ef13ef7342651ed6e4378eb93814ecc4b4a62f8657da6bacf78d53b66c6c3fcc08058863ffbbd1cb13187c1ce4f639104b27fe46c3f932e7b0db540cc003decbf8d613e99cbfb1b60f6a0a2e2b7f8fd48fd0235cea444b5c00462524ddd7b59f223bd1382b08c68f4c621c8fd89c6d944b6939c17d8a92c6fcd786d8631138f3ea4405c5eacdc02eadbfb1b31cf4b352cb16df7de486e75d5363886b0df6a4bb222056d0e8ce0110d85985483df8b0923ee85d5494efc2bb97a3d482ca0dbbd173811b5c4fb0826db7bf69f0f2e6b78639921e7a85c434e7424acb2899755dd2c28ec1c08067e4fdeca8814fa2f0ac398d54e6541ec72c1cd3b8f518304552d0384d56a55fedd9e2b2fb82e1a26f555388f7293a0d1f023986532e337756a170127a9d5cb754279955daa6455772041a1e20d0f6fb25794c365406f7f68a8c036f624d9af1fe63b94634ec7703713ce37611181ca58be8f32f778a1e1c33dcbc95fa2a4869c2d0b0e9b5e7475cee62945e52f58ffaf4561fdf9b73ed808d3a56859c3cfbc95ccdc7fc17a70d218b7539bfc3db84ded608f3c8c87ebe1b9e7152e7fe1402d1ba35cc4ea08c01ed737ff3212f2a6e5eaf4927fb4a6bab1291f369e71f90c1753c52c21f0d55736fa7a55c9d79368e8b39f61100297081cea1e8f8e17ac29661838b790ab35eb89b60d2807ab94803b7b8dfaebd2ed6aa8b468a0a3bd2d183a644d7ec783b8543b87d536643fe8222e2b63077e801cf03aac8bceb92b2ecb8092def7356104d230614719ff46e42a3b61d0bb85738e957a4110b6420fee5bf3042c4d8e7a4ba0feb38de624d1565325011524c153dda4dca63b967ee8a44af0e2a0f09f4393646ff0c207e6d29cfd74e728e3a81a145eda63f1114dd42045a23d34f1d9216a2f6cd8ff5b78fc13399a3f9545d32549d396445f30aaab390c96269e98990e69f7ed79147c2e2304382821ff5658b81fac6dbafa503a5f323ecfb36bd1da9e24b6cd692dcd15ebe5e450b45d46d4f0566ba9e378dd869185175175fa172a56ae1e9d05af6dd9c282b8084ef8f49d7be2142c3fb866140b170fb9b077793b3efb00a098293fc29b7217ad95c91771ec1f91e12027d9a0d62da41b7cd06621989d8012a17f0ab1ff24d18e1ea96be6452c2534f7240f890288082069a3c672d05d517d63231d63ace16994f1edb6c8d93c3ead601804990521c7dc9b306c79b1660ef6d4e2527ea3c42e92a713b7813dc750b655d90579d0604ad52c6f232adc3d9ab73ab4bd9d47bc38ad4f67b080389e7bba2c406a1fa6b1cd75a325f331528062f66eeb7f9e0df5ff319e847ff82c0e35394e109472b882650a843b8c90740bc0f8459da749322ffc0988d1b94cb4189af646aa24f3c2764dcc76efe660cac6bfcf17fb9ac2fa2995406453ffdf54a88275c52bfa302bf6f452d28881b7e81edf4937041dd38f63769d1eb3df0a3621b618e1ab61e5b3716a6776e86547c5544717d4cea1ce760b3ea9c443aa09545e53cb7fe7ae7a56d8eead8733bed2a5e750288efb0c9048df81acf936aad59b91930f2f3e63687780fdcdf3b472b435431f01f89d327fcd37f1c9890c2cfab6390218e163cb54988393460cfd097fbfae912f4669851b2b22634ea8c8bf2620724fd3816182367920039cc16d162b0d89691e1191d7dec8f8a5d6945658a7b3efebdbb0b0c2ee1ba81223e2eab2e6060cae1ce3446609b13be3ae2fb136512f81e7c059c9f7d5505d123ee671bd6854e60b6f068ed0457950852bbf801f32b1fb91bb70cf2811be95261d7a1746cb51cd7a100341c784dcd9afb2cf44d493852cfa5d35961b5b22935079870ad0f70252c13d5313fd06b62cbb86e9b2db8410f7e9d8a5665180cf650b17b482fa0db285217ac35f03d169b896a904d1578858105ac1b37786f46c1c0876cec5ef71b6a844b1a2d3a1206d0adc1e18219d1b4eee1fd661f7aa6eee45ae563cfa14f3f0c18cd3f66338202b33401455dab169d6130e94c0e3ab8c5450cf02e66343cc74c7ac95740f649911f3c8f04720ef36c8de3dd5ff6c96867fc14cc52f8efcd8a40c5a199dfd0e5fd9c099d972d155523e64dc8570f18da9b0299cff2d409429ba3d969800afa80ffe8fafe3cb0ba076f3e1f488ec0c1da114233b656e05b60a86d0366fff4fe682ce6322e2e3b4923f8e05f5b990711c86296b00c8a8a0926f2e5b5ff7fbcaea101c115ed816b4729a1240f0bec09da7c7678f92641d8054cb4357e090cf0b178d5f9dc1dd5c142772d49853cfd4a932e1dfc7e77f58ed37a1d9baa13b6ef341ac9ec7c7258cdd82a85a546315f1a5141ffec02c1cddba28c393497b7e0d30c01724b219b3cf1f9041d04784aec6a3e8331d502946600c536cedd1970cb14f9523a2e67c1b87d09fa4da8fa51baeaf541e0d06df8dce93d32d7a90ed76fbe3643e9f94b5e2dca34e03c69ec5227ecaeaf1d062d9212c01964dd3c6d7e028a30e58ec57a900a92aeb117fcf187ccbf059bc215b808f4bf60007a7f834c22c15e1c80fa31c31b4d4a9a47c695248741dc63425bf9d98394f32de6d3c2a005d74830506e6b89e60016108b8e109521654ee0ea76be6a28e88f146f25b452b204b9f084ccff6fe6f51f8431194e28ecb5c1d37e795f3c9c5f31b89d9f1162f540e1d9f4e2126a73376086c5a69892ab567b5734cef0903319fe54e164c85b97ad6cdfca73101ff4cdec8e64e3fa583a233bbb7835267650e0ba8f5369b495b52c05e17fa9ef8975f2e9dc6107341a2b3e60d22e3b96d72d22d395167a206513e452b9019645852e25487952f3c50156d3995ebd6353bbe0a4f963d74ca537  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-17/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-17/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答17</summary>
    <title>【面试】问题及回答17</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="面试问答" scheme="https://moyon.net.cn/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E7%AD%94/"/>
    <category term="面试" scheme="https://moyon.net.cn/tags/%E9%9D%A2%E8%AF%95/"/>
    <category term="Nomi" scheme="https://moyon.net.cn/tags/Nomi/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="密码不对,再试一次"     data-whm="密码不对,再试一次"     data-salt="73f917088295d81b13cd62756f2378be0d712effece673f03fc3b6d299115560"     data-nonce="3f440f71668d119d5bd32586"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    9aa1ef11c42acf3f8c2c0be2041be446e887b5b4c5414d71858a24ec452ef6c2fa5433ff1fcd1bbe243779de4211b7bff2b08ab6e495175df0feb08fd6b087e47ea4d0ecb13d80577e02b8810244c87ec4a953cb2a3d0e8e96b81f13dd1d545b5046b4f13be876130818bc1e881ee575426e4dfa7037d91f5375b3bdfc1a6cea3951ac3c4af3a32140fc3efcb3eaeb3bb4b377ac3e231bbf592af099a9b3c7a428a38617431afd9bc2cec5ce16298097f5cebcc501c9aa69880cca6d73cb7c97769e81178a9c743310a223d3cf6d0c032427435360a5f40092e840d62fcf3d26b0bff9b4c849ff1c62070e5c175605ce97e3b63288384bbf01386d574a0be6298895a2043415dbcdcb7bf2e5241743380c5f2f49d61f11f4d42b0ecd016d25ca54bea74d6d60e1cedd33f0757d93daa1f74142cbd07c86ef277c484ec99fb830b6a4118e648bded93685c3d1770cbf0c488d84c441b4130455427413610d7a3fd8357700a8904d68343449fff704c376515bb370e4b7bb37d448019d42f6e07408f4db765704879981ef9882c09af12446cc1207fb5666f7ff139acd29dcdcfb582eca2e825d0a57018762dccbfc1bf768d4a806491ebfe10097b7baca3f876ebe140ca6f6361fcec7c4617f72831ba36dd7873cc6a35dc922bcc8c0f9e837cc95994fa52395c5622cd2df99e756a978921ba0deea487bcffec2bf4e50fcf5d166f7c2eefb30a82813658db533a7cd9645861dfcaa4a884b67a73a693695b88dfe810d35aa843740b924c00b471e549bacd2b22f229424d0afd128415ebb93b1f1799bc9494190a178a7f098d8d6e368dc856f032ef5edc23657ba4c6d00135233790c8244c22f0d667998baf6d97fa98ea53e30f336d4aafd9bc00ce9b25af51ff5662b5f5e6a702fe891913955dc01f2768afae4e393a2d03a2bb08fca4619bb28ed9d47f819c18042264c7a8953abc715e55adc5e7217a4ec19f9a52e31742604a2384bd244ef1194f8bdf838f1539ab984a74c40f075900b62389b3fcb66c6db580d5bb4d6463ba1faf5bc0c7bfe3bff4c4cc89c3ecbaf024250db59ce5100a9b0e7ff9df307e2d1ab1f3172239e637784a235e8ce42aaaa44627514097ba57fb3b13585511ee984ddbe657ed0b5361e70c6b268eb19126e476d0365d39a464e0ede2c4b7c8fba667d152847a0df8f71737496563d10a6c48adbafa711dba34ebd721b8b80abb1c199a59a963004b93d674cdc58bf73e62c56f9e8fba4bd871af3949c51a587af2ba92b0ba5f90b8ecd47945460740a3a1aafec15678ef795599f7a7e8107145560c0cb88c0c8605ff3a47927860cf2a513dbe200184e50ec0dccf6e185ab6180de4be936355233b01e2515de00a05623e0a4845b532e761d09e522aedb010a9f7e04fe8d458740218b13570aa62a63b6f3f713d2a8cb033c25a971510b62be3344eadbce122ca32c58e0c947d3bed0aad73b9c10dfa8d48091fcedf05a37d9fdcc6df3c6a9a69306368113af92daf0744c1de9f1047f02786a05502ddf6ad4de620eba52c360dbef3a037d7192ead2eb77f1adeb9cbaec5e16a5a60aeabf687b816a5e62b4a3be0b91040b71ceead72ecd25f5cba06f72f32e9c054d116011672e4e779884988a109938dc8f00aaae128e4ec3ad13b7b9f34cd9dd684d51932b3aaff9a264f2225a2bade1ca1ed860e16c26524f23d9f78272e794649275d0832f932f2d5ec499ee304a117c73d206734a821b591b46045d933751187b9a1cf0bf84eed443ef266405c20317bbb8b0598006b821c5c3b551e7e250ed15c932fd70cb4026bf6ca9beeba664acb34c1ed77fcc49c59dafd6bb33504841900e5954d410dee6e51e6ec255855b1bbbca612c2e01e6b0ce5fec0d4676f1943e2aaa54489d067546dc481303fa635a38b5b5ccfff32e64155338931793fc55b90e256385ccc00261e425d6d8b098d0668735023f93e3b5a4ceec412c55e876175956f492525ab6846fb324a13adfbcdeb5634fe0ae76105455c9ec5640fe2f9415b699d0ffc3b54a510e1b98396d8c664e96b36a80a0f53c8f685cc452ab89f26e2dfbd56f31251abdd6c5f8414ef0ecc6b7b88970ca95b8a73f4334a968f3e8022f515739f4ee9ef95ed0aad3c0257a193719780071a9731297533aa85055566fd65f8eed4fc7ebf987cb4dbe7c0ae869da2ccb41705b324462625b1505a88a855384e289f1041ed6707d28285bfb8c93ac36dbf09de7b75ec9b8621225f897db730a7b96052b4f47c0437724da1cd9be7b93a8a19d8cbc9b5f5b6b4e217ba4c46552ec0e5bbfd38fdede669ff76e9ccd0c4dec7b701925ae0b7d46d35f7263186215a4689e28546f71d703924c7598b1d6e6701a2a62d3a24deb3e82230f42d81716ff0a7d338c84cb548e905d3af2f9b04039419db27e11582de54839d3dac21e5087f8ecdcba1f9b1005f989bacf0893c50b7b0c15e9eb72431dd0d2332614741fda974f8fcc72c7f73241aa8b79131280077106708e4c978e6ac95a560d52278cc2a6aa2e60d2ff03d5cb49856d83e0b410ec76a1e7f4bff4c8223b3956ae99181f19f69435dfb8819f15762ac24a7237bf31256d40f6d37495252d1ada93f7ae19b777eca28937e0a72888f6e6e42111fd3190b6cc074e8ffe368ef3b127110d7569a28a6f2dbed281fa644e33af1fa79d41d82d9863ddf4a0870d05f8f66607890359f155cedfaed66c030a3074247f4ed6e443fb05cfcdbaed247f8531acbbf8a23349e904c3b1bc5fec43aca1205ea4171bc445c49125559a075affaa41cacc1c83057276946fd36feeefd8085d9f7917b382fd8e349ff6ea7788901b84f11629d09589653cce082d54b15f4657c0fca61a1674221d12cad38c5a8ce77f23466a4714de365f5d56b556020bd940b4bae590a9a6be6456ee6d324cfac5d87d2cc1ed7688f35d6f9eab8f25844612df17aa705deb1218bbd12aeede30aa8c04b73bfc1f5af80e8b7063bd7f256a7590e3ce2526a4a3749617e1e7131e0dfb16f61e892a41f95667015a2f35829543a780a29f23c93afd6b9f730ac62bdab1b2061fbd8b2d3c3a6387553604a80eca1309245726cc53edd84bd2a94bddeca5693ded2dbd78eff0038bff5205e7bbbf12f86b1ec13194ffa939fe695353ba8bbcbf30428ffab0f0cc7c2479172410222da954285759b8a78d71f9f5bba0510820f70ef269deeceb12a5242490f324e3d13e806a6029fdc5897395ade81864bee09b68fd8da9d387c22ca0f2aec92c3606ac08cea2be2d0e639122e64d306b5c249c25d7d579d3ea2f76a3f9bf37d97e413a86e040badc76a9609be74e63c9989911b9e7cd12aeabdd91b37fe1083c95620651114a148de56aaf5b8766e4694c29a37409a98a4c0e0c3031d7b110fce372ead5577c309ffb0845d8693e741734bff63a2b78e996eb8c21d0b5c13b55cbadad07c594a6dd63118749cb397b7d7faa00529a0c490b697466771800003482839cd98fb99ff550c66e5f0b35f32b71a740a1bbf1f52e6b2d93ff3bd8006b6b4588941d02c03edb48502433d6a916ed0400bcd26564a51b09b58a9a02ca2cd6a5bc09b76e41f5d774380e8b42690ab38695767ed959a7a7a77c29c64fdb6c5b84af6ef27e8d4b72597fce177e72c543a8163d14295c4c7b14d6a394eebe7ea793a73ea2c429c482edff8ad8df966e0417612287beebf7dc681542fbe60bdb0b683c47b3d869a797ebeeefc8b314ec85ad2a58122e13b9b4e0e677e53c60e482dddbbf01a0b460e388e8d795dc7f8911dcb55eb97bf58b6b7e2dc8098e03d53bb553e893e200ec1e7b7b0258e345639602adf80337e3451c127f01417f0e0f230c6f5a8010c0c1636617041e93d0e9ac9a3860b9b8d31d2701e4b042be42b94d7eb41fe9d860c4f2dc32227891624351b81da6b195f601d544d106e9663dd54cc4526fa7b9682623a1c7e1836399e298571843880e25b809ee79d267018e96e007bcae17dba51ecf7664dbe13b34587428c33c89b23ba8dee2e5877c957d4e1194f800a967cde2a51f9d61c12345c084e9c8d5691073acef98f1359e97f8a16c2083f86a8896cfb9ab12bb10f353924c329cf66bab9e3ed3ff517a640263b976dd17619b78a1d23a2131a7d8c7ac7b64721f343af67f8a2fce532ab338aa713243489d04ce288fdabe5a5996712b9f904b639a8544e3491705850aeae3ff6afc7c0a23db53ecb012cb1e3a583cb0b13589977b32fa199ca402130b092a1fcea5a7a1b28cb4d07af08de4fb78b68684381b45075f30f615490dc23588db1b0cebd4b5861d284d6d89eb10a555269d48b462a137788bc77289bb994d868bdee4a0599256e560c806755ca7cc98cd734fc3d0e447cf22dedcaf937e635c416f7884f7652802a90fc9a0c62763cec179d7803345a71956341a6731ee02e39c94a3657457e3c517b02e4c101918feddcc24659e25ee8d015f5221c23e1529abb3af26ba3c03915895225e57c8f5bf6e2252ab2e4c8387f7c689539e7a8a7498e5bfeb6c5e11930deb715fa1916d8ebcb4a641eb5eca47c5e405e5148b40dd0555b4149d8bb1a838a8fb187b661930d81f7ee8e9ca8969211a7f9ccf8953986947b28123574288cc894c43ab50c54ec6ca08af561ca51a858e53047bc88e384c0edad515ed6236b0b07d18b751967bb01e5bd7227777e09a6d7d985408ebaccdbabdc4d656d3ee66b2c06c2192ff8d9f995b5eaff22010a15668214f17a41c5fe1f8a5c4b5653ee82682c55fc65eb69d61bcb27b1198b6099dc019e2c4312fd8458710d6b54ab33dede93d9282911d8d4ab3bbe6240d2db433f6ef8afc8c881463ac9d46716f7b63b60fad121cf6e73674a1fa99fd3d6094cad5808f650f675dcf54acc611cc3688facacdf3e60368ac5a4c513497664e6cfffe5accd26e97ae3419703ec7b916c2d43c0d93352890b720e0a5dc8d2741384b3992c2dea323ab4c1f82f956170f5b1a564475142d8fd79d44768932fb983f98e9e0b9fc54ec816593ad824bfb6e2e7c07f6e627bdd77d0e2690551d2756ab2ebb63fb955515673a14d5f3af61023e5e0c9d787b0145348c8d738b4265e2e7618933c8522787a8707e726eb34677d636382b8af25bac7b169e79ca1c5712c0679dca0c5c113271775a45aa11e3eaa7219d196d9f2b70cb89c507d5f29eb17a8fa918b320795f58cf040e6a5c64e52d24049d46d35236c55d8fcd513155e635cbc30e5beaaa348f1f3a6955424104eaaa88e33c3a0ab6274a5c629e18e2d4d5f303572f626d81acff4201f1b5711d7f5caab04ef41dd85e938f05e7b76744b455476b3f9917a7a27e8158d90533b343255dbce83e9f1c5a6db3dfdaebd89a046267535358d1687070e18a51195fbc327be66b85c4caf460fa70fc4d9d7dae60ebf91ee458a23f3d38d555bc4e5311acadf0249a5396105a4a16e5dec5754ae7fd8a17108606a05865325adfb47c8e8cabdf676a5860c512a9fa8be8d5068b8b11491d2c1b1d0d96ca3c39ba76a221b31238a74cbfff2dabbb9570264c599e88bbf51dd0bdbf9a6eb5430c53e9a1410d079ae964f44f6d183cf599b8a47d2454b22dc30c07c2ea75f5e9c19342619d0e0b394cae114c8cf67868d7f1a897d6534a038aac73c76aeb265cc7e165895d8c8c3f355867867638d47e36bfdea12daba1d6628485711ee30b2b59b186366c3deabb1b1f822654005e7064072fcf13ff34ea45802bdd6453ff7e8ce60ba55b0b28b2b676d7aa3b8547e753a3df73d12a9f9794afc4090670901b1d296d0d6e1066c0662b0ce880f1bb8fa9b96829c58b5a7de410b98f3530e141fd92f4060ec8c36f784cc1d495ede7316f7dd78445d73769913a8f51393d0c4b4957fcd5244397e0ea31ab8168051bbc8ab5affa0189d31191693ab2ca17a492594a8095b4dbac92f6622dcb8f85b35a731efb3434d1f98d640e2f200a39ff9dc18991cd77d839ff126d1845ecd1d0ca1530d35c8499be98ac860bee303945df236dd1067e7ccbaa6d63aaebc9b3e67d18246741763733bbaecdb9fff3f03e9053df4a62b33a9d2aaf69315f3b9df15eb7ccff0c8d74c85eb070deeb902cfe59c04fc7fe51a994d9922be0d43f67d6cb239305b8d7e9833129446cc446556098c6ec4adc7fbb4adf1124ab1788b5360bac78f151ddbd64011bd16f363c33dc1ced5322c7af29569e38437d04b7cc9b76e1424e649760e54a1b92ea603cbe2ca418fbfe3dac1b5b257a1816f7f845efd4aded8b4a3ba51227c253614eccc3e9c1481f337f1d316c3c60da0f84bb5efa44a2794d9023e1fda1e4c7f34809dbd56f8094a488d678880f44423fb4379c521ba649d765f65c7d26ade6c616886f083a4456d42c46eda3bd9b0b20b09a81fddfe3b050c3318c26d6c121cf8d5b56b9788f61c54fc16ca772f5d948ad59fd8d100821f2e2f988abf81cfe701e1c53572ae9c336b39c68f36e9c8f5c6123f8c6c05a4f2115a0691769ed735619362565c8437149fae4d1d8687cbcf7480d4c6e043bf98abc7282890f445ac061fc47820aaaa4c9e6db737901967bc971592ae244fba51bc0cf361d48926d41043902a87249ef3c54fd11e2f68a6e698f6f3dff8c287ca9d4120545cc918bd65d43327251592c4f8546f027b6e77a98ea9b1d75001c98f065bae6368f23be52493383d728c6b6b60a57db92613c1894cdf7a0a6312e06777dcf5e5ebd8746941fbd3d8985e98bf57714cfd68a4b99859c4f04961c0727f06b975d233ba409275093fdbb846a619493e5fca9c8533b0922a20656608d4b26cf8712c13be18f516a2f6092a935e7cfef7b08cc2d3370cc7b1dc3aa6155b1233ccf5cdad76bba679342faae8627b77128f516b2b5be5af16912b47a104c628769c75b97bf9085d69356adde2be012d5ead6d9770046b064ba6ad3bd59f00fc6a5b38da61f8979fa456cff9eb8f54c47e10312153b9f815725c6bb909267140ddc618c368488a7bdfe72b874742fe4c840d53767c18d899aaf41c46d97421a5bf4dc8291d20d92e923408f25203c12f7277df2a4eada9fc823834a76ef15e4585868ae8b55ee77b78cbdd1f629f18edbc67109f593b1b1c3b63a0d701652822bcf546b44883dd47384047b0b2e5cd4efad1c2fe6c8c7e24ed4ab0cbbc61eaaa491ad47c567223527e62639dcbc9af52e626dd24cd9513f7174593f4001709821326434eae4a71f4c8261ef84f23e4af0e0e1ad89c9eee468c266538f6b480dac81c4eb3225c165ee107efe57df76619d72fb5a64c763529c27692cdd679441cd9400163b957f4016c448329ebf2e360ac46f409c3fc65611ba50dae0fe4aecc96ea2cbf240bf429282a9908419da070b7a2e5543b29a0eab9307afef88691843de60904ff0d0816ebd4c9238c5a2749fe358d1471d7207ac03fdf8b88b012eb2e0d02bf4a0e45d99bd530ef4aebdbd0c1233e0db2484f8eb6fe7326e0e31cfd3282d25da68f6d9d1430316a88660cca6b6ed75e265796279adf5253a0b7d4514aae6511be084836ba7b7df38e921f2433e457dd133b551fb89bb2c8ea2ef51a0ce0982ecf912885b3e8ecf35bf92c9ef9c47c8cb34e0a38f3094c4fe1ff861110b296950f49b9008460f772d02cbfb205994487ff76328646615b8a4d086a18abcb05791230817d2e5c9806d413d5456357dd5eaec57d914bfa0040f8b8b0390356c7e5fc3653385c8b5b11c90412ef784ddfd3950b6eb43118e880a9c3985feb26e8e008a3542188566821e255b9d702717a51c8d24046d3ad0b79e4fb260e381e75731150ffb25116e889d4829ebc877ee4f1027154a8a2bd24cc27f030d31f7164cc97bd4e6287e715e4673a07d78458e5374d3cde919d189417773841bdc9f697f639ce841c3c83c8bf8c89697ab8b2a515ae721250fee8dc4266072ec8f9ab73d0263a0146d8d2610f10cb28aed12970054539c61ff938dc4859512ef1663bf961c067e59976fd33601f8fb945dec3b7f5b15bea0c6cb07391d2387b139bf0927f9ce3b71cff705c074bca7de6bd7649f919bfd34f1d1ab8f6dab6b6328d218dba73ade1e5746bd2fda098cf425de7ebe43172fca56b402910345e0e895428cf7da7895f8dbb4df7ba073392c2747d33c6b7457bda621e7779bcaaa35c19bf9589aebb5709d54f96bf5234b01f583407004a7352473c805a11be0eff422277e1cf4fd1289f2700e0c1f7a5eab8cb93ed991750b8b3a3acc906141e931c1a0795cf16c7e8301f349590905a96ff42fa7bfaae7ba4767b435c4afa0775118e270a4c7c2ce2eb7c8b852cea6adc75c5df2c8af3fc092be748925c400090a9e69685b486d06981e59543dcbf1cfbad828dac81629e4a51b8eb09e4706f9feb283c34861b4651ec5d53d87b9ad11aad0e711da7b127e0c25f2319f70791a77c9612c58c7329978d24ab99f68bb528db2ea6601496242eb4be1cf45be208b3fb4296e80b2fb4991bee9c35d9e4dee4fcfaa666a7681a25f253585b3da500b96c9a16ffad5d986a0e350e8d70dfc90a2bc2f9e291e7a94b4e3c2dd1393c2eadf381e0c524acbe77d69ce10422ea3246b3772ed38c31929d55d6920261f8a7af0a418d3eced5510abef5353ed2e79def67ee62d336672464ffd5dd08e382ab3c2f59fb69d9b1ad9bb06f098be54c33abe65c479e4c1ce191818a068ce24ace52f732d3b0d61279e5155e248c3cbc1a56157a47072b89b276fd9bdd99a41c23e13bb1cf66fcdeb61217393fda68669c08339ca8e20a24885470419c790f5d8da9eddca916cb088308a1e6c557e61436b22c0909c5e2b00b71cfad8c0f7f72be054f3ed465a9e7a1de6029f63a75051f49cb67a9a5070954acb1eb6a1f0c15fa58e1b672539f686988978369bf59354648221519b7cd07bce8556e81148fbf1ff28d3115a278415d10d6d8fa212aefb3f0aee3c7b353dacdecdd5dc9c8ffbf7fd596f75af33e77d53c9de476d374ff3a20f43febc97e741dcfe8280a766604eb4001d1b4662df36e95c03001a33f57f17fc96640f6f6bf6df7ed059d86846f14a7695cdb2764e3560bc1ad3b8bbab92ddd3fa6ebf1fa729d604edb7e55b1d8fa902c6af7b9c4688f4143d43234130445908807073fbbfd508a2c329f8690a5bfcf1a967f02b8e9302cc636e10af2e133be1a6298fa12e314c8b4fe3400b0ec5e9e65dd9f9250e8ba54ed2590fb63af731832d96944f02ce0524f0269747a7de9475d9ae5a457eb772e6ebad2c7835c259769f9d0bfe4213bc7460ea101682bd2a717009fde4c6b7fef6573f52773d1fd166bc4a7d8c2fe778dfb9fefe4f9598bec28548ddefb5e446a2  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">请输入密码</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/interview-exp-18/</id>
    <link href="https://moyon.net.cn/2026/08/17/interview-exp-18/"/>
    <published>2026-08-17T18:00:00.000Z</published>
    <summary>【面试】问题及回答18</summary>
    <title>【面试】问题及回答18</title>
    <updated>2026-08-25T06:51:33.233Z</updated>
  </entry>
  <entry>
    <author>
      <name>Moyon</name>
    </author>
    <category term="AI日报" scheme="https://moyon.net.cn/categories/AI%E6%97%A5%E6%8A%A5/"/>
    <category term="AI日报" scheme="https://moyon.net.cn/tags/AI%E6%97%A5%E6%8A%A5/"/>
    <content>
      <![CDATA[<p>今日概览：资本与基建剧变：Stripe 收购 OpenRouter、Nvidia 缩减 OpenAI 担保；另有能源浪费与 AI 自改进、评估等关键研究。</p><h2 id="产业与资本动态"><a href="#产业与资本动态" class="headerlink" title="产业与资本动态"></a>产业与资本动态</h2><ul><li><p>Stripe 据报道将以 70 亿美元收购 AI 网关公司 OpenRouter，补全 AI 支付与应用分发版图。<br><a href="https://techcrunch.com/2026/08/16/stripe-will-reportedly-acquire-ai-gateway-startup-openrouter-for-7b/">https://techcrunch.com/2026/08/16/stripe-will-reportedly-acquire-ai-gateway-startup-openrouter-for-7b/</a></p></li><li><p>Nvidia 大幅压缩其可能为 OpenAI 基础设施融资提供的担保额度，降低自身在 2500 亿美元数据中心项目上的风险敞口。<br><a href="https://www.reuters.com/business/nvidia-scales-back-250-billion-openai-data-center-guarantee-wsj-reports-2026-08-14/">https://www.reuters.com/business/nvidia-scales-back-250-billion-openai-data-center-guarantee-wsj-reports-2026-08-14/</a></p></li></ul><h2 id="算力与能源成本"><a href="#算力与能源成本" class="headerlink" title="算力与能源成本"></a>算力与能源成本</h2><ul><li>PJM 因一个容量定价建模错误，浪费了美国纳税人约 120 亿美元，暴露电力市场模型与大模型时代算力需求的错配。<br><a href="https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted">https://newsletter.semianalysis.com/p/12b-of-us-ratepayers-money-wasted</a></li></ul><h2 id="前沿研究"><a href="#前沿研究" class="headerlink" title="前沿研究"></a>前沿研究</h2><ul><li><p>剑桥提出以“红皇后假说”为思路的自改进 AI 框架，为摆脱人类反馈瓶颈提供新的进化式路径。<br><a href="https://www.cst.cam.ac.uk/news/red-queen-hypothesis-new-way-forward-self-improving-ai">https://www.cst.cam.ac.uk/news/red-queen-hypothesis-new-way-forward-self-improving-ai</a></p></li><li><p>新论文发现大语言模型中会自然涌现出模块化认知结构，对理解模型内部机制与可解释性有重要意义。<br><a href="https://arxiv.org/abs/2608.13567">https://arxiv.org/abs/2608.13567</a></p></li></ul><h2 id="评估与工程实践"><a href="#评估与工程实践" class="headerlink" title="评估与工程实践"></a>评估与工程实践</h2><ul><li><p>研究指出 AI 评估应引入人类协作而非完全自动化，以提升评测结果的生态有效性。<br><a href="https://arxiv.org/abs/2608.13577">https://arxiv.org/abs/2608.13577</a></p></li><li><p>一篇综述回顾了 LLM 服务系统一年的工作负载变化、缓存策略与负载均衡，为推理基础设施优化提供实录参考。<br><a href="https://arxiv.org/abs/2608.13573">https://arxiv.org/abs/2608.13573</a></p></li></ul><p>小结：今日主线是 AI 资本与算力基建降温，研究焦点转向自改进、模型认知结构与工程评估。</p>]]>
    </content>
    <id>https://moyon.net.cn/2026/08/17/ai-daily-2026-08-17/</id>
    <link href="https://moyon.net.cn/2026/08/17/ai-daily-2026-08-17/"/>
    <published>2026-08-17T14:59:59.000Z</published>
    <summary>
      <![CDATA[<p>今日概览：资本与基建剧变：Stripe 收购 OpenRouter、Nvidia 缩减 OpenAI 担保；另有能源浪费与 AI 自改进、评估等关键研究。</p>
<h2 id="产业与资本动态"><a href="#产业与资本动态" class="headerlink"]]>
    </summary>
    <title>AI 日报 · 2026-08-17</title>
    <updated>2026-08-25T06:51:33.232Z</updated>
  </entry>
</feed>
