Bili-Docs
职业发展求职面试

25届-三段大厂研发实习-后端经验分享

25届大厂实习生分享Java后端学习路线,涵盖计算机基础、核心框架及面试资料准备。

UP主: 影子的斜杆生活 · 时长: 15:29 · 🔗 B站原视频

发布: 2024-06-14 · 收录: 2024-09-16

标签: Java后端 · 大厂实习 · 学习路线 · 求职面试 · 后端开发

分享主题:Java 后端学习路线和资料

这一期主要分享 Java 后端技术的一些学习资料和学习路线。

个人介绍与实习经历

我本科在湖南读的,专业是数学;研究生来到北科,目前研究方向是 NFP,小论文 SCI 已经接收。

实习经历方面,我去过百度、理想汽车,现在在快手做 Java 后端,主要做 Flink 搭建平台。我自己是 25 届应届生,目前已经有三段大厂实习。今年秋招整体面起来也挺累、挺难的,所以也想把自己一路学过来的路线梳理一下,给大家参考。

计算机基础:必学三件套

基础部分大纲大概是这些:

  • 计算机网络
  • 操作系统
  • 数据库系统(MySQL)

我自己也整理过计算机基础知识的资料。比如计算机网络、操作系统下面还会包含一些常用的 Linux 命令,像企业里常用的排查命令:怎么看 CPU、怎么看进程、怎么查一些指标之类的。

数据库这块主要是 MySQL 的内容,比如分库分表、MySQL 排查、索引失效的场景,还有表存储的最佳实践(比如数据量大的时候怎么存)。

如果觉得这些还不够,我也补充了一些专项面试资料,比如 Redis、ES 相关的面试资料。

编程语言:Java 基础到进阶(并发 + JVM)

编程语言这块主要是 Java:

  • Java 基础
  • Java 集合
  • Java IO
  • 一些新特性(从 8 到 21 的内容我也整理过)

设计模式我总结了 23 种,面试里常问的比如单例模式,也整理了从基础写法到一步步优化的过程。

并发这块是 JUC,多线程并发编程、线程相关的一些东西。常见的面试题比如多线程交叉打印之类的,我也准备了一个打印模板。

JVM 这块也整理了不少,包括 JVM 参数总结、常见场景、排查思路等。

算法这块也会涉及一些常见题目和模板。

开发基础:Git + Maven

开发基础在工作里最常用的:

  • Git:代码版本管理、提交
  • Maven:包管理工具

入门框架:JDBC 到 Spring Boot

Java 后端入门框架建议按这个顺序:

  • JDBC:用来操作数据库,完成 Java Web 和前端的简单交互
  • 然后选 Spring Boot

现在有 Spring Boot 3(对应 Java 17),但目前市面上很多还是 JDK 8,所以 Spring Boot 2 也很常见。

学到 Spring Boot 之后,基本就能在企业里做一些事情了。但如果是为了实习面试,这还远远不够,因为面试一般会要求你掌握微服务核心。

微服务核心:按需选型学一套

微服务核心内容主要包括:

  • 服务注册与发现
  • 负载均衡
  • 配置中心(学一个就行)
  • 消息队列(学一个就行)
  • 全链路/鉴权认证
  • 分布式部署
  • 搜索引擎(如 ES)

这些我也整理了推荐的视频,按着看就可以。

高性能与分布式:一致性、ID、锁、事务

微服务和框架看完之后,就要开始补高性能和分布式相关内容,比如:

  • 一致性算法:从 CAP 理论到 Paxos、Raft、Gossip 等协议
  • 分布式 ID 设计
  • 分布式锁
  • 分布式事务

对应的资料和参考来源我也都整理了。

项目推荐:做 1-2 个能讲清楚的项目

项目我主要推荐两个:

1)网子订单系统(GitHub 上有 70k+ Star 的那套,在线文档也都有,可以过一遍)

2)尚硅谷的“谷粒商城/团购”这类项目(会带你过技术选型、一些进阶框架的使用,以及小程序部署等),适合用来做一个完整链路的项目练手。

一般面试里也会考系统设计,比如怎么设计一个高可用、高并发系统的基础架构,怎么应对一些实现方式。

面试刷题:算法、SQL、开放式题目

面试还会考这些:

  • LeetCode 算法题:我这边按分类整理了,比如双指针、滑动窗口、回溯模板、动态规划(背包问题)、树的遍历模板等
  • SQL:我在牛客上做过的一些题,也整理了对应题解
  • 开放式数据量级题:比如 TopK、海量数据去重、从两个大文件里找共同 URL(我 23 年面百度二面就遇到过)

还有一些场景题,比如:

  • 服务接口的幂等性设计
  • 设计一个秒杀系统
  • 设计一个抢票系统

这类更靠平时积累。我平常看到的文章也会做总结。

后端补充面试资料与投递合集

如果上面的还不够,我也补充了一些后端面试资料,比如 Spring、可观测性(Observability)等。

另外我还整理了各家公司投递的合集,秋招的时候可以直接对着投。后期我也会继续维护更新。

求职时间节点:暑期、日常、银行/国研所

时间节点我也做了一个大概介绍:

  • 互联网一般分暑期和日常
    • 暑期:一般 3 月初开始,5 月底基本结束;越到后面面试难度越大
    • 日常:每年 3 月和 10 月招人相对多一些,面试难度也会有所降低
  • 银行、国际研究所:我了解得少一些,这部分主要是网上搜集的时间点

我三段实习都在互联网方向。

总结:后端实习需要掌握到什么程度

如果目标是后端实习,大概要掌握:

  • 计算机基础知识
  • 编程语言(Java)
  • 开发基础(Git、Maven)
  • 入门框架(JDBC、Spring Boot)
  • 微服务核心(按需要选学)
  • 项目:做 1-2 个
  • 系统设计:面试必备
  • 面试刷题:算法题要刷,SQL 也要过
  • 常见中间件:Redis、MQ、ES 等建议过一遍

准备面试的话,建议提前一个月开始:

  • 八股文背牢
  • 开始刷题(大厂基本都会手撕算法)

结尾:资料公开与祝福

今天推荐的资料后面我会把在线文档放出来,供大家免费观看。希望 25 届秋招大家一起努力。不是 25 届的,比如 26、27 届,也可以用这些文档提前准备。现在越来越卷了,我自己虽然有三段大厂实习,秋招也不一定好面。

今天的分享就到这里。

On this page