学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题

目录

一、项目介绍

二、项目搭建

三、开发流程

四、相关面试题

五、总结


一、项目介绍

背景 + 业务 + 技术

背景:首先是整个这个行业的背景  然后基于这个行业的背景引出当前项目的背景

业务:功能模块 + 功能业务流程

技术:整体架构(分离/不分离/微服务?) 

到底使用到了哪些技术栈:

后端:服务(主要是用到了什么框架) + 数据段 (MySql Redis es 消息队列.... ) + 第三方一些服务(阿里oss 短信  支付....)

前端:用到了一些什么框架 vue + elementUI 

然后可以整体介绍一下 架构图 那个流程 

通过几个端(h5、app、网站)-> CDN -> Nginx..负载均衡 -> 利用到nginx动静分离,获取到静态资源 进而获取到UI界面  UI层  -> 到达后端网关层  -> 微服务层( 微服层可能涉及到第三方服务) ->

数据层

二、项目搭建

项目搭建 :

大的方向 包含前端 还有后端

前端的话没什么好说的  首先

搭建好环境 (开发软件 做好开发软件配置  安装好相应的插件  、项目运行需要的环境 node)

直接使用ide跑起来就行了

后端:

1. 首先当然也是基础环境  所需的软件  开发软件、项目跑起来需要的... jdk、maven

还有虚拟机环境  虚拟机上面的相关软件 docker 以及docker下面的软件

2. 在私服、gitee/github等远程仓库上面可以创建好项目  然后就可以拉到本地进行开发

3. 其实真正将一个项目从0开始 那么最开始就是搭建项目工程  也就是Maven工程 也就是子父聚合Maven工程

学成在线的Maven工程相较于之前谷粒的Maven整体差不多 

但是学成在线的Maven拆分得更细

它将原本的一个微服务 本来通过包来管理的  现在将包改成模块  将model service controller都搞成了模块

三、开发流程

1. 需求分析

2. 设计

架构整体设计  数据库设计   功能业务流程设计....

3. 编码

4. 测试

5. 上线

6. 运维

四、相关面试题

详细说一下你的项目吧:

首先是项目本身:

1. 行业背景 + 项目背景

简单介绍一下行业背景.....

然后项目背景  可以说一下基于什么模式 (B2B2C?) 说一下整体的业务功能

 2. 功能模块  + 业务流程

功能模块:整体介绍一个各个端中有哪些模块 其中哪些模块是核心模块

业务流程:整体介绍一下大致是干什么的  大致的业务流程 可以重点说一下核心模块的业务流程

3. 技术

整体架构

微服务怎么划分的 

然后再说用到了哪些技术栈:整体框架 + 第三方 + 数据层  + 运维

另外还可以说一下那个整体的架构图  流程

四、相关面试题

环境方面:

1. 使用git需要注意什么?

了解那些git命令 

能够使用远程仓库 能够进行协同开发

协同开发时可能出现合并冲突的问题:

其实归根结底冲突问题问题 其实记住一句话就行了:

只要当前我操作的是最新的就不会有冲突 如果说此时还有另外的开发者开发而且和我是修改同一个文件 再它提交之前我就pull下来了   然后那个开发者就提交了   此时我的代码其实并不是最新的

如果说我再去修改   然后再提交的话  就会冲突 

其实解决办法就一个:保持拉下最新的就行了   

如果说没办法拉下最新的  那就让他冲突 解决好冲突 利用idea的图形化界面 选择好自己需要的样子  然后合并即可

2. 使用maven需要什么?

了解那几个maven命令 : clean package install test deploy...

知道处理依赖冲突的问题:

优先原则,就是把需要的放在前面就优先使用那个

排除  对于不想要的使用 maven排除即可

版本的锁定 使用depenceManage指定好版本 那么之后的就不会起作用了

数据库方面:

1. MyIsam 和Innodb的区别

Innodb支持事务、行级锁、外键

2. 数据库表设计需要注意什么?

1、 选择合适的类型 日期 

2、不要使用外键

3、要使用自然主键 不要使用业务主键

4、对于状态要有默认值

5. 要使用合适的约束

6. 使用innodb这种带事务的存储引擎

五、总结

1. 掌握面试中项目介绍的话术

2. 掌握项目的搭建

3. 知道项目的开发流程

你可能感兴趣的:(项目,项目)