【毕业设计】答 辩 技 巧 二(以一个过来人的身份,祝各位答辩 过 过 过)(1)

5、对自己设计的评价不要绝对化。比如填补什么空白、国内领先、很好、没有什么问题、最优之类的字眼。回答问题时要谦虚、诚恳,态度端正。

6、答辩时穿着整洁,不要穿背心、拖鞋之类的。说话用普通话,语速不要太快,吐字清楚,不要紧张。

7、毕业答辩主要是检查各位的论文是否符合学校的规范,对自己设计的题目是否有叫全面的认识,以及对相关设计技术的认识。所以只要大家对自己的题目比较清楚的话,都是没有问题的。

8、答辩前把资料准备完整,提前一天交到老师那里。一定要仔细检查,按照学校的规范来装订。提前交是为了给你们写评语,否则答辩的时候就很麻烦了。

常问问题及解答(技术)

==========================================================================

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


回答:

(1)这是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

模型(Model) :程序员编写程序应有的功能( 实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能);

控制器( Controller) :负责转发请求,对请求进行处理;

视图(View) :界面设计人员进行图形界面设计。


(2)MVC如何在你的程序中运用实现:

在jsp页面编写内容,然后提交给servlet处理,再调用模型层中业务逻辑类的几个方法与数据库进行数据传输。


(3)MVC优缺点:

优点

1:耦合性低 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码。

2:重用性高 随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码。

3:可维护性高 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

缺点:

1:没有明确的定义,并且由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难;

2:增加系统结构和实现的复杂性

对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率;

3.视图对模型数据的低效率访问 依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

(2)SSM/SSH框架是指什么?


回答:

SSH是struts+spring+hibernate的一个集成框架,是一种Web应用程序开源框架。从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring来管理struts和hibernate。

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

Spring

Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。

Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。

SpringMVC

SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。

mybatis

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

(3)JSP与Java的关系


回答:

1: Java是一种面向对象的编程语言,JSP是-种服务端语言,动态网页技术,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。

2: JSP是Java的服务端页面,可以嵌套Java代码。

3:Java程序和JSP程序都需要先通过编译成.class文件才能被执行

(4)JavaScript


回答:

JavaScript是一种脚本,我们经常在htmI中看到javascript,javascript可以用来给htmI增加动态效果。

(5)JSP和JavaScript的区别?


回答:

jsp和javascript的区别首先是位置上的不同,javascript一般在前台运行,要求浏览器要支持js,而JSP是在后台服务器上的,主要用于控制html。JSP和js相比,一般情况下,js在客户端生成html,但是不太容易和服务器进行交互,更不能提供复杂的服务。

还有个区别就是jsp是在html中以<%%>的形式出现,而js是在HTML中以< Script > < / Script >来实现。

(6)CSS是什么?


回答:

CSS是-种用来表现HTML (标准通用标记语言的一个应用)或XML

(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

(7)Servlet


回答:

servlet是一种独立于平台和协议的服务器端的Java技术,可以用来生成动态的Web页面。与传统的CGI(计算机图形接口)和许多其他类似CG|技术相比,Servlet具有更好的可移植性、更强大的功能,更少的投资,更高的效率,更好的安全性等特点。

(8)MySQL


回答:

一种关系型数据库,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,MySQL是使用sq|语言进行访问的,总的来说,MySQL访问速度比较快,成本低。

优点:

1、mysq|性能卓越,服务稳定,很少出现异常宕机。

2、mysq|开放源代码且无版权制约,自主性及使用成本低。

3、mysq|软件体积小,安装使用简单,并且易于维护,安装及维护成本低。

缺点:

1.如果使用大量存储过程,那么使用这些存储过程的每个连接的内存使用量将会大大增加。此外,如果您在存储过程中过度使用大量逻辑操作,则CPU使用率也会增加。

2.存储过程的构造使得开发具有复杂业务逻辑的存储过程变得更加困难。.

3.mysq|不允许调试存储过程。

4.开发和维护存储过程很难

(9)数据库事务


回答:

关系性数据库需要遵循ACID规则,具体内容如下:

原子性

事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;

一致性: 执行事务前后,数据保持一致;

隔离性: 并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事务之间数据库是独立的;

持久性:一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库 发生故障也不应该对其有任何影响。


为了达到上述事务特性,数据库定义了几种不同的事务隔离级别: READ_UNCOMMITTED(未授权读取):

最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读

READ_COMMITTED(授权读取):

允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生 REPEATABLE_READ(可重复读):

对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。

SERIALIZABLE(串行):

最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。但是这将严重影响程序的性能。通常情况下也不会用到该级别。


这里需要注意的是:Mysql 默认采用的 REPEATABLE_READ隔离级别 Oracle 默认采用的

READ_COMMITTED隔离级别.

事务隔离机制的实现基于锁机制和并发调度。其中并发调度使用的是MVVC(多版本并发控制),通过保存修改的旧版本信息来支持并发一致性读和回滚等特性。

(10)B/S架构


回答:

B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。B/S架构的系统无须特别安装,只有Web浏览器即可。其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。

B/S优点

1、具有分布性特点,可以随时随地进行查询,浏览等业务处理。

2、功能扩展简单方便,通过增加页面即可增加服务器功能。

3、维护简单方便,只需要改变网面,即可实现所有用户的同步更新。

4、共享性强

B/S模式的缺点:

(1)、响应速度不及C/S,随着AJAX技术的发展,相比传统B/S结构软件提升一倍速度。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
5057773726)]

[外链图片转存中…(img-tpPfrJ9e-1715057773726)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值