搜档网
当前位置:搜档网 › java基础面试知识点.docx

java基础面试知识点.docx

java基础面试知识点.docx
java基础面试知识点.docx

java基础面试知识点

1.java中==和equals和hashCode的区别

2.int、char、long各占多少字节数

byte 1字节最小值是 -128(-2^7); 最大值是 127(2^7-1);

boolean 至少1字节这种类型只作为一种标志来记录 true/false 情况;

short 2字节最小值是 -32768(-2^15); 最大值是 32767(2^15 - 1);

char 2字节最小值是 \u0000(即为0);最大值是 ?(即为65,535);

int 4字节最小值是-2,147,483,648(-2^31); 最大值是2,147,483,647(2^31 - 1);

float 4字节单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;

long 8字节最小值是 -9,223,372,036,854,775,808(-2^63);

最大值是 9,223,372,036,854,775,807(2^63 -1);

double 8字节双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023;

英文字母:字节数 : 1;编码:GB2312

字节数 : 1;编码:GBK

字节数 : 1;编码:ISO-8859-1

字节数 : 1;编码:UTF-8

中文汉字:字节数 : 2;编码:GB2312

字节数 : 2;编码:GBK

字节数 : 1;编码:ISO-8859-1

字节数 : 3;编码:UTF-8

3.int与integer的区别

1. Ingeter是int的包装类,int的初值为0,Ingeter的初值为null;

2.初始化的时候,int i=1;Integer i=new Integer(1);(要把integer 当做一个类看);但由于有了自动装箱和拆箱使得对Integer类

也可使用:Integer i=1;

3.int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法

4.Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值。

4.对java多态的理解

多态:继承父类的子类重写父类的某个方法,不同的子类调运同一个方法可以,产生不同的结果。

多态的三个必要条件:

1.继承父类

2.重写父类的方法

3.父类的引用指向子类对象

面向对象的三大特性封装、继承、多态。从某种程度来看,封装、继承就是为了多态准备的,也是最重要的知识点。

实现多态的技术:动态绑定,是指在执行期间,根据引用对象实际指向的对象,来执行对应的方法。

多态的作用:消除类型之间的耦合关系。

多态的好处:

1.可替换行:多态对已存在的代码有可替换性(重写);

2.扩展性:多态对代码具有扩展性;

3.接口性:多态是父类通过方法签名,为子类提供的共同接口,由子类去完善或覆盖;

4.灵活性:它在应用中体现了灵活多样的操作,提高了使用效率;

5.简化性。Java中多态的实现方式:实现接口,继承父类进行方法重写,同一个类中进行方法的重载。

什么是内部类?内部类的作用

定义:将一个类定义在一个类或者一个方法里面,这样的类称着内部类

内部类的种类有4种:

1、成员内部类

2、静态内部类静态内部类就是在成员内部类多加了一个static 关键字。

3、匿名内部类

4、局部内部类

内部类的作用

1、内部类可以很好的实现隐藏。

非内部类是不可以使用private和protected修饰的,但是内部类却可以,从而达到隐藏的作用。同时也可以将一定逻辑关系的类组织在一起,增强可读性。

2、间接的实现多继承。

每个内部类都能独立地继承自一个(接口的)实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。所以说内部类间接的实现了多继承。

抽象类和接口区别?

抽象类:

1:有abstract修饰的class,绝对就是抽象类。

2:抽象类中可以有抽象方法,也可以没有抽象方法,但是有抽象方法的class,就一定会是抽象类。

3:抽象类是不能创建实例对象的。

4:如果有子类继承这个抽象类,则必须要实现父类中的抽象方法,如果不实现的话,则这个字类也必须定义为抽象类。

接口:

1:接口只能实现不能够继承,比如,一个类可以实现多个接口,但是只能继承一个父类,也可以这样理解,一个类可以有多个干爹(实现接口),但是只能有一个亲爹(继承父类)。

2:如果要实现这个接口,则该接口中的方法必须要实现。因为我们定义接口中的方法时,系统是默认这些方法是抽象的方法,也就是说这些方法是有public abstract这个来修饰的。

3:在接口中定义的变量必须是全局变量的,也就是说有public

static final修饰的

