一、 Java 编程题
利用嵌套条件运算符来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
@Test
public void fun1() {
int score = 30;
if (score > 60) {
if (score >= 90) {
System.out.println("A");
}else{
System.out.println("B");
}
} else {
System.out.println("C");
}
}
二、 MySql 问答题
什么是数据库三大范式?
第一范式:在设计表存储数据的时候,如果表中设计的字段存储的数据,在取出来使用之前还要额外的处理(拆分)那么说明表的设计不符合第一范式。第一范式要求字段的数据具有原子性,不可分性。
第二范式:在数据表的设计的过程中,如果有复合主键(多字段主键),且表中有字段并不是有整个主键来确认的,而是依赖主键中的某一个字段(主键的部分),存在字段依赖主键的一部分的问题,叫做部分依赖。第二范式就是要解决部分依赖的问题。
解决方案:1.拆开,单独成表
2.取消复合主键,用逻辑上的主键
第三范式:理论上讲,应该一张表中所有的字段都应该直接依赖主键(逻辑主键:代替的是业务主键),逻辑主键除外。如果表设计中存在一个字段,并不直接依赖主键,而是通过某个非主键字段依赖,最终实现依赖主键。把这种不是直接依赖主键,而是依赖非逐渐的依赖关系叫做传递依赖。第三范式就是要解决传递依赖问题。
解决方案:1.将存在传递依赖的字段,以及依赖字段本身单独取出,形成一个单独的表。然后在需要对应的信息时,使用对应的实体表的主键。
逆规范化:有时候,在设计表的时候,如果一张表有几个字段是需要从另外的表中去获取信息。理论上讲,的确可以获取到想要的信息,但是就是效率低了一些。所以会刻意得在某些表中,不去保存另外表的主键(逻辑主键),而是直接保存想要的数据信息。这样一来,查询数据的时候,一张表就可以直接提供数据,而不需要多表查询(效率低),但会导致数据冗余增加。
三、 JavaScript问答题
jQuery中有哪些方法可以遍历节点?
prev(),prevAll(),next(),nextAll(),siblings(),children(),closest(),parents()