项目学习五步走

第一步 了解业务

先搞清楚你接受的项目:

1.是做什么的?面向谁?
2主要提供了哪些功能?

3.项目背景是怎么样的?

4.项目涉及的关键业务流程是怎么样的?

5.项目目前的规划是怎么样的,未来怎么样?

技术本身就是为了业务而服务,只有先搞清楚了业务之后你才是真正步入了这个项目的大门

第二步 搭建项目环境

搭建完成后,确保项目能够在自己的电脑上运行

第三步 看项目技术框架

看项目的相关依赖就行,Maven项目看pom.xml文件Gradle项目看build.gradle

可能会涉及到下面这几部分

1.项目最底层框架是什么?是Spring还是Spring Boot,又或者是其他框架呢?

2.项目依赖了哪些相关的包?挑重点看,比如数据库是MyBatis还是JPA或者是公司自研的框架呢?

3.项目使用的什么数据库?是MySQL还是PostgreSQL,又或者是其他数据库呢?

4.项目用到了缓存吗?是 Redis缓存吗?有没有用到本地缓存呢?

5.项目用到了消息队列吗?Kafka还是 RocketMQ?

6.项目的权限管理这块是怎么做的呢?

7.....

第四步 看项目的代码结构

比较常见的可能会分为下面三层(复杂的系统分层可能会更多)

1.Repository(数据库操作)

2.Service(业务操作)

3.Controller(数据交互)

如果是DDD分层架构的,可能是:

1.User Interface(用户界面层)

2.Application(应用层)

3.Domain(模型层)

4.Infrastructure(基础实施层)

不同的公司对于项目结构的划分可能不同,不过大体类似

第五步 从功能主线/问题出发研究源码

一个比较成熟的项目的源码量是非常多,我们不可能都完完整整地看完,也没有必要。

你可以通过debug调试研究项目核心代码逻辑。比较推荐的方式就是通过一个功能主线((比如Dubo是如何暴露服务的?)或者问题(比如﹖)出发。

对于企业项目来说,大部分还是知道如何进行debug调试的。但是,对于Spring这种顶级开源框架来说,很多人就不知道怎么打断点了。

推荐将源码拷贝到本地,然后运行源码提供的Demo

项目经历的四个小技巧

1.提前搞清楚项目的架构图、技术选型等

2.提前想好项目的亮点,针对项目涉及的技术进行深度复习

3.引导面试官问你熟悉的技术

4.突出个人的贡献比如自己在项目中解决了什么问题,而不是自己做了什么

青い空