抽象类的意义

抽象类与接口的应用场景

抽象类是否可以没有方法和属性?

泛型中extends和super的区别?

和是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。

:是指“上界通配符(Upper Bounds Wildcards)”

:是指“下界通配符(Lower Bounds Wildcards)”

父类的静态方法能否被子类重写?

先给一个答案,不能,父类的静态方法能够被子类继承,但是不能够被子类重写,即使子类中的静态方法与父类中的静态方法完全一样,也是两个完全不同的方法。

重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。

对于静态方法和静态变量来说,虽然在上述代码中使用对象来进行调用,但是底层上还是使用父类来调用的,静态变量和静态方法在编译的时候就将其与类绑定在一起。既然它们在编译的时候就决定了调用的方法、变量,那就和重写没有关系了。

静态属性和静态方法是否可以被继承

可以被继承,如果子类中有相同的静态方法和静态变量,那么父类的方法以及变量就会被覆盖。要想调用就就必须使用父类来调用。

从上述代码可以看出,子类中覆盖了父类的静态方法的话,调用的是子类的方法,这个时候要是还想调用父类的静态方法,应该是用父类直接调用。如果子类没有覆盖,则调用的是父类的方法。静态变量与此相似。

进程和线程的区别?

进程

是系统进行资源分配的独立单元

1

设计思想:为了允许多个程序同时在内存中运行

特点:进程是程序的一次执行过程。若程序执行两次甚至多次,则需要两个甚至多个进程。

进程是是正在运行程序的抽象。它代表运行的CPU,也称进程是对CPU的抽象。(虚拟技术的支持,将一个CPU变幻为多个虚拟的CPU) 系统资源(如内存、文件)以进程为单位分配。

操作系统为每个进程分配了独立的地址空间

操作系统通过“调度”把控制权交给进程。

线程

cpu调度的基本单元

1

设计思想:

在一个进程内也需要并行执行多个程序,实现不同的功能。

进程切换的代价、开销比较大;

在进程内创建、终止线程比创建、终止进程要快。同一进程内的线程间切换比进程间的切换要快,尤其是用户级线程间的切换。线程之间相互通信无须通过内核(同一进程内的线程共享内存和文件) final,finally,finalize的区别?

序列化的方式?

Serializable 和Parcelable 的区别?

哪些情况下的对象会被垃圾回收机制处理掉?

静态代理和动态代理的区别,什么场景使用?

静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类。

静态代理事先知道要代理的是什么,而动态代理不知道要代理什么东西,只有在运行时才知道。

动态代理是实现JDK 里的InvocationHandler 接口的invoke 方法,但注意的是代理的是接口,也就是你的业务类必须要实现接口,通过 Proxy 里的 newProxyInstance 得到代理对象。

Java的异常体系

Java把异常作为一种类,当做对象来处理。所有异常类的基类是Throwable类,两大子类分别是Error和Exception。

系统错误由Java虚拟机抛出,用Error类表示。Error类描述的是内部系统错误,例如Java虚拟机崩溃。这种情况仅凭程序自身是无法处理的,在程序中也不会对Error异常进行捕捉和抛出。

异常(Exception)又分为RuntimeException(运行时异常)和CheckedException(检查时异常),两者区别如下:

RuntimeException:程序运行过程中才可能发生的异常。一般为代码的逻辑错误。例如:类型错误转换,数组下标访问越界,空指针异常、找不到指定类等等。

CheckedException:编译期间可以检查到的异常,必须显式的进行处理(捕获或者抛出到上一层)。例如:IOException, FileNotFoundException等等。

谈谈你对解析与分派的认识。

:方法在程序真正运行之前就有一个可以确定的调用版本,并且这个方法的调用版本在运行期是不可改变的,即“编译期可知,运行期不可变”,这类目标的方法的调用称为解析(Resolve)。

静态分派

静态分派只会涉及重载(Oveload),而重载是在编译期间确定的,那么静态分派自然是一个静态的过程(因为还没有涉及到Java虚拟机)。静态分派的最直接的解释是在重载的时候是通过参数的静态类型而不是实际类型作为判断依据的。因此在编译阶段,Javac编译器会根据参数的静态类型决定使用哪个重载版本。

