第三天业务题

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存储问题和评论的原因。
 

你可能感兴趣的:(业务题,java)