学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题
目录
一、项目介绍
二、项目搭建
三、开发流程
四、相关面试题
五、总结
一、项目介绍
背景 + 业务 + 技术
背景:首先是整个这个行业的背景 然后基于这个行业的背景引出当前项目的背景
业务:功能模块 + 功能业务流程
技术:整体架构(分离/不分离/微服务?)
到底使用到了哪些技术栈:
后端:服务(主要是用到了什么框架) + 数据段 (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. 知道项目的开发流程
相关文章:
学成在线第一天-项目介绍、项目的搭建、开发流程以及相关面试题
目录 一、项目介绍 二、项目搭建 三、开发流程 四、相关面试题 五、总结 一、项目介绍 背景 业务 技术 背景:首先是整个这个行业的背景 然后基于这个行业的背景引出当前项目的背景 业务:功能模块 功能业务流程 技术:整体架构&am…...
《数据结构与算法之美》读书笔记1
Java的学习 方法参数多态(向上和向下转型) 向上转型: class Text{public static void main(String[] args) {Animals people1 new NiuMa();people1.eat1();//调用继承后公共部分的方法,没重写调用没重写的,重写了调…...
接口测试经验合集
一 、接口测试常见问题 前景提要:由于本人测试小白,可能所遇问题都较为基础,测试小白可以参考 1.1 postman会报 connect ECONNREFUSED jemeter会报 org.apache.http.conn.HttpHostConnectException: Connect tofailed: Connection refus…...
Leetcode—2331.计算布尔二叉树的值【简单】
2023每日刷题(六) Leetcode—2331.计算布尔二叉树的值 递归实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool evaluateTree(struct TreeNod…...
Java面试(基础篇)——解构Java常见的基础面试题 结合Java源码分析
fail-safe 和fail-fast机制 Fail-fast:快速失败 Fail-fast : 表示快速失败,在集合遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationException 异常,从而导致遍历失败 package …...
Ubuntu 17.10的超震撼声音权限
从GNOME GUADEC 2017开发者大会归来之后,Canonical的Didier Roche就开始了一个日更博客系列,主要讲述即将带来的Ubuntu 17.10(Artful Aardvark)发行版将如何从Unity到GNOME Shell的转变。有趣的是,Ubuntu Unity桌面环境…...
图像信号处理板设计原理图:2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背板1块。 一、板卡概述 图像信号处理板包括2片TI 多核DSP处理器-TMS320C6678,1片Xilinx FPGA XC7K420T-1FFG1156,1片X…...
【数组】移除元素(暴力遍历×双指针√)
一、力扣题目链接 27.移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 你不需要考虑数组中超出新长度后面的元素。 二、思路 要知道数组的元素在内存地址中是连续的,不…...
【笔试题】华为研发工程师编程题
1.汽水瓶 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足 1≤n≤100 1≤n≤…...
如何转换Corona和Vray材质?cr材质转vr材质的方法
cr材质转vr材质的方法一:使用CG Magic插件,一键转换 CG Magic是一款基于3ds Max深度开发的智能化辅助插件,上千项实用功能,降低渲染时长,节省时间和精力,大幅简化工作流程,助力高效完成创作。 …...
蓝桥每日一题(day 4: 蓝桥592.门牌制作)--模拟--easy
#include <iostream> using namespace std; int main() {int res 0;for(int i 1; i < 2021; i ){int b i;while(b){if (b % 10 2) res ;b / 10;}}cout << res; return 0; }...
leetcode(2)栈
leetcode 155 最小栈 stack相当于栈,先进后出 存储全部栈元素 [-3,2,-1] min_stack,存储栈当前位置最小的元素 [-3,-3,-3] class MinStack:def __init__(self):self.stack []self.min_stack [math.inf]def push(self, x: int) :self.stack.append(x)self.min_sta…...
有什么小程序可以下载视频号的视频?
最近有一些朋友问我,【视频号下载助手】和【视频下载bot】小程序,有什么作用? 首先视频号下载助手是协助用户进行下载的,但由于下载要符合平台规定,我们就将视频下载助手与视频下载bot小程序想结合的模式࿰…...
GDB调试简单介绍
最近和许多同事交流时,发现好多人只是在IDE上debug,但是gdb却一点都不了解;校招新来的同事更是都没听过gdb这个工具,所以在培训时给他们培训了一下;另外好久也没写blog了,刚好把这篇笔记简单分享一下。 0 …...
关于opencv的contourArea计算方法
cv::contourArea计算的轮廓面积并不等于轮廓点计数,原因是cv::contourArea是基于Green公式计算 老外的讨论 github 举一个直观的例子,图中有7个像素,橙色为轮廓点连线,按照contourArea的定义,轮廓的面积为橙色所包围…...
《机器学习》第6章 支持向量机
文章目录 6.1 间隔与支持向量6.2 对偶问题6.3 核函数支持向量展式核函数 6.4 软间隔与正则化6.5 支持向量回归6.6 核方法6.7 阅读材料 6.1 间隔与支持向量 分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开.但能将训练样本分开的划分…...
Python学习基础笔记七十七——json序列化
客户端和服务端之间需要交换数据才能完成各种功能。 假设 服务端程序都是用Python语言开发的话,那么 服务端从数据库中获取的最近的交易列表,可能就是像下面这样的一个Python列表对象: historyTransactions [{time : 20170101070311, #…...
【C++】C++11新特性
文章目录 一、C发展简介二、C11简介三、列表初始化1.统一使用{}初始化2.initializer_list类 四、变量的类型推导1.auto2.decltype3.nullptr 五、范围for循环六、STL中一些变化七、final与override八、新的类功能1.新增默认成员函数2.成员变量的缺省值3.default 和 delete4.fina…...
使用 PyAudio、语音识别、pyttsx3 和 SerpApi 构建简单的基于 CLI 的语音助手
德米特里祖布☀️ 一、介绍 正如您从标题中看到的,这是一个演示项目,显示了一个非常基本的语音助手脚本,可以根据 Google 搜索结果在终端中回答您的问题。 您可以在 GitHub 存储库中找到完整代码:dimitryzub/serpapi-demo-project…...
C++11——多线程
目录 一.thread类的简单介绍 二.线程函数参数 三.原子性操作库(atomic) 四.lock_guard与unique_lock 1.lock_guard 2.unique_lock 五.条件变量 一.thread类的简单介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如windows和linu…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