动态分派

动态分派的一个最直接的例子是重写(Override)。对于重写,我们已经很熟悉了,那么Java虚拟机是如何在程序运行期间确定方法的执行版本的呢?

Java中实现多态的机制是什么?

靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指

向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

如何将一个Java对象序列化到文件里?

将对象序列化到文件

1.对象需要实现Seralizable接口

2.通过ObjectOutputStream的writeObject()方法写入和ObjectInputStream的readObject()方法来进行读取

//存进去

Java反射的理解

简单的来说,反射机制其实就是指程序在运行的时候能够获取自身的信息。如果知道一个类的名称或者它的一个实例对象,就能把这个类的所有方法和变量的信息(方法名,变量名,方法,修饰符,类型,方法参数等等所有信息)找出来。如果明确知道这个类里的某个方法名+参数个数类型,还能通过传递参数来运行那个类里的那个方法,这就是反射。

Java注解的理解

定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

元注解:

元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它annotation类型作说明。Java5.0定义的元注解:

1.@Target,

2.@Retention,

3.@Documented,

4.@Inherited

说说你对依赖注入的理解

这也就说明了为啥要依赖注入,因为可以解耦

依赖注入主要作用:依赖注入能够让相互协作的软件组件保持松散耦合

泛型原理,并举例说明

Java的泛型是伪泛型。在编译期间,所有的泛型信息都会被擦除掉。

Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除。

Java中String的了解

一、String是不可变对象

https://www.sodocs.net/doc/e08580684.html,ng.String类使用了final修饰,不能被继承。Java程序中的所有字面值,即双引号括起的字符串,如"abc",都是作为String 类的实例实现的。String是常量,其对象一旦构造就不能再被改变。换句话说,String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创造了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则丝毫未动。String对象具有只读特性,指向它的任何引用都不可能改变它的值,因此,也不会对其他的引用有什么影响。

二、String常量池

常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。Java为了提高性能,静态字符串(字面量/常量/常量连接的结果)在常量池中创建,并尽量使用同一个对象,重用静态字符串。对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果常量池中存在即返回该对象。

三、String、StringBuffer和StringBuilder的区别

1.对象的可变与不可变

String类中使用字符数组来保存数据,因为有“final”修饰符,所以string对象是不可变的。如下:

private final char value[];

StringBuilder与StringBuffer都继承自AbstractStringBuilder

类,在AbstractStringBuilder中也是使用字符数组保存数据,这两种对象都是可变的。如下:

char[] value;

2.是否是线程安全

String中的对象是不可变的,也就可以理解为常量,所以是线程安全。

AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。

StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。看如下源码:

StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。

五、String的匹配相等问题

使用String类经常需要对两个字符串进行对比,看是否相等。有==和equals两种选择,这两者方法区别很大:

比对象的内容是否相等使用equals(),比较两个引用是否指向同一个对象时用==;equals()是看内容是否相等,比较好理解。而==是看是否属于同一个对象。

首先还要明白这个概念:常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。主要看编译期字符串能否确定。

String的intern()方法

当调用intern()方法时,如果常量池中已经包含一个等于此String 对象的字符串(该对象由 equals(Object) 方法确定),则返回常量池中的字符串;否则,将此String 对象添加到常量池中,并且返回此 String 对象的引用。

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.sodocs.net/doc/e08580684.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

复试理论力学重点面试问题知识点总

复试理力重点知识点总结 静力学 第一章静力学基础 1、掌握平衡、刚体、力的概念以及等效力系和平衡力系,静力学公理。 2、掌握柔性体约束、光滑接触面约束、光滑铰链约束、固定端约束和球铰链的性质。 3、熟练掌握如何计算力的投影和平面力对点的矩,掌握空间力对点的矩和力对轴之矩的计算方法,以及力对轴的矩与对该轴上任一点的矩之间的关系。 4、对简单的物体系统,熟练掌握取分离体并画出受力图。 第二章力系的简化 1、掌握力偶和力偶矩矢的概念以及力偶的性质。 2、掌握汇交力系、平行力系、力偶系的简化方法和简化结果。 3、熟练掌握如何计算主矢和主矩;掌握力的平移定理和空间一般力系和平面力系的简化方法和简化结果。 4、掌握合力投影定理和合力矩定理。 5、掌握计算平行力系中心的方法以及利用分割法和负面积法计算物体重心。 第三章力系的平衡条件 1、了解运用空间力系(包括空间汇交力系、空间平行力系和空间力偶系)的平衡条件求解单个物体和简单物体系的平衡问题。 2、熟练掌握平面力系(包括平面汇交力系、平面平行力系和平面力偶系)的平衡条件及其平面力系平衡方程的各种形式;熟练掌握利用平面力系平衡条件求解单个物体和物体系的平衡问题。

