只会调API的程序员,正在被AI编程工具淘汰

框架思维正在让程序员丧失对底层计算机原理的理解能力
一段技术面试对话揭示了当代程序员的普遍困境:候选人面对购物车系统设计问题,只会堆砌Spring Boot、Nacos等框架术语,却无法回答用什么数据结构保存商品这一基本问题。面试官展示了从第一性原理出发的思路——先选数据结构(Map),再逐步叠加网络通信、并发控制和持久化能力,强调理解内存与数据库的关系、数据库缓存本质等底层原理才是不可替代的核心能力。
一场关于购物车的灵魂拷问
一段技术面试对话在网上引发热议。面试官让候选人描述如何实现一个简单的购物车系统,候选人的回答却暴露了当代许多程序员的致命短板——只会调用框架接口,却对底层计算机原理一无所知。
面试官问的是:"用你掌握的技术,怎么把购物车做出来?"候选人的回答是:启动Spring Boot服务、定义数据实体、写Controller、注册Nacos、配置负载均衡……一连串框架术语脱口而出,却始终没有触及一个最基本的问题——购物车里的商品,到底用什么数据结构来保存?

这段对话折射出的,不仅是个人能力的缺失,更是整个行业在"框架至上"思维下培养出的一代程序员的集体困境。而这恰恰是AI编程工具最容易替代的那类工作。
面试官的思路:从问题本质出发
面试官给出了一个极其清晰的技术思路,值得每一位开发者反思:
第一步:选择数据结构。 购物车本质上就是保存商品的容器,最简单的方案是用一个Map(映射),商品名作为Key,商品信息作为Value。
Map(映射/哈希表)是计算机科学中最基础也最重要的数据结构之一。它通过键值对(Key-Value)的方式存储数据,平均时间复杂度为O(1)的查找效率使其成为购物车场景的天然选择。在Java中,HashMap、ConcurrentHashMap;在Python中的dict;在Redis中的Hash类型,本质上都是这一抽象的具体实现。理解为什么用Map而不是List或数组,需要理解哈希函数、碰撞处理、负载因子等底层机制——这正是框架无法替你思考的部分。
第二步:解决分布式能力。 一个内存中的Map本身没有分布式能力,但可以通过HTTP Server或TCP协议,让远程客户端能够访问这个Map。
第三步:处理并发。 当多个用户同时访问这个映射时,需要增加并发处理能力。这里涉及计算机科学中最复杂的领域之一。在单机场景下,Java的ConcurrentHashMap通过分段锁(JDK 7)或CAS+synchronized(JDK 8+)实现线程安全;在分布式场景下,则需要引入分布式锁(如Redis的SETNX命令、Zookeeper的临时节点)或乐观锁(版本号机制)。购物车的并发问题尤为典型:同一用户在多个设备同时操作购物车,如何保证数据一致性?这涉及CAP定理的权衡——在网络分区时,你选择一致性(CP)还是可用性(AP)?这类架构决策需要对分布式系统有深刻理解,远超框架配置的范畴。
第四步:考虑持久化。 如果需要将数据保存到硬盘,再把映射中的数据写入数据库。

这个思路的核心特点是:从问题本质出发,逐步叠加能力。数据结构 → 网络通信 → 并发控制 → 持久化存储,每一步都有明确的技术原因,而不是上来就堆砌框架。这种推导方式源自第一性原理(First Principles Thinking)——拒绝"别人都这么做"的类比思维,从最基本的物理约束和数学规律出发推导解决方案。面试官展示的每一步都有明确的计算机科学依据,而非行业惯例的堆砌。这种能力之所以难以被AI替代,是因为它需要在全新的、未见过的问题上进行创造性推导,而非在已有模式上做匹配。
框架思维的陷阱:Service不能代替数据结构
候选人的回答代表了一种非常典型的"框架思维":一上来就是微服务、Nacos注册中心、Spring Cloud负载均衡,却对最基本的数据结构问题视而不见。
面试官一针见血地指出:"你这Service并不能代替数据结构里头最基本的常识。"

这里暴露了几个严重的认知缺陷:
不理解内存与数据库的关系
面试官强调,计算机运行时不能一直读数据库,因为内存的速度比数据库快"一百万倍"。这个说法并非夸张——从存储层级来看:CPU寄存器访问约0.3纳秒,L1缓存约1纳秒,内存(DRAM)约100纳秒,而SSD随机读取约100微秒,机械硬盘约10毫秒。这意味着内存访问比SSD快约1000倍,比机械硬盘快约10万倍。数据库的磁盘I/O正是性能瓶颈所在,这也是Redis、Memcached等内存数据库存在的根本原因。冯·诺依曼架构决定了计算必须在内存中进行,理解这一点是所有性能优化的起点。正确的做法是尽可能把数据放在内存中,只在需要持久化时才写入数据库。而候选人的思维模式是:数据直接扔数据库,需要时再查——完全忽略了性能层面的考量。
不理解数据库的本质
面试官进一步解释,数据库本质上是一套将内存数据保存到硬盘、并提供高效读写查询的机制。好的数据库内部有缓存(Cache)机制,通过特定算法将硬盘数据加载到内存中。我们与数据库打交道时,"更多时候是在跟缓存打交道"。
现代数据库(如MySQL InnoDB、PostgreSQL)内部都实现了缓冲池(Buffer Pool)机制,其核心思想是将频繁访问的磁盘数据页缓存在内存中,通过LRU(最近最少使用)等算法管理缓存替换策略。MySQL的innodb_buffer_pool_size参数直接决定了有多少数据可以驻留内存。这意味着当你执行一条SQL查询时,数据库引擎首先检查Buffer Pool,命中则直接返回,未命中才触发磁盘I/O。理解这一机制,才能解释为什么"热数据
相关推荐
观点碰撞Windsurf CEO深度访谈:速度是唯一的护城河
Windsurf CEO Varun Mohan深度访谈,分享AI编程IDE的创业pivot经验、产品构建方法论、异步Agent挑战,以及与Cursor竞争的差异化策略。速度才是创业公司唯一的护城河。
观点碰撞被低估即自由:AI时代的逆向竞争哲学
探讨AI行业中"被低估即自由"的逆向竞争策略。从OpenAI、DeepSeek到Cursor,解析为何低调积蓄力量比站在风口浪尖更具战略优势,以及这一哲学对AI创业者和从业者的深刻启示。
观点碰撞新教工作伦理如何被劫持:从保护工人到压迫工人的演变
哲学家Elizabeth Anderson揭示新教工作伦理如何从保护工人的理想被扭曲为压迫工具。从清教徒的公平商业伦理到新自由主义的复活,深度解析工作伦理的历史演变及其对AI时代劳动关系的启示。