美国上市公司,专注Java培训22年

Java Web 企业面试简答题


1、数据库三范式是什么?

答:

第一范式(1NF):

字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。

第二范式(2NF):

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。第二范式(2NF)要求实体的属性完全依赖于主关键字。

所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。

简而言之,第二范式就是非主属性非部分依赖于主关键字。

第三范式的要求如下:

满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。

所以第三范式具有如下特征:

1,每一列只有一个值 。

2,每一行都能区分。

3,每一个表都不包含其他表已经包含的非主关键字信息。

2、说出一些数据库优化方面的经验?

答:

用 PreparedStatement 一般来说比 Statement 性能高:一个 sql 发给服务器去执行,涉及步骤:语法检查、语义分析,编译,缓存

“inert into user values(1,1,1)”-→二进制

“inert into user values(2,2,2)”-→二进制

“inert into user values(?,?,?)”-→二进制

有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。(比喻:就好比免检产品,就是为了提高效率,充分相信产品的制造商)(对于 hibernate 来说,就应该有一个变化:empleyee->Deptment 对象,现在设计时就成了 employee→deptid )

看 mysql 帮助文档子查询章节的最后部分,例如,根据扫描的原理,下面的子查询语句要比第二条关联查询的效率高:

1. select e.name,e.salary where e.managerid=(select id from employee where ame='zxx');

2. select e.name,e.salary,m.name,m.salary from employees e,employees m where e.managerid = m.id and m.name='zxx';

表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等将姓名和密码单独从用户表中独立出来。这可以是非常好的一对一的案例哟!

sql 语句全部大写,特别是列名和表名都大写。特别是 sql 命令的缓存功能,更加需要统一大小写,sql 语句发给 oracle 服务器语法检查和编译成为内部指令→缓存和执行指令。根据缓存的特点,不要拼凑条件,而是用 PreparedStatment 还有索引对查询性能的改进也是值得关注的。

3、MVC 的各个部分都有那些技术来实现?如何实现?

答:

MVC 是 Model-View-Controller 的简写。

Model 代表的是应用的业务逻辑(通过 JavaBean,EJB 组件实现),View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个 Servlet ),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

4、在 eclipse 中调试时,怎样查看一个变量的值?

答:

在要查看的变量前先设置断点,然后选中变量,右键选 debug as-->Java Application,打开 debug 透视图,这时在 Variables 窗口中可以看到变量当前的值。如果是局部变量,也可以在局部变量窗口中查看。

要知道一个方法被调用的方法调用链,可以在方法栈中查看。

感谢大家阅读由java企业面试题分享的“Java Web 简答题”希望对大家有所帮助,更多精彩内容请关注Java培训官网


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java面试逻辑题
    Java面试逻辑题
    1、什么是反射 API?它是如何实现的?答:反射是指在运行时能查看一个类的状态及特征,并能进行动态管理的功能。 这些功能是通过一些内建类的反射 API 提供的,比如 Class,Method,Field,Constructors 等。 详情>>

    2017-10-25

  • Java技术面试题(企业面试题常问题目)
    Java技术面试题(企业面试题常问题目)
    感谢大家阅读由java培训机构分享的“Java技术面试题(企业面试题常问题目)”我们会不定期的分享更多关于面试题的文章,供广大java学员进行参考,更多精彩内容请关于Java培训官网 详情>>

    2017-08-02

  • Java笔试题大全带答案(经验汇总)
    Java笔试题大全带答案(经验汇总)
    8-8java编程笔试面试简答题,来自java培训机构的分享 详情>>

    2017-08-08

  • Java开发面试题汇总(这一篇就够了)
    Java开发面试题汇总(这一篇就够了)
    感谢大家阅读由java企业面试题分享的“Java面试宝典-这一篇就够了”希望对大家有所帮助 详情>>

    2017-12-18

  • Java开班时间

    收起