3、了解静定和静不定问题的概念。 4、掌握平面静定桁架计算内力的节点法和截面法,掌握判断零力杆的方法。 第四章摩擦 1、掌握运用平衡条件求解平面物体系的考虑滑动摩擦的平衡问题。 2、了解极限摩擦定律、滑动摩擦系数、摩擦角、自锁现象、摩阻的概念。 运动学 第五章点的运动 1、掌握描述点的运动的矢量法、直角坐标法和弧坐标法,能求点的运动方程。 2、熟练掌握如何计算点的速度、加速度及其有关问题。 第六章刚体的基本运动 1、掌握刚体平动和定轴转动的特征;掌握刚体定轴转动的转动方程、角速度和角加速度;掌握定轴转动刚体角速度矢量和角加速度矢量的概念以及刚体内各点的速度和加速度的矢积表达式。 2、熟练掌握如何计算定轴转动刚体的角速度和角加速度、刚体内各点的速度和加速度。 第七章点的复合运动 1、掌握运动合成和分解的基本概念和方法。 2、理解xx加速度的原理。 3、熟练掌握点的速度合成定理和牵连运动为平动时的加速度合成定理的应用。 4、掌握牵连运动为定轴转动时加速度合成定理和应用。

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/e08580684.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.sodocs.net/doc/e08580684.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/e08580684.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.sodocs.net/doc/e08580684.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.sodocs.net/doc/e08580684.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java" 中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量 c 的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main 方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

数据库面试基础知识总结

1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式 提示: (1). 概念模式:(面向单个用户的) 是数据中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。 (2). 外模式:(面向全局的) 是用户与数据库系统的接口,是用户用到的那部分数据的描述。它由若干个外部记录类型组成。(3). 内模式:(面向存储的) 是数据库在物理存储方面的描述,它定义所有的内部记录类型、索引、和文件的组织方式,以及数据控制方面的细节。 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应与同一个模式可以有任意多个外模式。在数据库中提供两级映像功能,即外模式/模式映像和模式/内模式映像。对于没一个外模式,数据库系统都有一个外模式/模式映像它定义了该外模式与模式之间的对应关系。这些映像定义通常包括在各自外模式的描述中,当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了

数据的逻辑独立性。数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而保证了数据的物理独立性。 2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control) 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等 数据操纵:Select ,insert,update,delete,数据控制:grant,revoke 3. SQL常用命令 CREATE TABLE Student( ID NUMBER PRIMARY KEY, NAME VARCHAR2(50) NOT NULL);//建表 CREATE VIEW view_name AS Select * FROM Table_name;//建视图 Create UNIQUE INDEX index_name ON TableName(col_name);//建索引 INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入 INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入视图实际影响表 UPDA TE tablename SET name=’zang 3’ condition;//更新数据 DELETE FROM Tablename WHERE condition;//删除 GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权

Java面试测试题并赋予答案

在main(String[] args)方法内是否可以调用一个非静态方法? 1.不能 同一个文件里是否可以有两个public类? 2.不能 方法名是否可以与构造器的名字相同? 3.可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4.初始化了一个没有run()方法的线程类,是否会出错? 4.不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args)

