应聘Java笔试时可能出现问题及其答案 (1).doc

应聘Java笔试时可能出现问题及其答案 (1).doc

格式: doc 页数: 19 文件大小: 0MB
应聘Java笔试时可能出现问题及其答案 (1).doc 有感:应聘 Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为 <<有感: 应聘 Java 笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定 有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。 希望本文能够给即将奔赴笔试考场的同仁些许帮助,更希望更多的人加入到收集整理笔试题与完善答案的 这些工作中来,为大家更好的获得工作机会做一点贡献。 在此感谢前面两文的作者的对笔试题目的收集与整理。 如有任何意见与建议请通过 QQ:6045306,Mail:huijunzi@21cn.com 与我联系。 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"); } } 子类: package test; import test.FatherClass; public class ChildClass extends FatherClass { public ChildClass() { System.out.println("ChildClass Create"); } public static void main(String[] args) { FatherClass fc = new FatherClass(); ChildClass cc = new ChildClass(); } } 输出结果: C:\>java test.ChildClass FatherClass Create FatherClass Create ChildClass Create 6、内部类的实现方式? 答:示例代码如下: package test; public class OuterClass { private class InterClass { public InterClass() { System.out.println("InterClass Create"); } } public OuterClass() { InterClass ic = new InterClass(); System.out.println("OuterClass Create"); } public static void main(String[] args) { OuterClass oc = new OuterClass(); } } 输出结果: C:\>java test/OuterClass InterClass Create OuterClass Create 再一个例题: public class OuterClass { private double d1 = 1.0; //insert code here } You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.) A. class InnerOne{ public static double methoda() {return d1;} } B. public class InnerOne{ static double methoda() {return d1;} } C. private class InnerOne{ double methoda() {return d1;} } D. static class InnerOne{ protected double methoda() {return d1;} } E. abstract class InnerOne{ public abstract double methoda(); } 说明如下: 一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错 二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 故 D 错 三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确 四.答案为 C、E 7、垃圾回收机制,如何优化程序? 希望大家补上,谢谢 8、float 型 float f=3.4 是否正确? 答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 9、介绍 JAVA 中的 Collection FrameWork(包括如何写自己的数据结构)? 答:Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection 是最基本的集合接口,一个 Collection 代表一组Object,即 Collection 的元素(Elements) Map提供 key 到 value 的映射 10、Java 中异常处理机制,事件机制? 11、JAVA 中的多形与继承? 希望大家补上,谢谢 12、抽象类与接口? 答:抽象类与接口都用于抽象,但是抽象类(JAVA 中)可以有自己的部分实现,而接口则完全是一个标识 (同时有多重继承的功能)。 13、Java 的通信编程,编程题(或问答),用 JAVA SOCKET 编程,读服务器几个字符,再写入本地显示? 答:Server端程序: package test; import java.net.*; import java.io.*; public class Server { private ServerSocket ss; private Socket socket; private BufferedReader in; private PrintWriter out; public Server() { try { ss=new ServerSocket(10000); while(true) { socket = ss.accept(); String RemoteIP = socket.getInetAddress().getHostAddress(); String RemotePort = ":"+socket.getLocalPort(); System.out.println("A client come in!IP:"+RemoteIP+RemotePort); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = in.readLine(); System.out.println("Cleint send is :" + line); out = new PrintWriter(socket.getOutputStream(),true); out.println("Your Message Received!"); out.close(); in.close(); socket.close(); } }catch (IOException e) { out.println("wrong"); } } public static void main(String[] args) { new Server(); } }; Client端程序: package test; import java.io.*; import java.net.*; public class Client { Socket socket; BufferedReader in; PrintWriter out; public Client() { try { System.out.println("Try to Connect to 127.0.0.1:10000"); socket = new Socket("127.0.0.1",10000); System.out.println("The Server Connected!"); System.out.println("Please enter some Character:"); ...