计算机毕业答辩常见问题

1、项目使用的技术

答: 例如:
前端使用XX(css、javascript、jQuery、Vue框架、 AngularJS、React、 Layui框架、Bootstrap等)
后台使用了XX(java语言-Springboot|SSM|javaweb技术 、Python、.net)

2、项目开发中遇到什么问题,是怎么解决的分享一下

1)数据库链接问题
账号密码不对或者是数据库驱动与数据库服务器版本不一直导致项目发布异常 更换正确的数据库驱动
2)浏览器缓存问题,图片文字改了,但是在浏览器不显示
不要使用eclipse内置的浏览器访问,应该用外置浏览器比如谷歌并且清理浏览器的缓存可以
按住 ctrl+shift+delete键清理浏览器缓存,同时要重新发布项目就好了
3)中文乱码问题
数据库中的数据出现了中文乱码问题 对数据库的编码设计utf-8

3、数据库用的什么数据库,该数据库有什么特点?

MySQL:一种关系型数据库,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,
MySQL是使用sq|语言进行访问的,总的来说,MySQL访问速度比较快,成本低。
1)mysq|性能卓越,服务稳定,很少出现异常宕机。
2)mysq|开放源代码且无版权制约,自主性及使用成本低。
3)mysq|软件体积小,安装使用简单,并且易于维护,安装及维护成本低。

4、有购物车功能的同学,购物车怎么实现的

答:购物车中商品数据的可以保存再如下几个地方 比如 Session中、Cookie中、或者是数据库表
中 在本次设计 采用了数据库表结构进行存储购物车数据

5、MVC设计模式是指什么,其优缺点,怎样用到在你的程序里

MVC: M指的是 Model 模型 V:View视图 C:Controller 控制器
在MVC架构中,Servlet作为前端控制器,负责接收客户端发送的请求
在Servlet中只包含控制逻辑和简单的前端处理;
后端JavaBean来完成实际的逻辑处理;
最后,转发到相应的JSP页面处理显示逻辑。

6、SSM框架是指什么

SSM指:Springmvc、Spring、Mybatis

7、检索功能支持模糊查询吗?怎么实现的?

like实现模糊查询
例如:select * from 用户表 where name like ‘%张三%’;

8、你是怎么实现后台与数据库连接的?

java项目中数据库链接使用的技术 Jdbc、Dbcp数据库连接池、Mybatis,引入Mybatis通过操作xml文件或注解编写SQL的方式进行操作数据库

9、你能说说varchar 和 char 的区别吗?

varchar可变长度字符窜、char固定长度字符窜
char(10)与varchar(10)都存字符串 abc
CHAR 消耗了硬盘空间更大 = “
abc”长度 + 7个空字符 VARCHAR损耗了硬盘 3字节 = “
abc”长度. 建议固定长度字符窜用 char存储 ,可变长度字符窜用 varchar

10、你的系统的安全性是如何保障的?

答、 密码MD5加密,系统进行实现了权限控制,不同用户可以
分配不同角色,不同角色可以有不同的操作权限

11、数据库的设计分为哪几步?

答、按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:
⑴ 需求分析:分析用户的需求,包括数据、功能和性能需求
⑵ 概念结构设计:主要采用E-R模型进行设计,包括画E-R图(概念结构是独立于任何一种数据
模型的信息结构)
⑶ 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换(任务就是把概念
结构设计阶段设计好的基本E-R图转换为与选用的DBMS所支持的数据模型相符合的逻辑结
构),
逻辑设计完成之后要对数据模型进行优化,因为数据库逻辑设计的结果不是唯一的,根据应
用需要适当地修改、调整数据模型的结构。如果在优化过程中发现数据库的逻辑结构有诸多问
题,
则需要返回到上一层修改或重新进行数据库的逻辑结构设计
⑷ 数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
⑸ 数据库的实施:包括编程、测试和试运行;
⑹ 数据库运行与维护:系统的运行与数据库的日常维护(数据库的转储和恢复;数据库的安全
性和完整性控制;数据库性能的监督、分析和改造;数据库的重组织与重构造)

12、实体之间联系的类型有几种?详细解释他们的含义。

