后端开发资源总结

本文最后更新于:1 个月前

这里是🐰收集的后端资源整理和后端开发感悟。

一点回顾

  • 其实做后端也没有很久啦,浅浅写一下自己的感受。脑子里和手机里收集了很多很好的资源,顺带做一波整理。从个人角度来看,互联网目前确实属于供大于求的状态,供求关系导致面试的难度会不断攀升。而且接下来的几年内,就身边很多同学的职业选择来看,这个方向依旧会越来越卷,门槛越来越高。但是从技术能力的角度来说,科班的部分同学的技术能力可能还真的比不上外面培训机构教的技能。(毕竟大多数科班同学,他们的后端开发技能也是从网上的培训机构的课程获得的hhhhh)这其实就涉及到了我想说的第一个现象,这种现象在大学里也很常见。考高分的学生不见得是那些学的东西最多的,理解最深刻的。高分学生中有一部分往往是那些刷题刷的多的,有较强的应试技巧的(找工作也是一样的),可能他们对于课内知识理解的足够,但是对于课外的开发技术一窍不通。前人不断的在感慨,他们赶上了时代,要是放在当今,他们可能都找不到工作。后人不断的在感慨,要是我早生个几年,就不会有这么激烈的竞争,不用吃这么多苦头。但是时代的车轮滚滚向前,再多的感慨也好,最终也要落实到有策略系统性的学习。
  • 后端的概念是一个十分广泛的概念,后端不会直接的跟用户打交道,用户也不能直观看到和直观的直接操作(看得到的一般都是前端,后端有点像幕后黑手的感觉)。直接和用户打交道的业务逻辑也算后端吧。那我做的AI系统是不是也是后端呢?也要通过后端执行相应的“用户看不到”的逻辑,产生结果并返回给用户吧。那我做的分布式系统,阿里云,腾讯云底层的实现代码是不是也算后端呢?他们为整个系统的运行提供了基本能力,也是幕后黑手呀。所以可能在我看来,计算机系统只有前端和后端。很多的领域,比如算法,人工智能等等,他们各自可以作为单独的领域和后端毫不挂钩。但是一旦要对外提供业务服务,作为服务系统的一部分,他们就需要接入后端。
  • 我认为后端的学习也可以分为理论和实践两个部分。上面提到的“刷题”,其实更加偏向于理论部分。理论的学习,你可以通过反复的刷题,背题(这里的题目主要是面试的时候可能会遇到的题目)来落实。而实践的学习,则需要我们拥有充足的项目经历和解决复杂工程问题的实际经历。面试的本质也就是在考察这两部分,理论的学习包括算法和其他计算机基础学科的基本知识。而实践的考察,就包含对你简历中所做过的项目具体细节的提问和技术难点的答疑。
    • 理论知识:算法,操作系统,数据库,计算机组成原理,计算机网络,缓存,分布式系统,系统设计,设计模式等等
    • 实践经历:实习项目,开源项目,课内大作业,比赛项目,毕业设计等等

又回到刚刚内卷的那个话题,那面试官在这么多人里面筛选仅有的几个能够加入公司的人,咱们总得有一些东西比较突出,能够吸引他吧?要么就是我们的学校或者自身优势比较好(比如带资进组orz),要么就是咱们学的东西比较扎实呗。那咱们再看看上面的两点,理论和实践。那要不就是咱们理论知识理解透彻,背的比较熟练。要么就是实习经历或者是项目经历很多,做过很多的系统,有较强的项目背景个动手能力。要么就是两者都还可以,比较均衡。所以再看看我们身边,那些理论背的很好的同学,其实他们进大厂也不奇怪。虽然他们的项目经历可能会弱一点,但是超强的理论能力,有的时候也会给面试官带来深刻的印象。(注:两者之一有优势是大利好,但是如果有一块儿短板非常明显,我觉着通过面试的概率都较小。对于应届生来说,基础知识不牢固,是比项目经历匮乏更严重的问题,所以这题是不得不背啊orz,不然阁下如何应对呢?)

资源总结

常见面经

小林Coding

小林Coding

  • 这里有计算机网络,MySQL,Redis和操作系统相关的知识

JavaGuide

Javaguide

  • 这里着重于Java相关的介绍,非常好,其中涵盖了Java虚拟机相关的内容,还有部分内容和上面的小林Coding重叠

Java3y

3y的Gitee

  • 一样的,面试题很全。同时,它家的对线面试官系列写的很好!!!可以多看看!!!

拓跋阿秀

阿秀的学习笔记

  • 阿秀有好多好东西,公众号也可以关注下!!!

算法

Leetcode

Leetcode HOT100

  • 这里给了Leetcode hot 100的题目列表,这个经常用来刷算法昂

labuladong的算法小抄

labuladong 的算法笔记

  • 这个主要是算法相关的内容介绍,还有题目专题整理。但是目前有很多内容收费了…

代码随想录

代码随想录

  • 这个的性质和上面labuladong一样,本质也是关于算法介绍的网站。

其他

  • 其实这些面试题或者是相关知识系列的专题整理都非常好用(笔者自己都深度用过),即使有很多平台可能做了收费项目,非常多的知识仍然是免费的,主打一个百家争鸣。如果真的想了解某个领域或者是方面的知识,知乎,B站,掘金,StackOverflow,简书,Google,论文,国外大学的教程(比如MIT6824),甚至是ChatGPT,你总有非常多的渠道去获取这些知识。所以其实我个人觉得面试题没有一个万全的网站,是能够把它们全部覆盖的,知识也是。只能说是在我们慢慢学习的过程中,突然间发现,哟呵这个网站不错,我把它收藏一下。哟呵,那个人讲的不错,我也把他订阅一下。学习知识一直都是动态增长的过程,需要我们不断的在学习的过程中去收集好的信息源,然后反复不断的强化学习。以上就是🐰的分享内容啦。
  • 还有一点想补充的,上面所谓的面经,又或者说是知识点集合。主要来自两个出处,一个出处是实际的面试中,大家遇到的问题被记录在网站中。另外一个出处是常见的一些技术书籍中/关键论文中,其中的经典内容,面试容易涉及,被记载在网站中。(例如,深入了解JVM虚拟机,设计数据密集型应用(DDIA)等等)。网站本质上是做了一个知识蒸馏,把其中最核心最容易考的部分给抽取出来,但是如果你想搭建一整个完整的知识体系,或者觉得上面的这些蒸馏过后的核心内容已经熟练,自己还有余力学别的东西。那我建议你直接去读原版的技术书籍(很多技术书籍在github, gitee或者zlibrary上也能找到免费的哟)

后端开发资源总结
https://alexanderliu-creator.github.io/2023/09/01/hou-duan-kai-fa-zong-jie/
作者
Alexander Liu
发布于
2023年9月1日
许可协议