软通动力面试题
1. static关键字的用法。
比较简单。
2.值传递和引用传递。
笔试题目出现在次数比较多,例如写程序运行结果的题:
3.String的不变模式。
主要考查String、StringBuilder、StringBuffer三者的区别。
4. 内部类的种类。
成员内部类、局部内部类、静态内部类、匿名内部类
5.如何实现多继承。
比较简单,一般都没什么问题。答出继承类的同时可以实现接口即可。
6.final,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. 进制之间转换的思路。
pipedinputstream最后的编程题,题目是:写一个方法,将给定的七进制数转换成十进制输出。
15.Struts2工作流程。
笔试的时候一般不会有Struts的题目,面试的时候如果没有用过JSF,可能会从Struts方面对其进行BS项目经验的考查,一般如果使用
struts2做过BS项目的应该都知道。
Struts2的工作步骤一般包括如下几点:
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper 来决定这个请是否需要调用某个Ac
tion
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 ActionProxy通过Configuration Manager询问框架的配置文件,到需要调用的Action类
6 ActionProxy创建一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据l中的配置到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper
16.Spring的IOC和AOP原理。
项目中需要使用Spring,在面试的过程中也会问到此类问题。用过Spring的人对此问
题都有自己的理解。
最后的编程题应该是:
1. 写一个方法,生成一个包含大小写字母、数字的指定长度的字符串。
2. 写一个方法,将一个七进制数字转成十进制。
3. 写一个方法,读取磁盘上的一个文本文件,输出该文件的内容。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论