跳转到内容

碎碎念:Web后端方向

你有没有想过:

选课系统开放的时候,几千个人同时点下“提交”,为什么有时候系统会卡,甚至直接报错?

在软件里改了自己的昵称,退出之后再登录,甚至换一台手机,为什么这个昵称还是改过之后的?

平时点外卖、点赞动态,或者向大模型提一个问题,这些数据到底去了哪里,又是怎么处理之后回到你的手机上的?

这些事情的背后,其实都离不开后端。

如果说前端更多负责用户能够直接看到和操作的内容,那么后端主要处理的是屏幕背后的事情:业务怎么执行、数据怎么保存、用户的请求怎么处理,以及系统怎么稳定地运行下去。

简单来说,后端就是让一个应用真正“运转起来”的那部分。


刚开始学编程的时候,我们写的大多数程序其实都很简单。

输入一个数字,程序算出结果,然后输出。程序一关,数据也就没了。

但真正的应用不是这样的。

比如,你想做一个简单的校园留言板。

用户在手机或者网页上输入一段文字并点击发送,这时候后端需要做几件事情:

  • 接收到用户发送过来的内容;
  • 判断这个请求是什么、应该怎么处理;
  • 把留言保存下来;
  • 在其他用户需要查看的时候,再把数据返回给他们。

这里面就已经涉及到了后端开发中的很多东西。

接收用户请求,需要了解网络和接口;处理不同请求,需要编写业务逻辑;而想让数据在程序关闭之后依然存在,就需要数据库。

例如,一个用户提交了一条留言:

“今天晚上一起打球吗?”

后端接收到之后,需要知道这是谁发的、什么时候发的、内容是什么,然后把这些信息保存下来。

下一次有人打开留言板时,后端再把保存的数据取出来,返回给前端显示。

从用户的角度来看,可能只是“点了一下发送”。

但在后端,这个过程中已经发生了:

请求 → 处理 → 数据保存 → 返回结果

当你第一次亲手把这样的流程跑通时,应该会对后端有一个比较直观的认识。

你会发现,原来一个看起来很简单的功能,背后其实有不少事情需要处理。


AI 时代,我们为什么还要学后端?

Section titled “AI 时代,我们为什么还要学后端?”

现在 AI 确实已经可以帮我们做很多事情。

不会写某个功能,可以让 AI 给你一个示例;代码报错了,也可以把报错信息发给 AI,让它帮忙分析。

这确实降低了写代码的门槛。

但与此同时,开发中真正重要的一些能力反而更加值得学习。

比如:

  • 数据到底是怎么流动的;
  • 一个请求经过了哪些步骤;
  • 一个功能的逻辑是不是合理;
  • 数据库应该怎么设计;
  • 程序报错之后应该从哪里开始排查;
  • AI 给出的代码到底能不能直接使用。

AI 可以给你一段代码,也可以告诉你“可能是哪里出了问题”,但最终还是需要你自己判断。

它给出的方案可能并不适合你的项目,生成的代码也可能能运行但逻辑有问题。

真正做项目的时候,经常会遇到这种情况:

AI 说得好像很有道理,但代码就是跑不起来。

这个时候,如果你对后端的基本逻辑完全不了解,就很难判断问题到底出在哪里。

所以现在学习后端,并不只是为了记住更多 API 或者手写更多代码。

更重要的是理解一个系统是怎么工作的。

当你自己真正经历过:

写代码 → 运行 → 报错 → 看日志 → 排查 → 修改 → 再运行

这个过程之后,你才能更好地利用 AI,而不是完全依赖它。

另外,从大学里的项目和比赛来看,后端也是一个比较实用的方向。

无论是大创、软设,还是各种应用类比赛,只要项目涉及用户、数据或者业务功能,通常都需要有人负责后端部分。

前端负责把功能展示给用户,而后端负责让这些功能真正能够运行。


后面的招新题会怎么带你入门?

Section titled “后面的招新题会怎么带你入门?”

后端涉及的内容其实不少。

Java、数据库、网络、Linux、Docker、Nginx……刚看到这些名词的时候,可能会觉得有点多。

不过刚开始学习的时候,不需要一下子把这些全部学会。

我们的招新题也不会一开始就让你设计复杂的系统。

你会先从 Java 开始。

学习变量、条件判断、循环、方法、面向对象等基础内容,慢慢建立起基本的编程能力。

之后,你会开始接触集合、异常、文件等内容,并尝试用这些知识完成一些实际的小功能。

随着学习继续推进,你会逐渐接触网络、HTTP、JSON、数据库等后端相关的内容。

例如,你可能会第一次写出一个接口:

用户发送一个请求:

“帮我查询这些数据。”

你的程序接收到请求,处理之后返回:

{
"message": "success"
}

再往后,你会接触最基本的增删改查,也就是经常听到的 CRUD。

你会开始理解:

  • 数据为什么需要数据库保存;
  • 一张表是什么;
  • 字段是什么;
  • 程序是怎么把数据存进去,又怎么查询出来的。

最后,我们希望你能够把这些东西串起来,完成一个简单但完整的功能。

它不需要特别复杂。

可能只是一个任务清单,也可能是一个留言板。

但只要你能够自己把逻辑想清楚,让程序真正跑起来,它就已经是一个完整的开始了。


比起你现在已经学过多少框架,我们更在意的是:

你愿不愿意自己动手写代码,遇到报错之后愿不愿意继续排查,以及能不能耐心地把一个问题一步一步搞明白。

如果你现在还没有学过 Java,或者以前没有接触过后端,也完全没有关系。

只要你对这些问题有一点好奇:

一个 App 背后的数据到底去哪了? 一个请求为什么能够从手机传到服务器? 为什么几个人同时访问一个系统,有时候程序会出问题?

那么后端可能会是一个值得你尝试的方向。

如果想提前了解,可以从下面这些基础内容开始。