3.0 一般的面试 |
一般的经历 | 得到工作并接受 |
面试过程
软通动力面试题
面试问题
1.静态变量的作用。const,Volatile,synchrnize什么情况下使用?如何声明一个常量。在C语言中,关键字static有三个明显的作用:
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
final Object obj=new Object();
补充:
可以把成员变量改成private类型的,并且"只能"在构造方法里面赋初值,这样就不可以以后改动了
再次补充:
class A
{
public int i=0; //这里因为是public的,所以a.i=1是可以的,如果改成private就非法了,也就无法通过对象修改i的值了
}
2.用于线程实现的类和接口分别是什么?简单举出使用范例。Thread类本身也是实现了Runnable接口,我们直接继承Thread类,其中又很多辅助方法,可以供我们使用,这样我们的工作就会轻松一些,也可以实现Runnable接口实现线程
线程:Thread & Runnable
class ClassTest extends Thread
{
public void run()
{
//在这里实现线程代码
}
}
class InterfaceTest implements Runnable
{
public void run()
{
//在这里实现线程代码
}
}
3.java.io.reader和java.io.inputstream的区别。
java.io.Reader和java.io.InputStream组成了Java输入类。Reader用于读入16位字符,也就是Unicode编码的字符;而 InputStream用于读入ASCII字符和二进制数据。
在Java中,有不同类型的Reader输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader用于从程序中的字符数组输入;
StringReader用于从程序中的字符串输入;
PipedReader用于读取从另一个线程中的PipedWriter写入管道的数据。相应的也有不同类型的InputStream输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket用于套接字;
URLConnection用于URL连接。
这两个类使用getInputStream()来读取数据。
4.设计一个servlet读取客户端上载的文件,继承自那个类?支持post/get操作要实现哪些方法?简述如何读取上载文件。
common-fileupload组件
下载地址:http://jakarta.apache.org/commons/fileupload/
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps\你的webapp\WEB-INF\lib\下
Create a servlet
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class Upload extends HttpServlet {
private String uploadPath = "C:\\upload\\"; // 用于存放上传文件的目录
private String tempPath = "C:\\upload\\tmp\\"; // 用于存放临时文件的目录
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem fi = (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
if(fileName!=null) {
// 在这里可以记录用户和文件信息
// ...
// 写入文件a.txt,也可以从fileName中提取文件名:
fi.write(new File(uploadPath "a.txt"));
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
}
}
//当servlet收到浏览器发出的Post请求后,在doPost()方法中实现文件上传。以下是示例代码:
如果要在配置文件中读取指定的上传文件夹,可以在init()方法中执行:
public void init() throws ServletException {
uploadPath = ....
tempPath = ....
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
}
配置servlet,用记事本打开tomcat\webapps\你的webapp\WEB-INF\web.xml,没有的话新建一个。典型配置如下:
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
Upload
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
final Object obj=new Object();
补充:
可以把成员变量改成private类型的,并且"只能"在构造方法里面赋初值,这样就不可以以后改动了
再次补充:
class A
{
public int i=0; //这里因为是public的,所以a.i=1是可以的,如果改成private就非法了,也就无法通过对象修改i的值了
}
2.用于线程实现的类和接口分别是什么?简单举出使用范例。Thread类本身也是实现了Runnable接口,我们直接继承Thread类,其中又很多辅助方法,可以供我们使用,这样我们的工作就会轻松一些,也可以实现Runnable接口实现线程
线程:Thread & Runnable
class ClassTest extends Thread
{
public void run()
{
//在这里实现线程代码
}
}
class InterfaceTest implements Runnable
{
public void run()
{
//在这里实现线程代码
}
}
3.java.io.reader和java.io.inputstream的区别。
java.io.Reader和java.io.InputStream组成了Java输入类。Reader用于读入16位字符,也就是Unicode编码的字符;而 InputStream用于读入ASCII字符和二进制数据。
在Java中,有不同类型的Reader输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader用于从程序中的字符数组输入;
StringReader用于从程序中的字符串输入;
PipedReader用于读取从另一个线程中的PipedWriter写入管道的数据。相应的也有不同类型的InputStream输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket用于套接字;
URLConnection用于URL连接。
这两个类使用getInputStream()来读取数据。
4.设计一个servlet读取客户端上载的文件,继承自那个类?支持post/get操作要实现哪些方法?简述如何读取上载文件。
common-fileupload组件
下载地址:http://jakarta.apache.org/commons/fileupload/
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps\你的webapp\WEB-INF\lib\下
Create a servlet
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class Upload extends HttpServlet {
private String uploadPath = "C:\\upload\\"; // 用于存放上传文件的目录
private String tempPath = "C:\\upload\\tmp\\"; // 用于存放临时文件的目录
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem fi = (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
if(fileName!=null) {
// 在这里可以记录用户和文件信息
// ...
// 写入文件a.txt,也可以从fileName中提取文件名:
fi.write(new File(uploadPath "a.txt"));
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
}
}
//当servlet收到浏览器发出的Post请求后,在doPost()方法中实现文件上传。以下是示例代码:
如果要在配置文件中读取指定的上传文件夹,可以在init()方法中执行:
public void init() throws ServletException {
uploadPath = ....
tempPath = ....
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
}
配置servlet,用记事本打开tomcat\webapps\你的webapp\WEB-INF\web.xml,没有的话新建一个。典型配置如下:
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
面试其它细节
获取职位的方式:网络上面
面试时间:2010-5
在面试过程参加了:1对1面试 职业技能测试
湖北成教网 武汉纺织大学成教
武汉轻工大学成教
湖北师范大学成教
武汉工程大学成教
长江大学成教
湖北科技学院成教
荆州教育学院成教
荆楚理工学院成教
湖北开放职业学院成教
湖北中医药高等专科学校成教
湖北理工学院成教
荆州理工职业学院成教
湖北国土资源职业学院成教
中南财经政法大学成教
武汉大学成教
武汉理工大学成教
武汉科技大学成教
华中农业大学成教
湖北工业大学成教
湖北中医药大学成教
武汉成人高考网
孝感成人高考网
荆州成人高考网
咸宁成人高考网
宜昌成人高考网
襄阳成人高考网
十堰成人高考网
武汉自考网
黄冈自考网
宜昌自考网
襄阳自考网
十堰自考网
湖北成人高考报名网
湖北自考报名网
湖北大学成教
湖北工业大学成教
湖北中医药大学成教
华中农业大学成教
武汉大学成教网
武汉科技大学成教
武汉理工大学成教
中南财经政法大学成教
上海成考网
上海自考网
中南财经政法大学自考
中南财经政法大学自考
华中师范大学自考招生网
武汉理工大学自考
湖北大学自考
华中农业大学自考
湖北中医药大学自考
湖北工业大学自考
华中师范大学自考招生网
湖北中医药大学成教
湖北中医药大学成教
武汉理工大学成教
武汉科技大学成教
武汉大学成教
湖北工业大学成教
湖北大学成教
华中农业大学成教
中南财经政法大学成教
华中师范大学成教
湖北中医药大学自考
武汉理工大学自考
武汉大学自考
湖北工业大学自考
湖北大学自考
华中农业大学自考
中南财经政法大学自考
华中师范大学自考