{ ThreadClass t = new ThreadClass(); Thread thread = new Thread(t); thread.start(); System.out.println("end"); } } class ThreadClass implements Runnable { public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。 { System.out.println("Threads"); } } 局部内部类是否可以访问非final变量? 不能访问局部的非final修饰的变量,可以访问局部的使用了final修饰的变量,可以访问成员变量(全局的)。 class Out { private String name = "https://www.sodocs.net/doc/e08580684.html,"; void print() { final String work = "out.local.work";//若不是final的则不能被Animal 使用. int age=10; class Animal //定义一个局部内部类.只能在print()方法中使用. //局部类中不能使用外部的非final的局部变量.全局的可以. { public void eat() { System.out.println(work);/ /ok //age=20;//error not final,编译时就会出错 System.out.println(name);/ /ok. } } Animal local = new Animal(); local.eat(); }

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1B) $1C) _1D) 11 2.有一段java应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.javaB) a1.classC) a1D)都对 3.整型数据类型中,需要内存空间最少的是(D) A) shortB) longC) intD) byte 4. Java类可以作为(C) A)类型定义机制 B)数据封装机制 C)类型定义机制和数据封装机制 D)上述都不对 5.在创建对象时必须(C) A)先声明对象,然后才能使用对象 B)先声明对象,为对象分配内存空间,然后才能使用对象 C)先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D)上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A)用基本数据类型作为参数 B)用对象作为参数 C) A和B都对

D) A和B都不对 7. Java中(C) A)一个子类可以有多个父类,一个父类也可以有多个子类 B)一个子类可以有多个父类,但一个父类只可以有一个子类 C)一个子类可以有一个父类,但一个父类可以有多个子类 D)上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)A)安全性B)多线性C)跨平台D)可移植 9. Character流与Byte流的区别是(C) A)每次读入的字节数不同B)前者带有缓冲,后者没有C)前者是字符读写,后者是字节读写D)二者没有区别,可以互换使用 10.以下声明合法的是(D) A、defaultStrings; B、publicfinalstaticnativeintw( ) C、abstractdoubled; D、abstractfinaldoublehyperbolicCosine( ) 11.关于以下application的说明,正确的是(C) 1.classStaticStuff 2.{ 3.staticintx=10; 4.static{ x+=5;} 5.publicstaticvoidmain(Stringargs[ ]) 6.{ 7.System.out.println(“x=”+ x);

大数据库面试基础知识总结材料

1. 数据抽象:物理抽象、概念抽象、视图级抽象,模式、模式、外模式 提示: (1). 概念模式:(面向单个用户的) 是数据中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。 (2). 外模式:(面向全局的) 是用户与数据库系统的接口,是用户用到的那部分数据的描述。它由若干个外部记录类型组成。(3). 模式:(面向存储的) 是数据库在物理存储方面的描述,它定义所有的部记录类型、索引、和文件的组织方式,以及数据控制方面的细节。 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应与同一个模式可以有任意多个外模式。在数据库中提供两级映像功能,即外模式/模式映像和模式/模式映像。对于没一个外模式,数据库系统都有一个外模式/模式映像它定义了该外模式与模式之间的对应关系。这些映像定义通常包括在各自外模式的描述中,当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。数据库中只有一个模式,也只有一个模式,所以模式/模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/模式映像做相应改变,可以使模式保持不变,从而保证了数据的物理独立性。 2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control) 数据定义:Create Table,Alter Table,Drop Table,Craete/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制:grant,revoke 3. SQL常用命令 CREATE TABLE Student( ID NUMBER PRIMARY KEY, NAME V ARCHAR2(50) NOT NULL);//建表 CREATE VIEW view_name AS Select * FROM Table_name;//建视图 Create UNIQUE INDEX index_name ON TableName(col_name);//建索引 INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入 INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入视图实际影响表 UPDA TE tablename SET name=’zang 3’ condition;//更新数据 DELETE FROM Tablename WHERE condition;//删除 GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权 REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权 列出工作人员及其领导的名字: Select https://www.sodocs.net/doc/e08580684.html,,https://www.sodocs.net/doc/e08580684.html, FROM EMPLOYEE E S WHERE E.SUPERName=https://www.sodocs.net/doc/e08580684.html, 4. 视图 提示: 计算机数据库中的视图是一个虚拟表,其容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

IE工业工程师面试基本知识

IE工业工程师面试基本知识 一、工业工程:用系统工程学及管理学的思想方法对组织系统的功能结构和界面进行分析、设计、优化以解决用低成本与高质量的实现矛盾问题。 二、IE八大应用范围:工程分析、价值分析、动作研究、工作标准、时间研究、时间标准、工厂布置、搬运设计 三、工业工程八大目标:可获利性(Profitability)、有效性(Effectiveness)、高效(Efficiency)、 适应性(Adaptability)、响应性(Responsiveness)、高质量(High Quality)、持续改进(Continuous Improvement)、经济可承受行(Economic Affordability)。 四、工业工程八大意识:1、以人为中心意识2、问题改革意识3、全局意识4、简化意识5、成本效益意识6、快速响应意识7、持续改进意识8、创新意识。 五、工业工程七大手法:动改法、防错法、五五法、人机法、双手法、流程法、抽查法 六、工业工程九大浪费:库存浪费、搬运浪费、等待浪费、加工浪费、动作浪费、缺陷浪费、缺货浪费、积压浪费、管理浪费 七、标准工时=实测时间×评核系数×(1+宽放率) take time[color=#000000] (生产节拍,这个非常重要,笔者在初入职场面试时数次被人问到这个问题)[/color]八、生产线平衡率=各工序时间总和/(最长工序时间*人数) (其中:最长工作时间(pitch time)=生产线循环周期(cycle time)简称:CT) 九、NPI (New Product Introduction) 新产品导入步骤: 1.产品信息的收集(BOM,Gerber及客户品质要求); 2.Team work(新产品可行性评估); 3.PM会议分配工作(各部门执行责任本职工作); 4.PE建立BOM表,工治具的申购,及编写作业流程,SOP作业文件; 5.量产(问题反馈及跟踪改善); 6.正式投入生产. 十、QC七大手法:一、关系图法,二、归类合并图法(KJ法),三、系统图法,四、矩阵图法,五、矩阵数据分析法,六、过程决定程序图(PDPC法),七、矢线图法。 十一、精益生产的12条原则:一、消除八大浪费,二、关注流程,提高总体效益,三、建立无间断流程以快速应变,四、降低库存,五、全过程的高质量,一次做对,六、基于顾客需求的拉动生产,七、标准化与工作创新,八、尊重员工,给员工授权,九、团队工作,十、满足顾客需要,十一、精益供应链,十二、“自我反省”和“现地现物”。

Java基础试题及其答案

J a v a基础试题及其答案 The latest revision on November 22, 2020

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复的 c) HashMap Map(key/value)重复定义:hashCode、equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5; Sys((a%2==1) (a+1) /2:a/2) ;三目表达式 } } (选择一项) a)1 b)2

