Java答辩问题总结

发布于 2025-08-11 15:14:40 浏览 20 次

一、技术类问题

1、采用的是什么技术?
后端主要技术是JSP+SSM框架、采用java语言开发,前端框架是Layui(html+css+js),开发工具是idea,数据库是mysql5.7,服务器用的是内置的Tomcat7.0插件。
如果是SPringBoot就说是SPringBoot,Python的话就说是Python!。
1.1.主要功能模块
系统分为前台网站和后台,前台部分主要有一下功能模块知识点列表、留言、帖子列表、评论、新闻列表、新闻详情等
后台主要功能有登录、个人信息修改、知识点管理、作业管理、留言管理、帖子管理、评论管理、新闻管理,针对各个模块的增删改查的操作。
2、功能模块如何实现
比如登录模块:用户注册后进行登录,在登录界面输入用户名和密码之后,点击登录,form表单会进行提交,将用户名和密码提交至后台的LoginController里面,控制器里面的登录方法接收到登录的请求之后,会进行业务层调用查询数据库的用户名和密码,会和表单里面输入的进行比对,如果一致就登陆成功,否则不一致就登陆失败,重新跳转到登录界面。
3、新增模块(不管哪个模块都是一样的)
比如新增新闻,在新增新闻的表单,输入新闻的相关内容之后,点击“提交”按钮之后,form表单会将表单里面输入的数据提交至后台的方法里面,然后调用业务层进行新增的操作,将数据持久化的到数据库里面,然后刷新新闻模块列表。

  • 查询功能:点击某个“功能列表” 进行查询,会触发一个请求到达控制器里面的方法里面,该方法调用业务层分页查询的接口,进行查询数据库表,进行分页查询,查询完刷新列表。
  • 修改功能:选择一条记录,进行修改,首先进行查询,将查询的数据进行回显,回显到表单里面,选择部分字段修改,修改完,form表单提交,调用后台方法里面的业务层进行修改操作,修改完之后刷新该模块。
  • 删除功能:选择一条记录进行删除,点击“删除”按钮,会将id传递到后台的删除方法里面,根据id进行删除,调用删除的接口,根据id进行删除,删除记录后进行刷新即可

4、系统功能的特点
主要是一些增删改查的功能,实现数据库和网页的动态交互!
5、数据库如何实现!
首先根据课题进行分析,确定系统的功能模块,确定实体和实体具有的属性,然后画出E-R概念模型,根据数据库概念模型,设计出数据库物理表结构。
6、contoller层的作用
image.png

里面主要是一些业务层处理的交互层,负责接收前端页面传递过来的参数进行响应,将查询的结果响应给前端,或者提交时进行添加和修改的操作。
7、dao包的作用
dao包里面主要是接口,它与mapper.xml对象映射框架里面的sql语句进行绑定,主要作用是绑定对于的sql语句,实现底层的增删改查的操作。
controller就是交互层,用于接受请求进行处理,调用业务层进行下一步操作,service就是业务层,主要调用封装到dao层,dao是接口层,用于绑定mapper里面的sql语句,执行底层的crud的操作,实现网页和数据库动态交互的效果。
8.什么是数据库管理系统?
能够实现常规数据信息的存储、保存、查询、修改、删除、记录到软件系统的管理系统
9.你为什么选MySQL?
MySQL轻量级、开源免费、安装简易,上手容易,容易操作,运行稳定,因此选择MySQL。
10.试述出库模块的设计过程设计思路等细节!
出库模块主要是对物品数量的一个变化,出库对物品的数量的减少,然后库存发生变化,主要是对数量的变化
11、什么是总体设计?
总体设计就是,所有的设计,比如系统功能有哪些,数据库表有哪些、系统架构是什么、开发技术选择那种。
12、什么是响应设计?
能够灵活响应PC端和移动端布局,实现自适应调整界面布局
13、软件开发主要过程
(1)需求分析阶段

  • 目标:首先明确用户的开发核心需求与软件边界。
  • 关键活动:
  • 需求收集:通过访谈、问卷或工作坊与用户沟通,梳理功能清单(如用户登录、数据处理等)。
  • 文档输出:编写一些《需求规格说明书》,定义功能优先级、性能要求(如响应时间<1秒)及安全标准。

(2)设计阶段

  • 目标:将需求转化为可落地的技术方案。
  • 架构设计:确定系统分层(如前端+后端+数据库),选择技术栈(如JSP+SSM+MySQL)。
  • 模块划分:拆分功能模块(如用户模块、订单模块),定义接口规范(如RESTful API)。
  • 详细设计:
  • 数据库设计:绘制ER图,设计表结构(如用户表包含ID、用户名、加密密码字段)。

(3)实现阶段

  • 目标:将设计转化为可执行的代码。
  • 前端开发:使用Layui实现页面交互,调用API获取数据。
  • 后端开发:通过SSM+JSP技术编写业务逻辑,操作数据库。

(4)测试阶段

  • 目标:确保软件质量符合预期。
  • 关键活动:
  • 测试类型:
  • 功能测试:验证所有需求是否实现(如登录失败提示是否正确)。
  • 性能测试:模拟高并发场景(如多用户同时操作、登录),检测响应时间。

(5)维护阶段

  • 目标:持续优化软件并修复问题。
  • 问题修正:修复用户反馈的Bug(如订单金额计算错误)。
  • 功能迭代:根据用户反馈新增需求(比如多加功能)。

