般若生 發表於 2025-9-15 14:37:00

AI 应用开发,不就是调个接口么?

<p class="md-end-block md-heading"><span class="md-plain">大家好,我是程序员鱼皮。</span></p>
<p class="md-end-block md-p"><span class="md-plain">由于 AI 的流行,很多公司开始搞起了 AI 相关的业务,或者给老项目加个 AI 相关的功能。</span></p>
<p class="md-end-block md-p"><span class="md-plain">这也给开发方向的程序员们提供了一个新的垂直岗位 —— AI 应用开发。</span></p>
<p class="md-end-block md-p"><span class="md-plain">但有朋友可能会觉得:“AI 应用开发?<span class="md-pair-s "><strong>不就是调个接口么?有什么难的?</strong><span class="md-plain">”</span></span></span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912144702279.png"><img src="https://pic.yupi.icu/1/image-20250912144702279.png"></span></p>
<p class="md-end-block md-p"><span class="md-plain">还真的是应了那句话 —— 你知道的越少,以为自己知道的越多。</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/d3095fdef5084fe0943fa3aa3b4fb0db.jpeg"><img src="https://pic.yupi.icu/1/d3095fdef5084fe0943fa3aa3b4fb0db.jpeg"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<p class="md-end-block md-p"><span class="md-plain">就好比有人问:电商系统是怎么把你喜欢的商品推送到主页的?</span></p>
<p class="md-end-block md-p"><span class="md-plain">有同学秒答:不就是 <span class="md-pair-s "><strong>推荐算法</strong><span class="md-plain"> 么?</span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">的确是这样,但就是这 4 个字,可能是很多精英们日以继夜地研究、不断地优化,才呈现出给用户看到的效果。</span></p>
<p class="md-end-block md-p"><span class="md-plain">AI 应用开发也是一样的,调个接口的确可以实现一些需求,但深入到具体业务场景和解决方案中,还是有很多值得学习的知识和经验。</span></p>
<p class="md-end-block md-p"><span class="md-plain">这不,前段时间我直播面试了一位工作 3 年的 Java 后端开发老哥,目标是 AI 应用开发岗。下面分享下面试过程,看完你就知道,<span class="md-pair-s "><strong>AI 开发绝不只是调个接口这么简单</strong><span class="md-plain">。</span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">⭐️ 推荐观看视频版:<span class="md-link md-pair-s">https://bilibili.com/video/BV1qgHezFEaR</span></span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912151414330.png"><img src="https://pic.yupi.icu/1/image-20250912151414330.png"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">Java &amp; AI 应用开发面试</span></h2>
<h3 class="md-end-block md-heading"><span class="md-plain">候选人背景</span></h3>
<p class="md-end-block md-p"><span class="md-plain">小王 2022 年毕业,有 3 年多的 Java 后端开发经验。在上家公司负责电子签合同云平台的建设,包括账号系统、权限系统、消息系统等核心模块。</span></p>
<p class="md-end-block md-p"><span class="md-plain">除了传统 Java 业务,他还自学了半年多的 AI 技术,做过电子合同 AI 智能助手(RAG 系统)和模拟面试官 Agent 应用。技术栈涵盖 Spring Boot、MySQL、Redis、RabbitMQ 等,AI 方面熟悉提示词工程、工具调用、Agent 等。</span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>目标薪资:20K</strong></span></p>
<p class="md-end-block md-p"><span class="md-plain">看起来背景还不错吧,那我们来看看面试都问了什么~</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">第一轮:提示词工程</span></h3>
<p class="md-end-block md-p"><span class="md-plain">面试官:跟我讲一下提示词工程吧,最好能结合你做过的项目举例,有哪些优化提示词的技巧?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王的回答:</span></p>
<p class="md-end-block md-p"><span class="md-plain">提示词工程是提高大模型输出质量的重要技术,常用技巧包括:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">角色设定:给大模型设定系统提示词,包含角色说明、任务和约束条件</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">小样本提示:给模型一些输入输出示例,让它仿照执行</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">思维链:让大模型先思考再输出答案,分为零样本思维链和小样本思维链</span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">在实际开发中,提示词需要不断迭代优化,可以通过阿里云百炼等平台做 A/B 测试。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官追问:少样本和零样本你在实际项目中怎么选择?什么情况下用少样本?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:小样本适合想让模型输出贴合我们规范的场景,不想让它输出多余内容,通过示例让模型遵循固定格式要求。</span></p>
<p class="md-end-block md-p"><span class="md-plain">点评:这个回答还算全面,但缺乏深度。真正的提示词工程远不止这些基础技巧。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">第二轮:AI 应用开发关注点</span></h3>
<p class="md-end-block md-p"><span class="md-plain">面试官:你觉得开发 AI 项目时有哪些注意事项?你会更关注哪些点?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王的回答:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">业务理解:深入了解业务,抽象成工作流或 Agent</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">工程化优化:</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">缓存高频问题,命中缓存时直接返回</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">流式输出和异步处理提高响应速度</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">不同任务场景用不同模型,简单任务用小模型节省成本</span></p>
</li>
</ul>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">面试官追问:你提到批处理能节省成本,能举个例子说服我吗?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:emmmm。。。这个方法我确实没用过。</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912151520323.png"><img src="https://pic.yupi.icu/1/image-20250912151520323.png"></span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官继续追问:你做项目时不关注 AI 的可观测性吗?不关注 AI 的准确度和幻觉问题吗?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:准确度方面可以通过提示词和 RAG 优化。。。</span></p>
<p class="md-end-block md-p"><span class="md-plain">点评:这里暴露了一个问题,只知道怎么做,但缺乏生产级别的工程实践经验。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">第三轮:消除 AI 幻觉</span></h3>
<p class="md-end-block md-p"><span class="md-plain">面试官:你在开发 AI 应用时,怎么尽可能消除 AI 调用的幻觉?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王的回答:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">提示词优化:更明确的角色定位,加限制条件</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">RAG 系统:外挂知识库,让 AI 基于知识库内容回答</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">模型微调:针对特定领域进行微调训练</span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">面试官:还有别的吗?你做过工具调用,怎么消除工具调用的幻觉?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:工具调用幻觉具体指什么?</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:比如 AI 调用了系统中不存在的工具,怎么消除这种情况?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:可以用 RAG 方式把工具信息放到知识库。。。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:这个方案是不是有点绕?考虑考虑工程层面的解决方案?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:。。。(沉默是今晚的康桥)</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912151532157.png"><img src="https://pic.yupi.icu/1/image-20250912151532157.png"></span></p>
<p class="md-end-block md-p"><span class="md-plain">点评:实际上,工程层面有很多方法可以处理工具调用幻觉,比如添加幻觉处理策略、大模型参数调整、提示词优化、异常捕获等等。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">第四轮:技术框架深度</span></h3>
<p class="md-end-block md-p"><span class="md-plain">面试官:你平时开发 AI 应用用什么框架?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:Spring AI</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:Spring AI 有哪些特性?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王的回答:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Advisor 机制:相当于拦截器,可以在调用大模型前后进行拦截</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">对话记忆:提供多种内置对话记忆实现</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">向量存储:内置向量存储,也可以自定义实现</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">ChatClient:和大模型交互的客户端</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">工具调用:通过注解将 Java API 转换为工具</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">结构化输出:指定返回 JSON 格式输出</span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">虽然看起来小王回答的不少,但回答速度很慢,而且还有很多特性没有回答出来。</span></p>
<p class="md-end-block md-p"><span class="md-plain">所以这里鱼皮扶了一下:MCP 用过吗?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:用过。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:按理来说你用过的话应该很快就能答出来,感觉不太熟练的样子。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">第五轮:项目深度</span></h3>
<p class="md-end-block md-p"><span class="md-plain">面试官:你做过电子合同 AI 智能助手,使用 Elasticsearch 进行向量存储,介绍一下混合检索策略的实现?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王的回答:用户输入问题后,先进行 embedding 向量化,然后并行调用 KNN 和 BM25 进行语义检索和关键词匹配,使用 RRF 算法重新评分排序,最后取 TOP 5 文档给到大模型。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:为什么取 TOP 5?(这个问题其实是诈一下)</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:数量太少会导致上下文信息不足,太多会导致上下文污染,5 是测试下来的准确度和多样性平衡点。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:怎么尽可能保证 AI 搜集到足够多的信息?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:通过工具调用联网搜索,加上本地知识库。。。</span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:还能想到更多方法吗?</span></p>
<p class="md-end-block md-p"><span class="md-plain">小王:。。。(汗流浃背了)</span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912151553522.png"><img src="https://pic.yupi.icu/1/image-20250912151553522.png"></span></p>
<p class="md-end-block md-p"><span class="md-plain">面试官:提示词本身是不是可以改一改?你可以告诉 AI 要尽可能获取足够多信息;还可以使用多关键词搜索、查询优化和扩展等等。用过 Cursor 等工具的话应该会有点印象。</span></p>
<p class="md-end-block md-p"><span class="md-plain">点评:这个问题考查的是信息检索的深度优化,小王的回答比较浅显。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h3 class="md-end-block md-heading"><span class="md-plain">面试结果与总结</span></h3>
<p class="md-end-block md-p"><span class="md-plain">从面试结果来看,小王的优势在于:</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">有实际的 AI 应用开发经验</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">基础概念掌握还可以</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">不足:</span></p>
<ol class="ol-list" start="">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">表达节奏慢:回答问题需要面试官一步步引导,缺乏主动性</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">缺乏生产级实践:只知道怎么做,但不知道怎么优化</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">工程化能力不足:对 AI 应用的监控、可观测性、异常处理等认识不够</span></p>
</li>
</ol>
<p class="md-end-block md-p"><span class="md-plain">最终我觉得小王拿 20K 月薪是有希望的,但不稳,还需要在工程实践和表达能力上继续提升。到了这个薪资水平,做项目不能只满足于 “完成” 了,而是要尽量把每一个核心功能点都做到最好,多学习和尝试不同的方案。</span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">AI 开发真的只是调接口吗?</span></h2>
<p class="md-end-block md-p"><span class="md-plain">通过这场面试,大家应该也能感受到,<span class="md-pair-s "><strong>AI 应用开发绝不只是简单的调接口</strong><span class="md-plain">。</span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">一个合格的 AI 应用开发者需要掌握:</span></p>
<p class="md-end-block md-p"><span class="md-plain">1)提示词工程</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">角色设定、小样本学习、思维链</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">提示词优化和 A/B 测试</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">针对不同场景的提示词策略</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">2)AI 工程化能力</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">性能优化(缓存、流式输出、异步处理)</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">成本控制(模型选择、批处理、负载均衡)</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">可观测性(监控、日志、指标统计)</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">异常处理和容错机制</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">3)核心技术栈</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">RAG 系统设计与优化</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">向量数据库使用</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">混合检索策略</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">模型微调和评估</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">4)框架和工具</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Spring AI、LangChain 等开发框架</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">MCP 模型上下文协议</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">各种 AI 开发工具和平台</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">5)业务理解能力</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">将复杂业务抽象为 AI 工作流</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">Agent 设计和多工具协调</span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">用户体验优化</span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-plain">完整的 AI 大模型应用开发学习路线我也帮大家整理了,可以 <span class="md-meta-i-cmd-link"><span class="md-plain">在编程导航获取</span><span class="md-plain">:</span></span></span></p>
<blockquote>
<p class="md-end-block md-p"><span class="md-link md-pair-s">https://www.codefather.cn/course/1789189862986850306/section/1912024009574629377</span></p>
</blockquote>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/image-20250912152042459.png"><img src="https://pic.yupi.icu/1/image-20250912152042459.png"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">学习建议</span></h2>
<p class="md-end-block md-p"><span class="md-plain">最后也给想转型 AI 应用开发的同学几个建议:</span></p>
<p class="md-end-block md-p"><span class="md-plain">1)不要只停留在 “能用” 层面</span></p>
<p class="md-end-block md-p"><span class="md-plain">很多朋友学会了调用 OpenAI 的 API,就觉得自己会 AI 开发了。但真正的 AI 应用开发,需要考虑的是如何用 <span class="md-pair-s "><strong>更低的成本</strong><span class="md-plain"> 让应用 <span class="md-pair-s "><strong>稳定、高效、准确</strong><span class="md-plain"> 地运行在生产环境中。</span></span></span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">2)重视工程化实践</span></p>
<p class="md-end-block md-p"><span class="md-plain">要学会使用 AI 开发框架,而不是只会裸写 HTTP 请求。还要了解 AI 应用的监控和可观测性、掌握成本优化和性能调优技巧、学会处理 AI 应用的各种异常情况。</span></p>
<p class="md-end-block md-p"><span class="md-plain">3)深入理解核心概念</span></p>
<p class="md-end-block md-p"><span class="md-plain">比如提示词工程,不只是写几个示例那么简单。还有 RAG 系统,涉及信息检索、向量数据库、重排序等多个环节,每个环节都有很多优化技巧。</span></p>
<p class="md-end-block md-p"><span class="md-plain">不过我觉得最复杂的还是 Agent 的设计,需要考虑工具选择、任务分解、结果整合、多智能体协作模式等等。当时火出圈的 Manus,其实也是在 Agent 的设计上 “讨了个巧”。</span></p>
<p class="md-end-block md-p"><span class="md-plain">4)多做项目,多总结</span></p>
<p class="md-end-block md-p"><span class="md-plain">这句就纯正确的废话了,大家都知道得多做项目才能积累经验。尤其是 AI 应用开发,不同的业务场景都需要对 AI 生成的效果进行定制的优化,不是背个方法论就能解决所有问题。</span></p>
<p class="md-end-block md-p"><span class="md-plain">我自己开源了不少 AI 应用开发项目,甚至还写过几套体系化的实战教程,分享给大家:</span></p>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">AI 应用生成平台:<span class="md-link md-pair-s">https://github.com/liyupi/yu-ai-code-mother</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">AI 超级智能体:<span class="md-link md-pair-s">https://github.com/liyupi/yu-ai-agent</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">AI 文献阅读助手:<span class="md-link md-pair-s">https://github.com/liyupi/literature-assistant</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-plain">AI 知识库:<span class="md-link md-pair-s">https://github.com/liyupi/ai-guide</span></span></p>
</li>
</ul>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/68747470733a2f2f7069632e797570692e6963752f312f313735333333323239333537382d30636363326135332d366439382d343161372d623731342d3136666136613766303935662e706e67.png"><img src="https://pic.yupi.icu/1/68747470733a2f2f7069632e797570692e6963752f312f313735333333323239333537382d30636363326135332d366439382d343161372d623731342d3136666136613766303935662e706e67.png"></span></p>
<p class="md-end-block md-p">&nbsp;</p>
<h2 class="md-end-block md-heading"><span class="md-plain">最后</span></h2>
<p class="md-end-block md-p"><span class="md-plain">AI 技术发展日新月异,对程序员的要求也在不断提高。<span class="md-pair-s "><strong>AI 相关知识不再只是算法工程师需要了解,而是每个程序员都必须掌握的基本技能</strong><span class="md-plain">。</span></span></span></p>
<p class="md-end-block md-p"><span class="md-plain">无论你是前端、后端还是全栈开发者,都需要了解 AI 应用开发的基本概念和实践方法。</span></p>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>因为未来的软件开发,AI 将无处不在。</strong></span></p>
<p class="md-end-block md-p"><span class="md-image md-img-loaded" data-src="https://pic.yupi.icu/1/%E6%B1%82%E7%82%B9%E8%B5%9E.webp"><img src="https://pic.yupi.icu/1/%E6%B1%82%E7%82%B9%E8%B5%9E.webp"></span></p>
<h2 class="md-end-block md-heading"><span class="md-plain">更多编程学习资源</span></h2>
<ul class="ul-list" data-mark="-">
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">Java前端程序员必做项目实战教程+毕设网站</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">程序员免费编程学习交流社区(自学必备)</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">程序员保姆级求职写简历指南(找工作必备)</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">程序员免费面试刷题网站工具(找工作必备)</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新Java零基础入门学习路线 + Java教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新Python零基础入门学习路线 + Python教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新前端零基础入门学习路线 + 前端教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新数据结构和算法零基础入门学习路线 + 算法教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新C++零基础入门学习路线、C++教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新数据库零基础入门学习路线 + 数据库教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新Redis零基础入门学习路线 + Redis教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新计算机基础入门学习路线 + 计算机基础教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新小程序入门学习路线 + 小程序开发教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新SQL零基础入门学习路线 + SQL教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新Linux零基础入门学习路线 + Linux教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新Git/GitHub零基础入门学习路线 + Git教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新操作系统零基础入门学习路线 + 操作系统教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新计算机网络零基础入门学习路线 + 计算机网络教程</span></span></p>
</li>
<li class="md-list-item">
<p class="md-end-block md-p"><span class="md-meta-i-cmd-link"><span class="md-plain">最新设计模式零基础入门学习路线 + 设计模式教程</span></span></p>
</li>
<li class="md-list-item md-focus-container">
<p class="md-end-block md-p md-focus"><span class="md-meta-i-c md-link md-expand"><span class="md-plain">最新软件工程零基础入门学习路线 + 软件工程教程</span></span></p>
</li>
</ul><br><br>
来源:https://www.cnblogs.com/yupi/p/19092931
頁: [1]
查看完整版本: AI 应用开发,不就是调个接口么?