Java面试八股--07-项目篇
致谢:2025年 Java 面试八股文(20w字)_java面试八股文-CSDN博客
目录
1、介绍一下最近做的项目
1.1 项目背景:
1.2 项目功能
1.3 技术栈
1.4自己负责的功能模块
1.5项目介绍参考:
1.6整体业务介绍:
1.8后台管理系统功能:
1.8.1后台主页:
1.8.2 商品模块:
1.8.3 销售模块:
1.8.4 订单模块:
1.8.5 库存模块:
1.8.6 内容模块:
1.8.7 客户模块:
1.8.8 系统模块:
1.8.9 报表模块:
2、项目开发周期
3、项目参与人数
4、项目开发流程
5、项目版本控制
5.1 需求分析
5.2 系统设计
5.3 编码开发
5.4 系统测试
5.5 部署实施
6、一般项目服务器数量
7、上线后QPS并发量
8、如何解决并发问题的?
9、如何保证接口的幂等性?
1.根据状态机很多时候业务表是由状态的,比如订单表
2.加分布式锁
3. 获取token
10、你们项目中有没有用到什么设计模式?
11、你做完这个项目后有什么收获?
12、在做这个项目的时候你碰到了哪些问题?你是怎么解决的?
1、介绍一下最近做的项目
可以从2个方法出发
介绍项目背景、项目功能和自己负责的功能模块
介绍项目背景、项目使用的技术栈和自己负责的功能模块
1.1 项目背景:
可以介绍项目是什么类型(B2C、B2B2C、O2O这类),为什么要做这个项目,
有工作经验的找工作一般这样介绍:项目是自己公司开发,自己运营的,然后不断家功能进行迭代和维护;或者是项目定制的。给甲方客户开发的一个项目,上线后不负责维护和迭代,这样避免了很多后期问题,这两种都可以。
可以借鉴上面的方式去介绍,刨除公司情况,以学习为主。
1.2 项目功能
结合项目,进行主要的功能模块阐述,可以结合电商项目的核心购物流程的去说:后台管理系统(商品的管理)、商品详情、商品搜索、购物车、单点登录+社交登录、订单、支付。秒杀等等。
1.3 技术栈
使用Spring Boot整合Spring Cloud以及MyBatis-Plus进行微服务构建,使用nacos作为注册中心和配置中心,使用feign进行服务远程调用,使用gateway网关进行请求负载,请求过滤、同一鉴权和限流,使用Sentinel进行服务的熔断和降级,使用Spring Cloud Sleuth进行链路追踪,针对于项目图片文件资源较多,采用FastDFS进行文件资源存储,使用redis数据库进行数据缓存以及分布式锁的实现,使用ElasticSearch进行商品的搜索业务实现…..(这块基础架构说完后,主要结合自己负责的功能模块去说技术点的应用)
1.4自己负责的功能模块
以简历为主,简历上写了哪几个,就说那几个,一定要知道自己简历写的内容。
1.5项目介绍参考:
尚品汇商城是B2C模式的综合性在线销售平台。商城分为后台管理部分与用户前台使用部分。后台管理部分包括:商品管理模块(商品分类、品牌、平台属性、SPU与SKU以及销售属性、商品上下架和商品评论管理等)、内容广告模块、库存管理模块、订单管理模块、促销管理(秒杀等商品设置)、客户模块、统计报表模块和系统基础权限等模块。
用户前台使用部分:商城首页、商品搜索(可按条件查询展示)、商品详情信息展示、购物车、用户单点登录和社交登录(微信登录)、用户会员中心、订单的创建修改、展示以及在线支付(支付宝、微信)、物流模块、商品评论以及秒杀活动等功能。
1.6整体业务介绍:
1.8后台管理系统功能:
电子商务网站整个系统的后端管理,按功能划分为九大模块,包括商品组织管理、订单处理、内容发布管理等模块。
1.8.1后台主页:
各类主要信息的概要设计,包括客户信息、 订单信息、商品信息、库存信息、评论和最近反馈等。
1.8.2 商品模块:
1).商品管理:
商品SPU和SKU的添加、修改、 删除、复制、批处理、商品计划上下架、SEO、商品多媒体上传等,可以定义商品是实体还是虚拟,可以定义是否预订、是否缺货销售等。
2).商品分类管理:
树形的商品目录组织管理,并可以设置品类关联与商品推荐。
3).商品平台属性管理:
定义商品的属性类型,设置自定义属性项。
4).品牌管理:
添加、修改、删除、上传品牌 LOGO。
5).商品评论管理:
商品评论的搜索、条件查询列表展示、回复、删除等功能。
1.8.3 销售模块:
1).促销秒杀管理:
设置秒杀商品、购物车促销和 优惠券促销三类,可以随意定义不同的促销规则,满足日常促销活动:购物折扣、购物赠送积分、购物赠送优惠券、购物免运输费、特价商品、特定会员购买特定商品、折上折、买二送一等。
2).礼券、积分管理:
比如添加、发送礼券和积分
3).关联/推荐管理:
基于规则引擎,可以支持多种推荐类型,可手工添加或者自动评估商品。
1.8.4 订单模块:
1).订单管理:
可以编辑、解锁、取消订单、 拆分订单、添加商品、移除商品、确认可备货等,也可对因促销规则发生变化引起的价格变化进行调整。订单处理完可发起退货、换货流程。
2).支付:
常用于订单支付信息的查看和手工 支付两种功能。手工支付订单,常用于“款到发货”类型的订单,可理解为对款到发货这类订单的一种补登行为。
3).结算:
提供商家与第三方物流公司的结算 功能,通常是月结。同时,结算功能也是常用来对“货到付款”这一类型订单支付后的数据进行对帐
1.8.5 库存模块:
1).库存管理:
引入库存的概念,不包括销售规则为永远可售的商品,一个SKU对应一个库存量。库存管理提供增加、减少等调整库存量的功能;另外,也可对具具体的SKU设置商品的保留数量、最小库存量、再进货数量。每条SKU商品的具体库存操作都会记录在库存明细记录里边。
2).查看库存明细记录。
3).备货/发货:
创建备货单、打印备货单、打印发货单、打印快递单、完成发货等一系列物流配送的操作。
4).退/换货:
对退/换货的订单进行收货流程的处理。
1.8.6 内容模块:
1).内容管理:
包括内容管理以及内容目录管理。内容目录由树形结构组织管理。类似于商品目录的树形结构,可设置目录是否为链接目录。
2).广告管理:
添加、修改、删除、上传广告、 定义广告有效时限。
3).可自由设置商城导航栏目以及栏目内容、栏目链接。
1.8.7 客户模块:
1).客户管理:
添加、删除、修改、重设密码、 发送邮件等。
2).反馈管理:
删除、回复。
3).消息订阅管理:
添加、删除、修改消息组 和消息、分配消息组、查看订阅人。
4).会员资格:
添加、删除、修改。
1.8.8 系统模块:
1).安全管理:
管理员、角色权限分配和安全日志
2).系统属性管理:
用于管理自定义属性。可关联模块包括商品管理、商品目录管理、内容管理、客户管理。
3).运输与区域:
运输公司、运输方式、运输 地区。
4).支付管理:
支付方式、支付历史。
5).包装管理:
添加、修改、删除。
6).数据导入管理:
商品目录导入、商品导入、 会员资料导入。
相关文章:

