苍穹外卖面试题-下

17. 项目参与人员角色

  1. 项目经理(1人):对整个项目负责,任务分配、把控进度

  2. 产品经理(1人):进行需求调研,输出需求调研文档、产品原型等

  3. UI设计师(1人):根据产品原型输出界面效果图

  4. 架构师(0人):项目整体架构设计、技术选型等

  5. 开发工程师(3+2):功能代码实现

  6. 测试工程师(2人):编写测试用例,输出测试报告

  7. 运维工程师(1人):软件环境搭建、项目上线

18. git在工作中的使用流程

我在工作中对于git的使用,可分为以下几个步骤:

  1. 首先,每天上班之后,我会从公司远程仓库中进行拉取(pull),以保证本地项目和远程仓库项目进度一致

  2. 然后,在本地的开发分支上新建一个当天的分支,进行代码开发

    开发过程中一般在完成某功能或某一模块时,进行本地提交(commit)

  3. 结束一天工作后,先将本地新分支的代码合并到开发分支

  4. 最后,提交(push)到远程仓库前,先进行拉取(pull),如果有冲突,就先进行冲突解决,解决完毕之后,再push

19. 介绍一下苍穹外卖项目

本项目是专门为一家餐厅定制的一款软件产品,主要包含包括 系统管理端小程序端 两部分

系统管理端提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护

小程序端提供给消费者使用,可以在线浏览菜品、添加购物车、下单、支付、催单等操作

我在这个项目中主要负责后端分类、套餐、菜品模块和小程序端的所有功能

20. 苍穹外卖核心功能

菜品新增:对菜品表和口味表进行新增操作

  1. 首先将前端传过来的菜品信息保存到菜品表并主键返回,然后遍历前端传过来的口味集合,
  2. 为每个口味设置刚才返回来的主键并保存到口味表

菜品修改:对菜品表进行更新,对菜品详情表进行增删操作

  1. 首先根据前端传过来的菜品信息对菜品表进行修改
  2. 然后根据菜品id删除对应的口味列表集合
  3. 最后再把前端传过来的口味集合重新加入到口味表中

菜品删除:对菜品表和口味表进行删除操作

  1. 遍历前端传过来的菜品id集合得到每个菜品的信息
  2. 如果当前菜品是启售状态或者被套餐关联那么就不能被删除
  3. 否则就可以通过菜品id对菜品表和口味表中的数据进行删除

套餐新增:对套餐表和套餐菜品关系表进行新增操作

  1. 首先将前端传过来的套餐基本信息保存到套餐表中,并返回主键的id
  2. 然后为前端传过来的套餐菜品设置套餐id
  3. 最后将套餐包含的菜品添加到套餐菜品关系表中

套餐修改:对套餐表进行修改,在对套餐菜品关系表进行增删操作

  1. 首先根据前端传过来的套餐基本信息更新到套餐表中
  2. 然后根据套餐的id删除所有套餐菜品关系表中包含的菜品信息
  3. 最后遍历前端传过来的菜品的列表,设置好套餐的id后重新保存到套餐菜品关系表中

套餐删除:对套餐表和套餐菜品关系表进行删除操作

  1. 首先遍历前端传过来套餐id的集合得到每一个套餐的信息
  2. 然后根据id查询套餐,判断套餐的状态是否为启售状态,如果是启售状态,则不能删除
  3. 如果是在禁售状态,就可以通过套餐的id进行套餐菜品关系表的删除操作

分类删除

  1. 分类删除的核心逻辑就是根据前端传过来的分类id去分类表进行一个删除操作
  2. 但是要对这个分类里面是否有菜品和套餐做一个判断,拿着这个id去菜品表和套餐表做一个统计查询
  3. 如果查出来数量大于0,就不能删除,如果为0,直接删除

添加购物车:将用户选择的商品基本数据信息添加到数据库表中进行保存

  1. 利用到的数据库表(本次项目):购物车表,菜品表、套餐表,保存的信息就是从表中查到的

  2. 首先根据id查询购物车中是否有相同商品

    有:则不用添加,只修改查询到的商品number属性+1并重新赋值即可,执行mapper更新。

    无:则判断是菜品还是套餐,查询对应商品的数据库得到基本信息,补全购物车需要的参数执行保存。

公共问题

  1. 在这个项目中主要负责的模块是什么?
  2. 项目中哪些表是你负责设计的? 它们之间的关系是什么?
相关推荐
ok!ko2 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589362 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰3 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没3 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
小飞猪Jay4 小时前
C++面试速通宝典——13
jvm·c++·面试
编程、小哥哥4 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程5 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇5 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码5 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
郭二哈6 小时前
C++——模板进阶、继承
java·服务器·c++