数据对象彼此之间相互连接的方式成为联系,也为关系
一对一(1:1)一个部门有一个经理,而每个经理只在一个部门任职,部门与经理的联系就是一对一。
一对多(1:N)教师与课程之间存在一对多联系,即每位教师可以教多门课程,但是每门课程只能由以为教师来 教。
多对多(N:M)学生与课程的联系时多对多,即一个学生可以学多门课程,而每门课程可以有多个学生来学。

13、Spring 的两个核心功能分别是什么?

问:Spring 的两个核心功能分别是什么?
IOC:控制反转。
AOP:面向切面编程,扩展功能不是修改源代码实现。 

14、采用 Spring Boot 有何优势?

有考虑过 Spring Boot。Spring Boot 最大的优势在于可以快速构建项目,具体优势如下:
项目可独立运行,无须外部依赖 Servlet 容器。
提供运行时的应用监控。
极大地提高了开发、部署效率。
与云计算的天然集成。
Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。
同时它集成了大量常用的第三方库配置,Spring Boot 应用中这些第三方库几乎可以是零配置的开箱即用(out-of-the-box),大部分的 Spring Boot 应用都只需要非常少量的配置代码(基于 Java 的配置),开发者能够更加专注于业务逻辑。

15、 Maven 有什么作用?

Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需做一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。Maven 的作用如下:
Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。
对应第三方组件用到的共同 jar,Maven 自动解决重复和冲突问题。
Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。

16、分页查询是如何实现的?

MySQL 中实现分页查询,在数据量较小的情况下可使用 limit 查询来实现分页查询,在数据量大的情况下使用建立主键或唯一索引来实现,另外可通过 order by 对其排序。

分页需求:客户端通过传递 start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,MySQL 数据库提供分页的函数有 limit m,n,但是该函数的用法和我们的需求不一样,所以就需要根据实际情况去改写适合自己的分页语句。

例如:查询第 1 条到第 10 条的数据的 SQL 是:

select * from table limit 0,10;

1

对应我们的需求就是查询第一页的数据:

select * from table limit (1-1)*10,10;

1

从上面的分析我们可以得出分页 SQL 的格式是:

select * from table limit (start-1)*limit,limit;

1

说明:其中 start 是页码,limit 是每页显示的条数。

18、如何实现对手机号的校验?

我在前端 JS 脚本中是采用正则表达式来规范手机号,
第一位: 1
第二位: 3~9
第三到第十一位:只要是数字就行

后端使用 JSP 303 校验 导入 Hibernate-Validator,使用 @Valid 注解完成检验功能。

19、如何避免Java程序中的空指针异常?

空指针异常是Java程序员最头疼的问题之一。这种异常通常发生在试图操作一个空对象的时候,会导致程序崩溃。为了避免这种情况的发生,你可以使用if语句来判断是否为null,或者使用Java 8中的Optional类。

此外,还有一些其他的方法可以预防空指针异常的发生,比如在对象创建的时候就进行初始化处理,或者使用断言来确保变量不为null。另外,如果你的程序需要处理大量的空对象,你可以考虑使用一些第三方库来帮助你更好地处理这些情况,比如Apache Commons Lang库中的StringUtils类。

20、你们的系统有没有考虑到用户的体验?

这个问题其实是问你们的系统是否易于使用和操作。这个问题的回答要着重强调用户体验的重要性,你们是如何通过用户测试和反馈来优化系统的。同时,你们也可以提到一些优化用户体验的具体方法,比如增强交互设计和用户界面的友好性等等。

21、你们的系统有没有做安全性能方面的考虑?

这个问题的关键是要说明你们的系统有哪些安全性能方面的考虑。比如,你们有没有考虑到数据的加密和防盗窃,有没有对系统进行防病毒和防黑客攻击的设计。同时,也要说明你们是如何保证系统的稳定性和可靠性的。

22、在设计的时候如何保证数据库查询效率

针对数据库查询,对不同的数据库表设计了索引字段,使用MySQL中的索引机构可以在一定程度上提升数据库的查询效率。

23、开发过程中遇到的问题?

1.数据库表结构冗余字段问题
使用数据库可视化工具对表结构进行梳理,去除了冗余字段
2.maven依赖下载失败问题
使用国内镜像代替国外地址,提升下载速度
3.jdbc驱动报错问题
使用MySQL5的驱动 代替MySQL8的驱动

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值