Java面试八股--07-项目篇
致谢:2025年 Java 面试八股文(20w字)_java面试八股文-CSDN博客 目录 1、介绍一下最近做的项目 1.1 项目背景: 1.2 项目功能 1.3 技术栈 1.4自己负责的功能模块 1.5项目介绍参考: 1.6整体业务介绍: 1.8后台管理系统功能: 1.8.1后台主页: 1.8.2 商品模块: 1.8…...

MCP架构全解析:从核心原理到企业级实践
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

从0到1认识EFK
一、ES集群部署 操作系统Ubuntu22.04LTS/主机名IP地址主机配置elk9110.0.0.91/244Core8GB100GB磁盘elk9210.0.0.92/244Core8GB100GB磁盘elk9310.0.0.93/244Core8GB100GB磁盘 1. 什么是ElasticStack? # 官网 https://www.elastic.co/ ElasticStack早期名称为elk。 elk分别…...
快速了解GO+ElasticSearch
更多个人笔记见: (注意点击“继续”,而不是“发现新项目”) github个人笔记仓库 https://github.com/ZHLOVEYY/IT_note gitee 个人笔记仓库 https://gitee.com/harryhack/it_note 个人学习,学习过程中还会不断补充&…...

定制开发开源AI智能名片驱动下的海报工厂S2B2C商城小程序运营策略——基于社群口碑传播与子市场细分的实证研究
摘要 本文聚焦“定制开发开源AI智能名片S2B2C商城小程序”技术与海报工厂业务的融合实践,探讨其如何通过风格化海报矩阵的精细化开发、AI技术驱动的用户体验升级,以及S2B2C模式下的社群裂变机制,实现“工具功能-社交传播-商业变现”的生态…...

