多语言展示
当前在线:1265今日阅读:154今日分享:43

Java应聘笔试时可能出现问题及其答案

前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 在寻找这些答案的过程中,我将相关答案记录下来,就形成了以下这些东西。需要说明的是以下答案肯定有很多不完整甚至错误的地方,需要各位来更正与完善它,千万不要扔我的鸡蛋啊。 希望本文能够给即将奔赴笔试考场的同仁些许帮助,更希望更多的人加入到收集整理笔试题与完善答案的这些工作中来,为大家更好的获得工作机会做一点贡献。 在此感谢前面两文的作者的对笔试题目的收集与整理。
工具/原料
1

2

作用域public,private,protected,以及不写时的区别

答:区别如下:  作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly END

ArrayList和Vector的区别,HashMap和Hashtable的区别
1

答:就ArrayList与Vector主要从二方面来说.  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

2

就HashMap与HashTable主要从三方面来说。 一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

char型变量中能不能存贮一个中文汉字?为什么?

答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口  同步的实现方面有两种,分别是synchronized,wait与notify

继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?(代码)
1

答:父类: 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

2

内部类的实现方式? 答:示例代码如下: 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

3

再一个例题: 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(); }

4

说明如下: 一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错 二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 故 D 错 三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确 四.答案为C、E

float型float f=3.4是否正确?

答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4

介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?

答:Collection FrameWork如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射

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:'); BufferedReader line = new BufferedReader(new InputStreamReader(System.in)); out = new PrintWriter(socket.getOutputStream(),true); out.println(line.readLine()); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); System.out.println(in.readLine()); out.close(); in.close(); socket.close(); }catch(IOException e) { out.println('Wrong'); } } public static void main(String[] args) { new Client(); } };

用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?

答:用插入法进行排序代码如下 package test; import java.util.*; class InsertSort { ArrayList al; public InsertSort(int num,int mod) { al = new ArrayList(num); Random rand = new Random(); System.out.println('The ArrayList Sort Before:'); for (int i=0;i

STRING与STRINGBUFFER的区别

答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

注意事项
1

想做项目经理架构师?那么理论知识必须要有,还要很好

2

代码要多看,了解为什么要这样子做。

3

代码谁都会写,但是思维不是谁都有

推荐信息