欢迎来到天天文库
浏览记录
ID:51812860
大小:74.50 KB
页数:11页
时间:2020-03-16
《高级软件工程师面试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、高级软件工程师、项目经理面试题1、类、对象的概念?2、简述抽象?3、接口与抽象类?4、内部类(InnerClass)?5、访问修饰符限制?6、Static、final、abstract、native、synchronized关键字的使用?11、运行时异常与一般异常有何异同?14、Http与Https?16、J2EE的容器与服务器?17、继承限制?19、列举常见集合框架类型?20、面向对象的特征?23、设计模式?26、存储过程和函数的区别?27、 游标的作用?如何知道游标已经到了最后?29、你经常看或仔细研读过的书有哪些?高级软件工程师面试题答案类、对象的概念:1)类:具有共
2、同属性和行为的对象的抽象。类是创建对象的模板。2)对象:现实世界中的实体。在计算机中,是指可标识的存储区域。3)类是对象的抽象、对象是类的实例。抽象:是从特定的实例中抽取共同性质形成一般化概念的过程。接口与抽象类:1)接口和抽象类都用于抽象,接口是抽象类的抽象。2)接口中只有方法声明,没有实现(无方法体);在接口中声明的方法具有public和abstract属性,一个类可以实现多个接口(即多继承),接口以‘,’分隔;接口中的方法必须全部实现。3)抽象类可以有部分方法实现,抽象类必须通过继承才能使用。内部类(InnerClass):1)内部类是嵌套在另一个类中的类。2)内部类
3、用于名称隐藏和程序代码的组织,另外内部类拥有直接访问其外部类所有成员(包括private的)的权限(无需任何关键字修饰)。3)内部类不可以在其他类或main方法里实例化,必须使用如下方法(非静态内部类)外部类.内部类对象名=new外部类().new内部类();静态内部类调用方式:外部类.内部类对象名=new外部类.内部类();4)非静态内部类不可以声明静态成员;静态内部类的非静态成员可以访问其外部类的静态成员,声明为静态的成员不可以访问外部的非静态成员。访问修饰符限制:Privateprotectedfriendly(default)public同类YYYY同包不同类NYY
4、Y同包子类NYYY不同包不同类NNNY不同包子类NYNYStatic关键字的使用:1)类成员,直接使用类名.成员调用。2)静态方法只能访问静态成员。3)静态方法不能使用this、super关键字。4)静态方法不能被非静态方法重写或重载。final关键字:1)被final修饰的变量为常量不能改变。2)被final修饰的方法不可以重写。3)被final修饰的类不能被继承。abstract关键字:1)被abstract修饰的类不能实例化。2)被abstract修饰的方法只能在子类中实现。native关键字:非Java语言的编写,例如JNI技术。synchronized关键字:多线
5、程的同步访问控制。11、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。(Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception:表示可恢复的
6、例外,这是可捕捉到的。Java提供了两类主要的异常:runtimeexception和checkedexception。checked异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。但是另外一种异常:runtimeexception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异
7、常还是最常见的异常之一。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。如果不想终止,则必须扑
此文档下载收益归作者所有