如何快速上手一个自己不太熟悉的新项目?

news2024/11/26 13:38:36

一.熟悉新项目的步骤

第一步:了解业务

技术本身就是为了业务而服务,只有首先搞清楚了业务之后才真正算是步入了这个项目的大门。因此,要先搞清新项目:

  1. 是做什么的? 主要面向什么人群使用?
  2. 主要提供了哪些功能?
  3. 项目背景是什么样的?
  4. 项目涉及的关键业务流程是怎么样的?
  5. 项目目前面临的挑战是什么?未来规划是什么?

第二步:搭建项目开发环境

简单把开发环境搭建一下。搭建的步骤一般都在项目的 README 文档里面。搭建完成之后,需要确保项目能够在自己的电脑上正确运行。

第三步:看项目技术架构

这个直接看项目的相关依赖就好。拿Java后端项目举例子,如果是 Maven 项目的话看pom.xml,如果是 Gradle 项目就看 build.gradle。可能会涉及下面这几部分,但是并不完全:

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

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

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

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

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

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

  • ......

第四步:看项目的代码结构

不同的公司对于项目的结构的划分可能也不同,不过大体都是类似的。以 Java 后端项目为例,常见的项目可能会分为下面三层。但是,复杂的系统分层可能会更多

  • Repository(数据库操作)

  • Service(业务操作)

  • Controller(数据交互)

如果是 DDD 分层架构的话,可能是下面这样的:

  • User Interface(用户界面层)

  • Application(应用层)

  • Domain(模型层)

  • Infrastructure(基础实施层)

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

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

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

二.面试之前,准备项目经历的小技巧

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

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

比如说,你的项目用了消息队列的话,你就很有必要提前想好怎么回答消息队列相关的一些问题:消息队列解决了什么问题、常见消息队列对比、如何保证消息只被消费一次、如何保证消息不被重复消费......。

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

比如说,你对消息队列比较了解的话,介绍项目的时候就可以多介绍一下自己通过消息队列解决了什么问题。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1267390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hugegraph-server安装部署(docker)

1、安装docker不说了,可以直接看我文章一键安装docker https://blog.csdn.net/qq_41060647/article/details/131568289?spm1001.2014.3001.5502 2、一个docker-compose文件解决。 如果不使用mysql,可以将docker-compose.yml文件中的mysql配置修改为其他…

关于我司在上海物联网行业协会展厅展示项目案例

1 项目背景 上海市物联网行业协会(SIOT)是由本市物联网行业同业企业及其他相关经济组织自愿组成、实行行业服务和自律管理的非营利性社会团体法人,于2012年,经上海市经济和信息化委同意,在上海市社团局登记成立。 本…

数据科学新招:Python揭秘Prometheus接口

更多资料获取 📚 个人网站:ipengtao.com 在现代云原生应用的监控体系中,Prometheus无疑是一颗璀璨的明星,而Python则是一门多才多艺的编程语言。将它们结合,通过Python读取Prometheus接口数据,成为了实时监…

什么是美颜sdk?集成第三方美颜sdk的步骤

本文将深入探讨如何集成第三方美颜sdk,为直播平台引入更先进、更具吸引力的美颜特效。 第一步:选择合适的第三方美颜sdk 在开始集成美颜sdk之前,首要任务是选择适合自己直播平台需求的第三方美颜sdk。不同的sdk可能具有不同的特色和性能&a…

Modbus RTU、Modbus 库函数

Modbus RTU 与 Modbus TCP 的区别 一般在工业场景中,使用 Modbus RTU 的场景更多一些,Modbus RTU 基于串行协议进行收发数据,包括 RS232/485 等工业总线协议。采用主从问答式(master / slave)通信。 与 Modbus TCP 不…

软件测评中心▏软件集成测试和功能测试之间的区别和联系简析

软件集成测试是在软件开发周期的后期阶段进行的测试活动,旨在验证系统各个组件之间的接口和交互是否正常工作。而功能测试是一种验证软件系统是否按照需求规格说明书所规定的功能进行正确实现的测试。接下来,我们来分别探讨一下软件集成测试和功能测试有…

可以在电脑桌面展示工作计划表的软件

很多上班族都表示自己在工作时,会面临大量且复杂的工作任务,这时候就会拖延工作,或者感觉时间不够用,所以需要有明确的工作计划来指导自己如何分类时间和精力,确保每项工作任务都能够按时完成。如果需要制定每天的工作…

mysql bin-log日志导出

