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

本文主要是介绍学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、项目介绍

二、项目搭建

三、开发流程

四、相关面试题

五、总结


一、项目介绍

背景 + 业务 + 技术

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

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

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

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

后端:服务(主要是用到了什么框架) + 数据段 (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. 知道项目的开发流程

这篇关于学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260218

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.