首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

几个面试题,大家都来说说吧.解决思路

2012-03-12 
几个面试题,大家都来说说吧..1、写一个SOCKET 把www.baidu.com首页的内容读取下来2、熟悉TOMCAT么..说说TOMC

几个面试题,大家都来说说吧..
1、写一个SOCKET 把www.baidu.com首页的内容读取下来

2、熟悉TOMCAT么..说说TOMCAT的线程池实现..

3、熟悉连接池么..说说连接池的实现思路和方式

4、servlet是线程安全的么..如果不是,在高并发环境下,代码的编写要注意哪些地方?

5、Struts中Action是线程安全的吗?如果不是,请说出理由.在Struts可以定义静态变量吗? 

6、hibernate的session是线程安全的么?如果是,实现机制是什么?

7、SPRING事务的属性有哪些?其中,事务隔离级别有哪几种?什么情况需要使用这几种事务隔离级别?

8、你们项目的并发问题的解决策略是什么?

9、了解ORACLE的锁么?说说锁机制。

10、是否熟悉ORACLE的优化,如果现在的我的硬盘灯一直在闪的话,怎么有优化,说说思路.


[解决办法]
帮忙顶,不会答,等待大牛们回答!
[解决办法]
搬板凳,坐等学习!
[解决办法]
要是去面试,是这份题目,呵呵,你可以直接了当的问,不做题目,有机会面试咩。有的话,那就直接面试吧。木有的话,那就多跟那接待的MM聊聊天就算了..
[解决办法]
1、写一个SOCKET 把www.baidu.com首页的内容读取下来
不懂。。
2、熟悉TOMCAT么..说说TOMCAT的线程池实现..
不懂。。
3、熟悉连接池么..说说连接池的实现思路和方式
当程序启动的时候,创建多个数据库的连接,并把连接放入到连接池中,当要操作数据库的时候,从连接池中获取连接来操作数据库,操作结束之后不关闭连接,而是把连接放入到连接池中。这样可以减少创建和销毁连接所产生的开销,提高效率。
4、servlet是线程安全的么..如果不是,在高并发环境下,代码的编写要注意哪些地方?
不是线程安全的,不要对servlet的成员变量进行修改操作,如果要操作,需要使用synchronized修饰
5、Struts中Action是线程安全的吗?如果不是,请说出理由.在Struts可以定义静态变量吗? 
不是,struts是用ActionServlet类来拦截客户端请求的(在web.xml里配置),ActionServlet也是servlet
6、hibernate的session是线程安全的么?如果是,实现机制是什么?
不懂
7、SPRING事务的属性有哪些?其中,事务隔离级别有哪几种?什么情况需要使用这几种事务隔离级别?
不懂
8、你们项目的并发问题的解决策略是什么?
加synchronizd,不修改类属性
9、了解ORACLE的锁么?说说锁机制。
不懂
10、是否熟悉ORACLE的优化,如果现在的我的硬盘灯一直在闪的话,怎么有优化,说说思路.
不懂
[解决办法]
1、写一个SOCKET 把www.baidu.com首页的内容读取下来

这不过是一个最简单http的协议[获取页面的get],直接使用socket模拟协议内容就能实现.

2、熟悉TOMCAT么..说说TOMCAT的线程池实现..

概念性问题,请百度.

3、熟悉连接池么..说说连接池的实现思路和方式

概念性问题,请百度.

4、servlet是线程安全的么..如果不是,在高并发环境下,代码的编写要注意哪些地方?

概念性问题,请百度.

5、Struts中Action是线程安全的吗?如果不是,请说出理由.在Struts可以定义静态变量吗?

跟上面一个问题在同一个地方,(Struts1不是Struts2是)

6、hibernate的session是线程安全的么?如果是,实现机制是什么?

概念性问题,请百度.

7、SPRING事务的属性有哪些?其中,事务隔离级别有哪几种?什么情况需要使用这几种事务隔离级别?

概念性问题,请百度.

8、你们项目的并发问题的解决策略是什么?

