SpringBoot_SSM常见面试知识点集锦
一、Git
1.在之前的工作当中都用过哪些版本控制工具?
GIT:
- GitEE:是git一个托管平台,国内的
- GitHUB,GITLab,gitea:国外
2.GIT常用的分支命令有哪些?
- 创建分支:git branch 分支名
- 查看分支:git branch -v
- 切换分支:git checkout 分支名
- 合并分支:
- 先切换到master分支: git checkout master
- 合并a分支到主分支: git merge 分支名
- 删除分支
- 先切换到master分支: git checkout master
- 删除分支: git branch -D 分支名
3.你日常工作怎么使用GIT的?
- 初始化git自动创建master主分支:用于跟你的线上系统保持一致.所有的线上分支都是从master分支分出来,打包进行线上操作.master分支一般情况开发人员没有权限去进行修改操作,一般是项目经理或者运维人员有权限.
- 根据master分支分出来的一个develop分支,这是主开发分支,开发人员主要操作就是这个分支.不能直接在dev分支上开发,需要创建一个自己的开发分支,这里可以创建多个就相当于多个开发人员创建的分支,并行操作,相互不影响,避免一些冲突,互相影响.
- 此时线上master主分支系统出现bug,此时master分支上面创建一个临时分支用于解决bug,bug解决测试完以后,合并到master分支,进行上线,临时分支不能删掉.
- 需要把临时分支合并到dev分支,保证dev分支和master两个分支版本是一致的,避免很多bug重复出现,首先第一步合并到你的dev分支当中。
- 合并完要测试,咱们在创建一个新的测试分支。测试分支要进行测试,测试出现bug,那就是在哪发现bug,在哪定位,在哪解决,解决完bug发现没问题,就可以合并到master进行上线。
- 合并完成之后,测试分支不能删掉,测试分支还要合并到你的dev分支当中,合并过来保证dev和master保持一致。
- 之后再有新的模块开发完了,再进行同样的操作,合并到dev进行测试,测试通过,在合并到master分支。
二、Maven
1.什么是maven
Maven是一个项目管理工具,用于构建和管理Java项目。它提供了一个中央化的方式来管理项目的 构建。Maven可以帮助开发者自动化构建过程,包括编译、测试、打包和部署等。
2.什么是maven仓库.
Maven仓库是基于简单文件系统存储的,集中化管理JavaAPI资源 (构件)的一个服务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径。得益于 Maven 的坐标机制,任何 Maven项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。对于Maven来说,仓库分为两类: 本地仓库和远程仓库。
3.maven生命周期
maven有三套生命周期,分别为:
(1).clean 周期: 主要用于清理上一次构建产生的文
件,可以理解为删除target目录
(2).默认周期
主要阶段包含
- process-resources 默认处理src/test/resources/下的文件,将其输出到测试的classpath目录中
- compile 编译src/main/java下的java文件,产生对应的class,
- process-test-resources 默认处理src/test/resources/下的文件,将其输出到测试的classpath目录中,
- test-compile 编译src/test/java下的iava文件,产生对应的class.
- test 运行测试用例
- package 打包构件,即生成对应的iar,war等
- instal将构件部署到本地仓库
- deploy 部署构件到远程仓库
(3).site周期:
主要阶段包含: - site 产生项目的站点文档
- site-deploy 将项目的站点文档部署到服务器
4.Maven的工程类型有哪些?
- JAR工程
将会打包成iar用作iar包使用。即常见的本地工程 - JavaProject。 - WAR工程
将会打包成war,发布在服务器上的工程。如网站或服务。即常见的网络工程 - Dynamic Web Proiect。war]程默认没有WEB-INF目录及web.xml配置文件,IDE通常会显示工程错误,提供完整工程结构可以解决。
5.一个项目依赖源于不同的组织,可能这些依赖还会依赖别的Jar包,如何保证这些传递依赖不会引起版本冲突.引起冲突的元素排除掉.
<dependency>
<exclution>
</exclution>
</dependency>
三、Spring
1.什么是Spring框架?
轻量级开发框架,为java提供了基础架构支持,简化了企业级应用开发,让开发者只需要关注业务逻辑。
两个核心:IoC控制反转和AOP面向切面编程