一、mysql bin-log简介 1.1 什么是bin-log? MySQL bin-log是二进制日志文件,用于记录MySQL数据库中所有更改操作(如插入、更新、删除等)的详细信息。bin-log文件由MySQL服务器自动创建和维护,并记录了每个更改操作的…

JS:获取当前日期是本年度的第几周

问题 根据当前的日期(比如年月日),来得到当前日期属于本年度的第几周 解决 代码: // 获取当前日期是本年的第几周 //参数: a为年 b为月 c为日 function getYearWeek(a, b, c) {var date1 new Date(a, parseInt(b)…

沈阳互联网医院|互联网医院系统|线上医疗发展现状

互联网医院系统已经成为了现代医疗行业中的新趋势,它不仅提供了线上诊疗、药品配送、在线咨询等服务,还为患者提供了更加便捷的医疗服务。那么,互联网医院系统的优势是什么呢? 1、互联网医院系统提供了线上诊疗服务,患…

给企业做公众号运营你都有哪些宝贵经验?

运营企业公众号需要长期的坚持和不断的创新,如何运营好一个企业公众号,使其成为企业与受众互动、传递价值、提升品牌形象的平台,是许多企业所面临的挑战。但只要不断学习,总结经验,就一定能够找到适合自己企业的公众号…

Kotlin基础——类型系统

? 对于如下Java函数,可传递null或者值为null的String int strLen(String s) {return s.length(); }而在Kotlin中,如下函数不能传递null或值为null的String,否则会在编译期报错,保证了永远不会在运行时报空指针异常 fun strLen…

服务器修复

服务器修复 主要服务器漏洞展示未禁用sync、shutdown、halt默认账户。未创建系统管理员、审计管理员、安全管理员账户设置系统管理员设置安全管理员 设置审计管理员配置PASS_MAX_DAYS 99999、PASS_MIN_LEN 5未配置TMOUT值配置HISTSIZE0未配置登录失败/密码复杂度策略umask值022…

【带头学C++】----- 八、C++面向对象编程 ---- 8.10 函数的默认参数

8.10 函数的默认参数 C在声明函数原型的时可为一个或者多个参数指定默认(缺省)的参数值,当函数调用的时候如果没有指定这个值,编器会自动用默认值代替。 通过为函数参数指定默认值,可以在调用函数时省略相应的参数,而该参数将使用…

喜报 | 再获影响力产品奖!擎创科技实力亮相GOPS全球运维大会

10月26日-27日,为期两天,共1100余人签到的 GOPS 全球运维大会 2023 上海站已经圆满落幕。 此次会议的“2023 IT技术领导力年度颁奖典礼”中,擎创夏洛克AIOps数智运维管理平台凭借成熟的产品能力及广泛且优异的落地实践效益,得到了…

【寒武纪(6)】MLU推理加速引擎MagicMind,最佳实践(二)混合精度

混合精度在精度损失范围内实现数倍的性能提升。 支持的量化特性 构建混合精度的流程 构建混合精度的流程如下,支持浮点或半精度编程,以及量化精度编程两种方式。 浮点或半精度 无需提供tensor分布量化编程需要设置tensor分布。 网络粒度和算子粒度的设…

【智能算法】季节优化算法Seasons optimization algorithm【2023最新智能优化算法合集】

本文介绍了一种基于成吉思汗鲨鱼(Genghis Khan shark,GKS)行为的自然启发的元启发式算法(MA),称为成吉思汗鲨鱼优化器(Genghis Khan shark optimizer,GKSO),用于数值优化和工程设计。GKSO的灵感来自于GKS的捕食和生存行为。该成果…

【分布式系统学习】CAP原理详解

CAP原理详解 前言CAP一张图 一、概念1.1 关键词解读1.2 关于CAP(拆分解读)1.3 CAP原理精髓 二、CAP模拟场景举例理解三、CAP原理证明为什么不能同时满足(下面举例说明)3.1 必须满足分区容错性P下的处理方式3.2 不是必须满足分区容…

自定义Windows服务启动失败

文章目录 自定义Windows服务启动失败报错内容解决方案管理员身份运行cmd进入到InstallUtil.exe的路径,使用cd命令。使用InstallUtil.exe工具安装服务。 自定义Windows服务启动失败 报错内容 “无法从命令行或调试器启动服务,必须首先安装Windows服务(使…

《opencv实用探索·四》Mat图像数据类型转换和归一化显示

一种数据类型转为另一种数据类型,不改变图像大小,但每个像素值可能会变 src.convertTo(dst, type, scale, shift);Scale和shitf默认为0(这两个参数也相当于对比度和亮度) 现在有个8位图像,把8位转成32位 可以看到像素…