电气专业面试知识点整理

1电气工程基础 1.1绪论 1、电力网:由变电站和不同电压等级输电线路组成的网络称为电力网(不包括发电部分与用户);电力系统:由发电厂在内的发电机、电力网以及用户的各种用电设备组成;动力系统:在电力系统的基础上还包括了发电机的动力部分。 2、变电站一般分为枢纽变电站、中间变电站、地区变电站、终端变电站。 3、为什么要将各个孤立的发电厂互相连接成电力系统?这是因为:可以提高供电可靠性、可以减少备用容量、可以减少系统装机容量、可充分发挥水电在系统中的作用、可采用高效率大容量的火电机组、可提高系统运行的经济性。 4、电力系统的特点:电能不能大量存储、过渡过程十分短暂、电能生产与国民经济各部门和人民生活密切相关、地区特点较强。 5、对电力系统的要求:保证供电可靠性、保证良好的电能质量、为用户提供充足的电力、提高电力系统运行经济性。 6、衡量电能质量的三大指标:电压、频率、波形。(我国3000MW及以上系统频率偏差不超过0.2Hz,3000MW以下系统频率偏差不超过0.5Hz)。 7、谐波电压是指谐波电流在谐波阻抗上的压降。系统谐波阻抗近似与系统短路容量成反比。所以电网公共连接点的短路容量越大,其谐波阻抗越小,则允许注入该点的谐波电流也越大。 8、电力系统的电压等级包括系统用的额定电压和最高电压,电气设备用的额定电压和最高电压。 1.2接地 9、为了保证电力网或电气设备的正常运行和工作人员的人身安全,人为地使电力网及其某个设备的某一特定地点通过导体与大地作良好的连接,称为接地。这种接地包括:工作接地、保护接地、保护接零、防雷接地、防静电接地等。 10、工作接地所采用的中性点接地方式主要包括有:不接地、经消弧线圈接地、直接接地、经电阻接地等等。