【Unity开发】控制手机移动端的震动
🐾 个人主页 🐾 阿松爱睡觉,横竖醒不来 🏅你可以不屠龙,但不能不磨剑🗡 目录 一、前言二、Unity的Handheld.Vibrate()三、调用Android原生代码四、NiceVibrations插件五、DeviceVibration插件六、控制游戏手…...
JAVA中的注解和泛型
目录 JAVA注解介绍 概念 注解的本质 4种标准元注解 自定义注解 泛型介绍 泛型的定义 JAVA泛型 泛型方法( ) 泛型类( ) 类型通配符 类型擦除 JAVA注解介绍 概念 注解是 JDK 5.0 引入的一种元数据机制,用来对代码进行标注。它不会影…...

Cesium快速入门到精通系列教程二:添加地形与添加自定义地形、相机控制
一、添加地形与添加自定义地形 在 Cesium 1.93 中添加地形可以通过配置terrainProvider实现。Cesium 支持多种地形数据源,包括 Cesium Ion 提供的全球地形、自定义地形服务以及开源地形数据。下面介绍几种常见的添加地形的方法: 使用 Cesium Ion 全球地…...
汽车零配件---ecu开发工厂学习
ecu成品制作工艺流程 一、PCB 设计与制作(打板) 工艺流程步骤 需求分析与电路设计 根据 ECU 功能(如发动机控制、变速箱控制)确定所需芯片(如 MCU、传感器接口芯片)、外围电路(如电源、通信接…...

python学习打卡day43
DAY 43 复习日 作业: kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 浙大疏锦行 数据集使用猫狗数据集,训练集中包含猫图像4000张、狗图像4005张。测试集包含猫图像1012张,狗图像1013张。以下是数据集的下…...

Microsoft Word使用技巧分享(本科毕业论文版)
小铃铛最近终于完成了毕业答辩后空闲下来了,但是由于学校没有给出准确地参考模板,相信诸位朋友们也在调整排版时感到头疼,接下来小铃铛就自己使用到的一些排版技巧分享给大家。 注:以下某些设置是根据哈尔滨工业大学(威…...

windows安装多个版本composer
一、需求场景 公司存在多个项目,有的项目比较老,需要composer 1.X版本才能使用 新的项目又需要composer 2.X版本才能使用 所以需要同时安装多个版本的composer二、下载多个版本composer #composer官网 https://getcomposer.org/download/三、放到指定目…...

【办公类-22-05】20250601Python模拟点击鼠标上传CSDN12篇
、 背景需求: 每周为了获取流量券,每天上传2篇,获得1500流量券,每周共上传12篇,才能获得3000和500的券。之前我用UIBOT模拟上传12篇。 【办公类-22-04】20240418 UIBOT模拟上传每天两篇,获取流量券,并删除内容_csdn 每日任务流量券-CSDN博客文章浏览阅读863次,点赞18…...

贪心算法应用:边着色问题详解
贪心算法应用:边着色问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的算法策略。边着色问题是图论中的一个经典问题,贪心算法可以有效地解决它。下面我将从基础概念到具体实现,全…...
【蓝桥杯】包子凑数
包子凑数 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有 NN 种蒸笼,其中第 ii 种蒸笼恰好能放 AiAi 个包子。每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买 XX 个包子,卖包子的大叔就会迅速选出若干…...

ck-editor5的研究 (2):对 CKEditor5 进行设计,并封装成一个可用的 vue 组件
前言 在上一篇文章中—— ck-editor5的研究(1):快速把 CKEditor5 集成到 nuxt 中 ,我仅仅是把 ckeditor5 引入到了 nuxt 中,功能还不算通用。 这一篇内容将会对其进行设计,并封装成可复用的 vue 组件&…...

Java-redis实现限时在线秒杀功能
1.使用redisson pom文件添加redisson <!--redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.23.4</version></dependency> 2.mysql数据库表设…...

simulink mask、sfunction和tlc的联动、接口
这里全部是讲的level2 sfunction(用m语言编写),基于matlab 2020a。 1.mask的参数操作 1)mask通过set_param和get_param这2个函数接口对mask里面定义的Parameters&Dialog的参数的大部分属性进行读写,一般是Value值…...

VMWare安装常见问题
如果之前安装过VMWare软件,只要是 15/16 版本的,可以正常使用的,不用卸载!!! 如果之前安装过,卸载了,一定要保证通过正常的渠道去卸载(通过控制面板卸载软件)…...
set_property LOC约束
##下列指令是用于清除自带GT CELL相关的LOC约束,或者覆盖 ##你需要把IP中自带的GT cell相关的LOC约束清除掉,或者覆盖掉 ##以下命令可以用来覆盖GT_CHANNEL的LOC约束, 在这条命令之后执行你自己的physical constraint: ##GT的channel的相关管脚有两种设计…...

【北邮 操作系统】第十二章 文件系统实现
一、文件的物理结构 1.1 文件块、磁盘块 类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同 内存与磁盘之间的数据交换(即读/写操作、磁盘I/0)都是以“块”为单位进行的。即…...

Docker 插件生态:从网络插件到存储插件的扩展能力解析
Docker 容器技术以其轻量、快速、可移植的特性,迅速成为构建和部署现代应用的核心工具。然而,尽管 Docker Engine 自身功能强大,但在面对多样化的生产环境和复杂业务需求时,仅靠核心功能往往无法满足所有场景。 例如,跨主机的容器网络通信、异构存储系统的持久化数据管理…...

WordPress搜索引擎优化的最佳重定向插件:进阶指南
在管理网站时,我们经常需要调整网页地址或修复错误链接。这时,通过重定向不仅能有效解决这些问题,还能显著提升网站在搜索引擎中的排名。对于熟悉基础重定向插件的用户来说,一些功能更强大的工具可以帮助你更全面地管理网站&#…...

org.junit.runners.model.InvalidTestClassError:此类问题的解决
不知道大家是否遇见过以上这种情况,我也是今天被这个错误搞得很烦,后来通过网上查找资料终于找到了问题所在————就是简单的Test注解的错误使用 Test注解的注意情况 :1 权限必须是public 2 不能有参数 3 返回值类型是void 4 本类的其他的…...

用户管理页面(解决toggleRowSelection在dialog用不了的隐患,包含el-table的plus版本的组件)
新增/编辑/删除/分配角色,图片上传在此文章分类下另一个文章 1.重点分配角色: <template><!-- 客户资料 --><div class"pageBox"><elPlusTable :tableData"tableData" :tablePage"tablePage" onSi…...
打卡第35天:GPU训练以及类的Call方法
知识点回归: 1.CPU性能的查看:看架构代际、核心数、线程数 2.GPU性能的查看:看显存、看级别、看架构代际 3.GPU训练的方法:数据和模型移动到GPU device上 4.类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)…...