b/s项目来说一般web并发都被容器自动处理了,要处理的也就是数据库并发和自己的线程并发,这方面实际经验才是重要的,但你也可以百度知道一些.并发需要关心的关键:1并发量;2.并发带来的问题(线程安全问题,锁问题)

9、了解ORACLE的锁么?说说锁机制。

概念性问题,请百度.

10、是否熟悉ORACLE的优化,如果现在的我的硬盘灯一直在闪的话,怎么有优化,说说思路.
硬盘灯一直在闪=大量i/o读写,思路就在如何i/o,应用数据库性能在乎的是运算,数据仓库在乎的是i/o

不要指望能不思考就“获得”答案。

[解决办法]
1、写一个SOCKET 把www.baidu.com首页的内容读取下来

Java code
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.InputStreamReader;import java.net.URL;public class URLReader {   public static void main(String[] args)    {        URL url=new URL("http://www.baidu.com");        File writeFiel=new File("d:\\baidu.html");        BufferedReader int=new BufferedReader(new InputStreamReader(rul.openStream()));        BufferedWriter out=new BufferedWriter(new FileWriter(writeFile));        String inputLine=null;        while((inputLine=in.readLine())!=null)        {           out.write(inputLine);        }        out.flush();        in.close();        out.close();    }}
[解决办法]
第六题 hibernate session 是通过 ThreadLocal来避免线程安全问题的
[解决办法]
学习一下
[解决办法]
这个问得还不错。。。
------解决方案--------------------


单纯路过学习的
[解决办法]
一样

探讨
单纯路过学习的

[解决办法]
学习学习~~
[解决办法]
不懂, 来学习学习。
[解决办法]
呵呵!看来我要学习了
[解决办法]
基本很忧郁!