Java基础面试题

Java常见面试题集--面试题全面综合(一) Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2、ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说. 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却是原来的一半 就HashMap与HashTable主要从三方面来说。 一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 3、char型变量中能不能存贮一个中文汉字?为什么? 答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的 4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify 5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass() { System.out.println(\"FatherClass Create\"); } } 子类:

java基础面试全集

Java面试题大全 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大型网站技术架构、设计模式、UML、spring MVC等内容并对很多知识点进行了深入的剖析,例如hashCode方法的设计、垃圾收集、并发编程、数据库事务等。当时我甚至希望把面试中经常出现的操作系统、数据库、软件测试等内容也补充进去,但是由于各种原因,最终只整理出了150道面试题。让我欣慰的是,这150道题还是帮助到了很多人,而且在我CSDN 博客上的总访问量超过了5万次,最终还被很多网站和个人以原创的方式转载了。最近一年内,用百度搜索”Java面试”我写的这些东西基本上都排在搜索结果的前5名,这让我觉得”亚历山大”,因为我写的这些东西一旦不准确就可能误导很多人。2014年的时候我又整理了30道题,希望把之前遗漏的面试题和知识点补充上去,但是仍然感觉挂一漏万,而且Java 8问世后很多新的东西又需要去总结和整理。为此,我不止一次的修改了之前的180题,修改到自己已经感觉有些疲惫或者厌烦了。2014年至今,自己带的学生又有很多走上了Java程序员、Java工程师的工作岗位,他们的面试经验也还没来得及跟大家分享,冥冥之中似乎有一股力量在刺激我要重新写一篇《Java面试题全集》,于是这篇文章就诞生了。请不要责备我把那些出现过的内容又写了一次,因为每次写东西就算是重复的内容,我也需要对编程语言和相关技术进行重新思考,不仅字斟句酌更是力求至臻完美,所以请相

Linux笔试面试知识点总结

Linux笔试面试知识点总结 在Linux的笔试中常会考察一些知识点。这里我们就来总结一下有可能出现的知识点都有哪些。 1. 在Linux系统中,以文件方式访问设备。 2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统。 3. Linux文件系统中每个文件用i节点(inode)来标识。 4. 全部磁盘块由四个部分组成,分别为引导块、专用块、i节点表块和数据存储块。 5. 链接分为:硬链接和符号链接。 6. 超级块包含了i节点表和空闲块表等重要的文件系统信息。 7. 某文件的权限为:drw-_r--_r--,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。/*rwx---421,徐波2011年3月31日18:24:27*/ 8. 前台起动的进程使用Ctrl+c终止。 9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。 10. 网络管理的重要任务是:控制和监控。 11. 安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。 13. 编写的Shell程序运行前必须赋予该脚本文件执行权限。 14. 系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全保护、备份、恢复和更新。 15. 系统交换分区是作为系统虚拟存储器的一块区域。 16. 内核分为进程管理系统、内存管理系统、I/O管理系统和文件管理系统等四个子系统。 17. 内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。 18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。 19. 唯一标识每一个用户的是用户ID和用户名。 20 . RIP协议是最为普遍的一种内部协议,一般称为动态路由信息协议。 21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。 22.DHCP可以实现动态IP地址分配。/*Dynamic Host Configuration Protocol, DHCP*/ 23. 系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。 24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。 25. 当想删除本系统用不上的设备驱动程序时必须编译内核,当内核不支持系统上的设备驱动程序时,必须对内核升级。 26 Ping命令可以测试网络中本机系统是否能到达一台远程主机,所以常常用于测试网络的连通性。 27. vi编辑器具有两种工作模式:命令模式和输入模式。/*命令模式、输入模式、底行模式*/ 28. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占1 位,表示文件类型,第二段占3位,表示文件所有者对该文件的权限。 29. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为:运行态、就绪态和等待态(阻塞态)。

相关主题