Linux-GCC、makefile、GDB
GCC gcc -E test.c -o test.i预处理(-o指定文件名) gcc -S test.i -o test.s编译gcc -c test.s -o test.o汇编gcc test.o -o test链接(生成一个可执行程序的软连接) gcc test.c -o test一条指令可以完成以上所有内容 gcc *.c -I(大写的i) include由于在main.c中找不到当前文件…...

[MySQL初阶]MySQL(7) 表的内外连接
标题:[MySQL初阶]MySQL(7)表的内外连接 水墨不写bug 文章目录 一. 内连接 (INNER JOIN)二. 外连接 (OUTER JOIN)关键区别总结 三、 如何选择 在 MySQL 中,连接(JOIN)用于根据两个或多个表之间的相关列组合行。内连接(I…...
Spring Boot中Excel处理完全指南:从基础到高级实践
Excel处理基础知识 1.1 为什么需要在应用中处理Excel文件? 在企业应用开发中,Excel文件处理是一个非常常见的需求,主要用于以下场景: 数据导入:允许用户通过Excel上传批量数据到系统 数据导出:将系统数据…...
Windows下NVM的安装与使用
本文将介绍windows下nvm相关知识。 在不同的项目中可能会使用不同版本的Node.js,例如A项目中需要node>18;B项目中需要node>20。这时候就需要使用NVM切换不同的node版本。进而可以在同一台设备上使用多个node版本。 一、NVM是什么? n…...