毕业设计答辩手册
1、项目是基于什么技术开发的?
回答:前端采用的是vue技术,后端采用的是java技术,总的来说是基于springboot+vue进行开发的。
2、项目是采用bs模式还是cs模式?
回答:采用的是bs模式,通过浏览器访问的系统属于bs模式。
3、数据库中的id为什么不是1开始自增?
回答:主键策略有很多种形式,自增模式在项目开发中很难保持连续性和唯一性,正式开发一般用uuid随机数作为id。
4、什么是uuid?
回答:uuid是通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准。
5、项目用的是什么数据库?
回答:用到的是mysql数据库。
6、数据库密码为什么不是明文存储?
回答:因为用户密码属于安全级别比较高的隐私数据,通过md5加密保存的,所以是密文形式。
7、开发工具有哪些?
回答:项目前端用vscode开发,后端用idea,数据库mysql采用的是navicat进行查看。
8、jdk使用什么版本?
回答:jdk用的是1.8。
9、项目中有用到tomcat服务器吗?
回答:spingboot是有用到springboot内置的tomcat的。
10、前后端项目是如何进行数据交互的?
回答:前端项目通过axios发起http请求,发起的api请求地址与后端项目controller的接口地址保持一致,后端接收到请求后,从数据库查询到数据响应给前端。
11、什么是Axios?
回答:Axios是一个HTTP库,类似于ajax用于http请求,可以发送get、post等请求。
12、你的登录功能如何实现?
回答:首先用户在页面输入账号密码,点击登录将数据发送给后台,后台接收到数据后,查询该用户表是否在用户表中,如果有则提示登录成功,否则提示登录失败。
13、你的注册功能如何实现?
回答:首先用户在页面输入账号密码以及其它注册信息,后台先查询该用户是否有注册过,如果没有,就将密码进行md5进行加密后进行保存,否则提示注册失败,该登录名已经被注册过。
14、项目都是从零开始开发的吗?
回答:开发项目不是从零开始开发的,基础框架是从git上下载来的,业务功能是在基础框架上需要全部自己开发完成的。
15、开发中遇到问题是如何解决的?
回答:通过在百度上查找相关技术博客,知乎等,也有通过技术文档和视频课程进行学习,网上有很多现成的代码可以直接拷贝,通过调试整合到项目中就可以完成对应功能。
16、项目中如何进行条件查询的?
回答:在每个service模块中第一个方法是用来设置查询条件的,eq匹配精确查询,like匹配模糊查询,通过设置每个字段的匹配方式,就可以根据条件查询出来了。

17、项目中如何实现sql增删改查的?
回答:在每个dao模块中都继承了BaseMapper就具备了增删改查的功能,我们只需要将entity模块中的字段名称和数据库表字段名称保持一致,并且符合驼峰命名的写法,这样mybatisPlus就会映射成对应的sql语句了。

18、你的角色和权限是如何控制的?
回答:权限框架用到的是shiro权限框架,用户根据不同角色登录系统后,可以展示不同的菜单。用户登录的时候首先查询到用户信息,根据用户信息查询到用户所属的角色,通过角色查找到用户关联用户的权限。
19、系统架构图是怎样的?
回答:

20、开发中你遇到了哪些问题,最后怎么解决的?
回答:(1)写接口的时候,前端和后端接口地址没保持一致,导致接口请求不了。解决方法:最终通过前后台接口代码对比发现的。(2)写前端页面的时候,有时候代码已经修改了,但是页面一直没有显示修改的内容。解决方法:浏览器缓存的原因,清理浏览器缓存。(3)写sql的时候用了中文的标点符号导致数据库查询不到数据。解决方法:写sql时需要注意切换英文输入法。
21、项目运行流程是什么?
回答:项目运行流程为:

(1)vue前端页面发起api请求后端controller地址;(2)controller接收前端请求后调用service的方法;(3)service处理完业务逻辑后调用dao方法;(4)dao对数据库进行增删改查的操作。(5)数据库处理完后把结果原路返回给前端。
22、如何写好毕业论文
(1)看懂核心代码,业务功能模块module下的代码是需要看懂的,其它的可以不看。
(2)弄清表的关系,表字段和表外键是需要了解清楚,这样才能能知道表之间的关系。
(3)分清用户权限,用户属于什么角色,登录后有哪些菜单和按钮功能,这就是权限。
(4)熟悉项目流程,熟悉用户从登录到退出整个的操作流程,以及功能的用途。
(5)参考网上论文,掌握以上四点,参考知网论文模板,才能更好地写好论文。
23、如何出色完成答辩
(1)数据完整性,页面数据建议满一页或者几页,才能体现你的工作量。
(2)数据真实性,页面数据尽量真实,不要造随意造数据,显得很敷衍。
(3)流程完整性,一个用户从登录到退出整个演示流程需要清晰简洁,思路清晰。
(4)问答流畅性,页面对应的代码能够快速找到,功能对应的数据库表能够找到。
(5)态度兼容性,保持礼貌谦逊,表现出热爱学习,积极向上的态度更为重要。