当前位置: 首页 > news >正文

第三天业务题

3-1 你们的项目是如何进行参数校验的 

在我们的项目中,通常使用以下2种方式进行参数校验:

1.手动校验:在方法内部,我们可以手动编写代码来对参数进行校验。例如,使用条件判断语句(if-else)来检查参数是否满足要求,如果不满足则抛出异常或返回错误信息。

2.使用注解校验:在后端使用Spring中的Validation进行校验,我们可以在参数上添加注解来校验。这些注解可以定义在实体类的字段上,或者方法的参数上,用于验证参数的合法性。例如,@NotNull用于检查参数是否为null,@Min和@Max用于检查参数的最小值和最大值。

3-2 详细说一下你们的问答系统用到了几张表,表中的主要字段有哪些,表关系是什么

我们的问答系统用到了三张表,分别是:用户表,问题表,回答/评论表。

用户表:存储用户信息,主要字段可能包括用户ID、用户名、头像等。
问题表:存储提出的问题,主要字段可能包括问题ID、问题内容、提问者ID、提问时间等。
回答表:存储问题的回答/评论,主要字段可能包括回答ID、回答内容、回答者ID、问题ID、回答时间等。


表之间的关系是:

用户表和问题表之间是一对多的关系,一个用户可以提出多个问题,但一个问题只能由一个用户提出。
问题表和回答表之间是一对多的关系,一个问题可以有多个回答,但一个回答只能对应一个问题。
 

3-3 你们为什么用Mongo, 而不用MySQL存储问题和评论

我们选择使用MongoDB存储问题和评论有以下两点:

首先,MongoDB是一个NoSQL数据库,可以存储海量数据,Mysql存储量远不如MongDB;

此外,MongoDB的文档存储模型也能够更好地支持问答系统中的多级嵌套数据结构,比如问题和对应的回答、评论等,MongoDB还适合存储价值较低的信息(例如:评论),而Mysql适合存储的是对信息安全性有高要求的数据(例如:用户个人信息)。

以上就是选择Mongo存储问题和评论的原因。
 

http://www.lryc.cn/news/283534.html

相关文章:

  • nestjs 装饰器
  • 一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程
  • eBPF运行时安全
  • Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等
  • AutoEventWireup详解
  • SAP ABAP 自定义流水号 编号范围
  • 安卓、ios系统详解
  • 含并行连结的网络(GoogLeNet)
  • 计算机网络(第六版)复习提纲3
  • 怿星科技测试实验室获CNAS实验室认可,汽车以太网检测能力达国际标准
  • GORM 介绍及快速入门
  • Scrcpy:掌握你的Android设备
  • [9, 8, 7, 6][1,2] = ?
  • docker部署Jira+配置MySQL8数据库
  • YOLOv5全网独家首发:DCNv4更快收敛、更高速度、更高性能,效果秒杀DCNv3、DCNv2等 ,助力检测实现暴力涨点
  • HTML中常用标签--详解
  • Vue实现字符串首字母大写、翻转字符串、获取用户选定的文本
  • 基于springboot+vue的旅游网站系统(前后端分离)
  • GB/T28181-2022之图像抓拍规范解读和设计实现
  • 阿赵UE学习笔记——10、Blender材质和绘制网格体
  • 数据结构--串
  • RabbitMQ交换机(3)-Topic
  • 前端密钥怎么存储,以及临时存储一些数据,如何存储才最安全?
  • 第16章_网络编程拓展练习(TCP编程,UDP编程)
  • 深入Docker5:安装nginx部署完整项目
  • HBASE学习四:常用命令汇总梳理(包括数据库、zk、hdfs相关操作与配置)
  • Android平台RTSP|RTMP播放端实时快照保存JPG还是PNG?
  • 【人工智能】之深入了解嵌入模型中的 Token:NLP 中的语义之旅(1)
  • UML-实现图(组件图和部署图)
  • 苹果Find My可查找添加32件物品,伦茨科技ST17H6x芯片加速产品赋能