[解决办法]
1、写一个SOCKET 把www.baidu.com首页的内容读取下来
Java code
import java.nio.ByteBuffer;import java.nio.channels.SocketChannel;import java.nio.charset.Charset;import java.net.InetSocketAddress;import java.io.IOException;public class BaiduReader {  private Charset charset = Charset.forName("GBK"); // 创建GBK字符集  private SocketChannel channel;  public void readHTMLContent() {    try {      InetSocketAddress socketAddress = new InetSocketAddress(          "www.baidu.com", 80);//step1:打开连接      channel = SocketChannel.open(socketAddress);      //step2:发送请求,使用GBK编码      channel.write(charset.encode("GET " + "/ HTTP/1.1" + "\r\n\r\n"));      //step3:读取数据      ByteBuffer buffer = ByteBuffer.allocate(1024); // 创建1024字节的缓冲      while (channel.read(buffer) != -1) {        buffer.flip(); // flip方法在读缓冲区字节操作之前调用。        System.out.println(charset.decode(buffer));        // 使用Charset.decode方法将字节转换为字符串        buffer.clear(); // 清空缓冲      }    }    catch (IOException e) {      System.err.println(e.toString());    }    finally {      if (channel != null) {        try {          channel.close();        }        catch (IOException e) {        }      }    }  }  public static void main(String[] args) {    new BaiduReader().readHTMLContent();  }}
[解决办法]
不错的帖子,学习了!
[解决办法]
一点不懂 要学习的还多啊
[解决办法]
探讨

1、写一个SOCKET 把www.baidu.com首页的内容读取下来
Java code

import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
import java.net.InetSocketAddress;
import java.io……

[解决办法]
....
1.17L用的是URL 不算是用Socket(我觉得面试官除了考你如果使用Socket还在考验你是否熟悉HTTP报文格式)
2.我不太熟悉这个
3.熟悉 实现方式很多 简单的有 复杂的也有 具体的我会在面试的时候阐述
4.非线程安全 具体的我会在面试的时候阐述
5.非线程安全 不过struts2为每次请求创建一个Action对象(如果你通过其他途径创建Action对象 比如用Spring管理 而且你还将scope设置为单例 那就不是每次请求创建了) 具体的我会在面试的时候阐述
6.不清楚 我都不知道他这个题主要是针对哪个问的 具体的我会在面试的时候阐述
7.不知道
8.什么情况下的并发?具体的我会在面试的时候阐述
9.不了解
10.不知道

人总有擅长和不擅长的 谁都不是全能选手 所以不会的东西就说不会 会的东西就写的好一点
再者,这一类题我很少用手写 因为有些题的意义不明 这样的话也就没有标准答案 我如果在去面试的时候遇到类似的笔试题我会直接申请与对方的技术人员交流在面试的时候谈这些事情(也有不接受的 那样我就没什么兴趣了) 相信我 这样的话 给对方留下的印象会更深刻的
[解决办法]
探讨
引用:
引用:

1、写一个SOCKET 把www.baidu.com首页的内容读取下来

这不过是一个最简单http的协议[获取页面的get],直接使用socket模拟协议内容就能实现.

2、熟悉TOMCAT么..说说TOMCAT的线程池实现..

概念性问题,请百度.

3、熟悉连接池么..说说连……

[解决办法]
看到这些面试题,明年就要实习的我感觉压力很大啊,很多东西虽然还是明白点,但是让我说我还真说不出来。socket读取百度首页内容的那个我尝试写了一下,发现很多自己以前不注意的问题。给大家分享一下代码,欢迎指正


package httppraser;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


import java.io.InputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class BaiduSocket {

public static void main(String[] args) {
Socket socket = null;
InputStream is = null;
FileOutputStream fos = null;
PrintWriter out = null;

try {
socket = new Socket("www.baidu.com", 80);
System.out.println("成功建立连接.....");
out = new PrintWriter(socket.getOutputStream());
out.println("GET / HTTP/1.1");
out.println("Host: www.baidu.com:80");
out.println("Connection: Close");
out.println();
out.flush();
System.out.println("请求结束");
is = socket.getInputStream();
fos = new FileOutputStream(new File("E:/baidu.txt"));
byte[] bytes = new byte[1024];
int count = -1;
StringBuffer buf = new StringBuffer();
while ((count = is.read(bytes,0,bytes.length)) != -1) {

fos.write(bytes, 0, count);
buf.append(new String(bytes,0,count));
//System.out.println(new String(bytes,0,count));
}
String content = buf.toString();
//是否打印响应头信息,如果要打印头信息注释掉下面这行代码
content = content.substring(content.indexOf("<"));
System.out.println(content);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if(out != null) {
out.close();
}
if (is != null) {
is.close();
}
if (fos != null) {
fos.close();
}
if(socket != null) {
socket.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}

}

}

[解决办法]
线程、IO、socket、事务。基本就这几个,基础理解清楚就可以了。
[解决办法]
1、写一个SOCKET 把www.baidu.com首页的内容读取下来
分为doGet请求和doPost请求
public final class NetWww {
private static Log log = LogFactory.getLog(NetWww.class);

/**
* 执行一个HTTP GET请求,返回请求响应的HTML

* @param url
* 请求的URL地址
* @return 返回请求响应的HTML
* @throws IOException
*/
public static String doGet(String url) throws IOException {
String response = null;
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod(url);
try {

client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
response = method.getResponseBodyAsString();
}

} catch (IOException e) {
e.printStackTrace();
throw new IOException("执行HTTP doget请求" + url + "时,发生异常!", e);
} finally {
method.releaseConnection();
}
return response;
}

/**
* 执行一个HTTP POST请求,返回请求响应的HTML

* @param url
* 请求的URL地址
* @return 返回请求响应的HTML
* @throws IOException
*/

public static String doPost(String url) throws IOException {
String response = null;
HttpClient client = new HttpClient();
HttpMethod method = new PostMethod(url);
try {
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
response = method.getResponseBodyAsString();
}
} catch (IOException e) {
e.printStackTrace();
throw new IOException("执行HTTP dopost请求" + url + "时,发生异常!", e);
} finally {
method.releaseConnection();
}

return response;
}

public static void main(String[] args) throws IOException {


x=doGet("http://www.hao123.com/");
System.out.println(x);
}
}
[解决办法]
学习学习了!
[解决办法]
学习了 .............
[解决办法]
俺都不懂,学习了!
[解决办法]
感觉还好
[解决办法]
还要多学习!!!惭愧啊。。。

热点排行