美文网首页
2019年Java面试题(一) css和Java基础

2019年Java面试题(一) css和Java基础

作者: 码记 | 来源:发表于2019-04-27 11:29 被阅读0次

一.  CSS

1.   引入的方式有哪些?

1)外联:<link>标签

2)内联:<style>标签

3)元素内嵌:元素的style属性

2.  CSS选择符有哪些?

标签选择符、类选择符、id选择符、组合选择符

3. $(this)  this 关键字在 jQuery 中有何不同?

前者是jQuery对象,使用jQuery方法和属性;后者是JavaScript对象,使用JavaScript方法和属性。

4.  列举常用的几种jQuery选择器

1)基本选择器:包括id选择器、class选择器和元素选择器。

2)层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。

3)过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素:如属性选择器、表单选择器等等

二.  JAVA基础 

1.  什么是java序列化,如何实现java序列化?(写一个实例)

序列化:处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象进行多谢操作时所引发的问题

序列化的实现(简单的讲):

      实现接口Serializable

      实现接口Externalizable

2. java==eqauls()的区别

1)对于==,比较的是值是否相等

            如果作用于基本数据类型的变量,则直接比较其存储的“值”是否相等;

    如果作用于引用类型的变量,则比较的是所指向的对象的地址

2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象

    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

3. hashCode()equals()是什么?

hashCode()方法和equals()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致。

4. equals()hashcode的区别

1).    性能

重写的equals()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高。

2).    可靠性

①  equals()相等的两个对象他们的hashCode()肯定相等,也就是用equals()对比是绝对可靠的。

②  hashCode()相等的两个对象他们的equals()不一定相等,也就是hashCode()不是绝对可靠的。

5. java==equals()hashcode()区别

1).==运算符是判断两个对象是不是同一个对象,即他们的地址是否相等

2).object类中equals与==是等效的

3).覆写equals更多的是追求两个对象在逻辑上的相等,你可以说是值相等,也可说是内容相等。(覆盖以后,覆盖equals时总要覆盖hashCode )

4).hashCode用于返回对象的hash值,主要用于查找的快捷性,因为hashCode也是在Object对象中就有的,所以所有Java对象都有hashCode,在HashTable和HashMap这一类的散列结构中,都是通过hashCode来查找在散列表中的位置的。

6. 动态代理的两种方式,以及区别

  答:jdk动态代理和cglib动态代理;

  JDK动态代理只能对实现了接口的类生成代理,而不能针对类;cglib是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法,因为是继承,所以该类或方法最好不要声明称final,final可以阻止继承和多态;

7排序都有哪几种方法?请列举。用JAVA实现一个快速排序?

排序的方法有:插入排序(直接插入排序、希尔排序)、交换排序(冒泡排序、快速排序)、选择排序(直接选择排序、堆排序)、归并排序、分配排序(箱排序、基数排序)

8OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?

不同:

Override:方法的重写:子类覆盖父类的方法,将子类传与父类的引用,调用的还是子类的方法

Overload:方法的重载:一个类多个方法,名称相同,参数个数类型不同

相同:

两者都是Java多态性的不同表现

Overload的方法时可以改变返回值的类型

9.     &&&的区别?

&是位运算符,表示按位与运算;&&是逻辑运算符,表示逻辑与(and)

10.     final类有什么特点?

1:这个关键字是一个修饰符,可以修饰类,方法,变量。

2:被final修饰的类是一个最终类,不可以被继承。

3:被final修饰的方法是一个最终方法,不可以被覆盖。

4:被final修饰的变量是一个常量,只能赋值一次。

11.     final finally finalize的区别?

final用于声明属性、方法和类,分别表示属性不可变,方法不可被覆盖,类不可继承

finally是异常处理语句结构的一部分,表示总是执行

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,如关闭文件等

 

12.     Anonymous Inner Class(匿名内部类)是否可以extends(继承)其他类,是否可以implements(实现)interface(接口)

可以继承其他累或完成其他接口,在swing编程中常用此方式

 

13.     Static Nested Class Inner Class的不同?

Static nested class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

14.     static局部变量与全局变量的区别,编译后映射文件是否包含此类变量的地址。

  static全局变量只初使化一次,防止在其他文件单元中被引用;

 static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;

 static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝;

15.     String and StringBuffer的区别?

他们都可以储存和操作字符串,即包含多个字符的字符数据。

String类提供数值不可改变的字符串

StringBuffer类提供字符串进行修改

 

16.     StringStringBufferStringBuilder的相同点与区别--线程安全性体现

1.      String是不可改变的字符串;StringBuffer和StringBuilder是可改变的字符串

2.      StringBuilder是线程非安全,速度快,StringBuffer是线程安全

            单线程操作字符串缓冲区,操作大量数据使用StringBuilder。

            多线程操作字符串缓冲区,操作大量数据使用 StringBuffer。

3.      String是final类,StringBuffer不是

4.      String重写equals()和hashCode(),StringBuffer没有

17.     面向对象的7大设计原则

里氏原则,依赖倒置,迪米特法则,单一职责,接口隔离,开闭原则,缺少(聚合复用)

18.     抽象类的特点:

1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。

2:抽象方法只定义方法声明,并不定义方法实现。

3:抽象类不可以被创建对象(实例化)。

4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

5: 抽象类只能单继承。

19.     抽象类和接口的区别?

1:抽象类只能被继承,而且只能单继承。

接口需要被实现,而且可以多实现。

2:抽象类中可以定义非抽象方法,子类可以直接继承使用。

接口中都有抽象方法,需要子类去实现。

3:抽象类使用的是  is a 关系。

接口使用的 like a 关系。

4:抽象类的成员修饰符可以自定义。

接口中的成员修饰符是固定的。全都是public的。

20.     java中实现多态的机制是什么?

答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

21.     构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

相关文章

网友评论

      本文标题:2019年Java面试题(一) css和Java基础

      本文链接:https://www.haomeiwen.com/subject/zjihnqtx.html