一、答辩前准备
1、熟悉你的论文,分为两类,一部分是做本科生毕业设计的(xx系统,xxapp),另一部分做算法的,我着重说的是做毕业设计的
2、准备你的ppt,链接如下(https://www.zhihu.com/question/23221029),注意多图表,少文字,我们答辩的时候,直接跳过背景,直接看你的设计部分,上台,打开你的ppt,鼠标选中ppt演示---排练计时,每个人5到9分钟不等,然后你说,各位老师同学,上午好,我是,我的毕业设计题目是,我的指导老师是,接下来你就照着图片说,你咋设计的,这时候,答辩老师就开始问你问题啦,一定要注意你自己的态度,一怂到底就行,老师比如说,哎,你这个有xxxx问题,你就回答说,不好意思,老师,我之前没考虑到这一点,之后我回去一定修改,谢谢老师的建议之类的,千万不要怼,老师其实主要看你的态度
3、精华部分;老师可能提到的问题
3.1你用啥语言开发的,答曰JAVA,追问,说说你在开发过程中遇到的异常,答:空指针异常之类的,记得3个以上
3.2你用什么连接你的数据库的?答:JDBC,MYBATIS之类的
3.4比如你写的是xxx管理系统,问:你系统里有管理员、超级管理员权限吗?你是如何区分他们的呢?答曰:我在数据库表中存入了数据,当我的管理员用户名与密码全部输入正确时,用户进入的是管理员的页面,当我的超级管理员用户名与密码全部输入正确时,用户进入的是超级管理员的页面,超级管理员有对管理员增删改查的权限,从而可以避免因管理员操作不当可能会造成的管理员互相删除这类极限情况
3.5比如你有注册登录页面,问:若用户忘记密码呢?答曰:可以使用用户注册时绑定的手机验证码或者邮箱进行找回密码
3.6比如你有注册登录页面,问:有给密码加密吗?答曰:有使用MD5或者SHA1等单向HASH算法保护密码或者特殊的单向HASH算法,即在单向HASH算法基础上进行了加盐、多次HASH等扩展
3.7有没有进行多表连接查询啊?如何实现的?用了那几张表,用的什么作为它们连接的依据,答曰:有,比如在实现xxx功能是,我需要使用哪几张那个表,用它们的主键来作为连接它们的依据
3.8什么是外键
3.9项目有什么现实意义/应用前景?项目有哪些优点,项目有哪些需要优化的地方?
3.10老师可能发现你的数据库逻辑表中存在数据冗余,其实这部分,你就应当做好认怂的准备,问?什么是数据冗余?答曰,数据库冗余是xxxxx,对不起,老师,我在设计这些表的时候没有考虑好数据库冗余部分,是我的疏忽,我一定改,别在老师面前说我的表示这样写的,老师不care你是怎么不会涉及数据冗余的,不然,你balabala解释一大堆,老师直接抛出问题,数据库设计的3大范式是什么?
3.11MVC三层框架是什么
以上是我们答辩组,做系统设计的同学老师问的问题
算法的我只提一点点(你做的算法,老师基本都很熟悉,千万把基本的概念弄懂,不会就是不会,别强行忽悠老师,怂一点,起码把自己在ppt上展示的东西都会吧)
可能会问你涉及某个算法计算公式某个参数的意义,
某个样本数据集是怎么来的,是你自己瞎写的,还是你自己通过某个算法筛选来的?
算法实现是你自己实现的吗?中心思想是什么?算法的流程是什么?