14.(数据可视化如何实现)的设计过程(比如库存统计数量)
库存统计的设计过程是一个系统性工程,需结合业务需求、技术实现和数据分析,确保系统的准确性、实时性和易用性。一、需求分析阶段
明确核心目标
确定统计维度:如库存周转率、安全库存预警、多仓库分布监控。
定义数据源:整合销售订单、采购记录、物流数据及历史库存。
功能性需求:自动补货建议、异常库存报警、多维度报表生成。
用户角色与权限
区分角色:仓库管理员、采购员等。
权限控制:如管理员可修改库存,普通员工仅查看权限。
通过ajax和Echarts技术实现对库存商品的统计过程,其中定义一个BigData的数据可视化模型,name值代表着可视化的x轴,count代表着可视化的vlaue值。然后通过ajax调用使用Echats进行可视化展示库存统计的效果。
15.支付功能如何实现
支付功能首先要经过确认下单,比如选择好对应的商品或者选择对应的服务下单之后,生成订单后,采用虚拟支付的形式,选择付款类型,当支付成功之后,可能需要扣掉余额,然后订单的状态发生变化,并保存在数据库里面。
16.个性化推荐如何实现
个性化推荐是根据协同过滤算法进行推荐,比如用户1收藏了戏曲A,系统会基于用户的的协同进行相似度比较,当收藏比较多的戏曲就会排到前面,被其他用户看到,那么用户2将会看到最多的戏曲收藏次数,也就是说讲人们普遍关注收藏的推荐给其他用户,实现了个性化推荐
17.SpringBoot项目如何部署
所用软件:IDEA、MySQL5.7、Navicat12、apache-maven-3.5.4
软件环境:windows11、JDK1.8
Windows下,需要再JDK配置环境变量,只需要打开此此电脑,点击设置里面的高级系统设置,进行环境变量配置,在Path中添加C:Program Filesjavajdk1.8.0_131bin路径即可完成JDK环境变量的配置。
配置成功之后进入到cmd命令行内,输入java- version,即可查看已经安装的JDK版本,只有安装JDK之后才可以进行IDEA的启动,进行下一步操作。
Maven配置:
同理,配置环境变量点击高级系统设置,环境变量配置,在Path中添加D:mavenapache-maven-3.5.4bin路径即可完成maven的环境变量的配置。若需要查看maven版本,则只需要在cmd命令行里面输入mvn -v即可查询命令。
(1)首先安装各类软件和环境的配置、比如JKD1.8的配置;
(2)然后开始配置maven,可能用户会遇到依赖下载慢的问题,可以建议他们配置Maven镜像,比如阿里云镜像。在apache-maven-3.5.4里面的conf里面的server.xml需要配置阿里云镜像加速,然后可以进行快速下载Jar包到repo目录里面,进行调用;
(3)安装完MySQL数据库之后通过Navicat进行连接,输入localhost:8080,输入用户名和密码进行连接到本地数据库,然后安装IDEA,安装完后继续安装微信开发者工具。只要安装了开发所需要的工具,程序才可以更好的运行,以上环境基于Windows系统操作,因此相关的软件都是支持Windows系统的。
部署后端:
(1)首先部署后端项目和服务接口,并连接数据库,在Navicat12里面创建非物质文化遗产网站的数据库名称,然后通过右击导入数据库文件,右击刷新即可导入成功;
(2)打开 IDEA里面File导入后端项目之后,需要先选中maven配置,选中D盘的maven里面的D:mavenapache-maven-3.5.4目录;
(3)选择里面的D:mavenapache-maven-3.5.4confsetting.xml里面的配置文件,点击Settings里面Maven 构建,重新配置本地的maven;
(4)然后import changes进行Jar包下载,然后IDEA配置JDK1.8后,等到jar包加载完之后,即可在application.yml里面配置数据库连接,配置好对应的数据库用户名和密码之后,进行连接数据库;
(5)启动项目,启动idea右上角的小绿叶开关,即可启动后端项目,然后在浏览器里面输入localhost:8080/项目名称/admin/dist/index.html,访问后台系统界面,通过输入账号和密码进行登录后台的操作,然后管理员进行相关的资源访问。
如果需要访问前台,则需要输入路径localhost:8080/项目名称/front/index.html才可以进入到网站端进行查看网站信息。
18.数据库如何连接
一般连接数据库,需要本地安装MySQL数据库,然后在配置文件那里配置好用户名和密码、以及url地址、jar包驱动,然后启动MySQL服务,和启动项目,就可以进行连接了
jdbc_url=jdbc:mysql://127.0.0.1:3306/数据库名称
?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf-8&autoReconnect=true
jdbc_username=root(配置数据库名称)
jdbc_password=root(配置用户名)
19.交易安全支付技术是如何实现的?
使用了哈希算法算法(如SHA-256))数据加密技术通过将交易数据(如银行卡号、密码、交易金额等)转换为密文,使得只有拥有解密密钥的授权方才能还原原始数据。可以将任意长度的数据映射为固定长度的哈希值,用于验证数据完整性。用户输入支付信息时,浏览器或APP会先对数据进行加密,再传输到支付网关。而且支付网关与银行系统之间的通信也采用加密技术,防止数据在传输过程中被窃取或篡改。

0 条评论

发布
问题