2024年4月25日发(作者:)

软通动力面试题

1. static关键字的用法。

比较简单。

2.值传递和引用传递。

笔试题目出现在次数比较多,例如写程序运行结果的题:

的不变模式。

主要考查String、StringBuilder、StringBuffer三者的区别。

4. 内部类的种类。

成员内部类、局部内部类、静态内部类、匿名内部类

5.如何实现多继承。

比较简单,一般都没什么问题。答出继承类的同时可以实现接口即

可。

,finalize和finally的用法。

比较简单。

7.异常处理流程。

异常的处理机制、throw 和throws的区别。对运行时异常的理解、

Exception与Error的区别、回答出几种常见的运行时异常、如何自定义异

常等问题较常见。

8.节点流和过滤流的区别。

节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域。

过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的

输入流或输出流连接创建的。

FileInputStream和FileOutputStream,节点流,用于从文件中读取或

往文件中写入字节流。如果在构造FileOutputStream时,文件已经存在,

则覆盖这个文件。

BufferedInputStream和BufferedOutputStream,过滤流,需要使用

已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率。

DataInputStream和DataOutputStream,过滤流,需要使用已经存在

的节点流来构造,提供了读写Java中的基本数据类型的功能。

PipedInputStream和PipedOutputStream,管道流,用于线程间的通

信。一个线程的PipedInputStream对象从另一个线程的

PipedOutputStream对象读取输入。要使管道流有用,必须同时构造管道

输入流和管道输出流。

9.字节流如何转换为字符流。

如果是字符串在程序中的处理,应该是指String与Byte[]的转换,

String类是提供了相应的方法。

如果是文件处理的话,所有的InputStrem和OutputStream的子类都

主要用在处理二进制数据,它是按字节来处理的

但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机

的encode来处理,也就是要进行字符集的转化

这两个之间通过 InputStreamReader,OutputStreamWriter来关联,

实际上也是通过byte[]和String来关联。

10.如何控制多线程并发处理,在访问临界资源时线程之间是如何通

信的。

此题主要考查对多线程的处理,线程之间的通信方式。涉及到的问题

有:

多线程的实现方式、sleep/wait/notify/notifyAll/synchronized等的用

法等。

11.左外连接和等值连接的区别。

等值连接又称内连接,需要理解左外连接、右外连接、内边拉、全外

连接的区别。其运行结果和表达的范围是不一样的。

12.

如何保证业务方法的原子操作。

原子操作主要体现在多任务、多线程的环境中,一般业务方法的原子

操作常用的有数据库事务的处理,即如何保证事务处理的完整性以及发生

异常时的处理方法。

13.如何产生指定位数的随机数。

最后的编程题,题目是:写一个方法,随机产生指定长度的字符串,

要求包含大小写字母、数字。

14. 进制之间转换的思路。

最后的编程题,题目是:写一个方法,将给定的七进制数转换成十进

制输出。

2工作流程。

笔试的时候一般不会有Struts的题目,面试的时候如果没有用过

JSF,可能会从Struts方面对其进行BS项目经验的考查,一般如果使用