新浪电话面试印象深刻的一些问题

来源:互联网 发布:网络的利与弊征文字少 编辑:程序博客网 时间:2024/05/17 01:06

1.ThreadLocal:

该类提供了线程局部 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其getset 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。

2.Exception 的处理、关系:Exception extends Throwable ;Throwable extends Object implements Serializable;然后记住一些比较常用的Exception类的子类,如:

ClassNotFoundException,DataFormatException,InstantiationException,NamingException,NoSuchFieldException,ParseException,RuntimeException,SAXEcxeption,NoPointerException...

3.Tomcat原理:

Tomcat7特征:

     1. 使用随机数去防止跨站脚本攻击;
    2. 改变了安全认证中的jessionid的机制,防止session攻击。

    3 内存泄露的侦测和防止 
    4 在war文件外使用别名去存储静态内容

    5 对Servlet 3.0,JSP 2.2和JSP-EL 2。2的支持
    6 更容易将Tomcat内嵌到应用去中去,比如JBoss
    7 异步日志记录 :

 

 

直接参考: http://www.iteye.com/news/17928

 

 

4.Servlet3.0的特征和应用:

• 可以在POJO或者过滤器filters中使用annotations注释(在web.xml中不再需要再进行设置了) 

• 可以将web.xml分块进行管理了。也就是说,用户可以编写多个xml文件,而最终在web.xml中组装它们,这将大大降低web.xml的复杂性增强可读性。比如, struts.jar和spring-mvc.jar每一个都可以有一个web-fragment.xml。开发者不再需要在web.xml中去配置它们了,在web-fragment.xml中的jar文件会自动加载,并且struts/spring-mvc servlets和filters也会自动装配设置。 

• 异步处理web的请求----这个特性在tomcat 6 中已经有了,现在在tomcat 7中以Servlet 3标准规范化了,能让使用异步I/O的web应用程序可以移植到不同的web容器中。异步处理使用非阻塞I/O,每次的HTTP连接都不需要对应一个线程。更少的线程可以为更多的连接提供服务。这对于需要长时间计算处理才能返回结果的情景来说是很有用的,比如产生报表,Web Servce调用等。 

• 安全的增强---Servlet 3.0现在使用SSL 去加强了会话session的跟踪,代替了原来的cookie和URL重写。


5.Jdk7.0的特征:

模块化,

多语言支持,

开发者生产力,

性能。


参考:http://blog.csdn.net/jonsenelizee/article/details/5174442

 

6.Spring原理:

spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,
程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间
的藕合度。它的原理是在applicationContext.xml加入bean标记,
在bean标记中通过class属性说明具体类名、通过property标签说明
该类的属性名、通过constructor-args说明构造子的参数。其一切都是
返射,当通过applicationContext.getBean("id名称")得到一个类实例时,
就是以bean标签的类名、属性名、构造子的参数为准,通过反射实例对象,
唤起对象的set方法设置属性值、通过构造子的newInstance实例化得到对象。
正因为spring一切都是反射,反射比直接调用的处理速度慢,所以这也是spring
的一个问题。
spring第二大作用就是aop,其机理来自于代理模式,代理模式
有三个角色分别是通用接口、代理、真实对象
代理、真实对象实现的是同一接口,将真实对象作为
代理的一个属性,向客户端公开的是代理,当客户端
调用代理的方法时,代理找到真实对象,调用真实对象
方法,在调用之前之后提供相关的服务,如事务、安全、
日志。其名词分别是代理、真实对象、装备、关切点、连接点。

参考:http://myoraclex.blog.51cto.com/blog/2288027/413259

7.单例在JVM中怎么样获得两个实例对象

这个问题让哥好尴尬,求大神解答。

8.HTTP协议,head与get区别:

HTTP Reuqest:

一个Http请求包含以下3个部分:
·Method-URI-Protocal/Version
·Request headers
·Entity body
一个HTTP请求的例子如下:
POST /examples/default.jsp HTTP/1.1
Accept:text/plain;text/html
Accept-Language:en-gb
Connection:Keep-Alive
Host:localhost
User-Agent:Mozilla/4.0(compatible;MSIE 4.01;windows 98)
Content-Length:33
Content-Type:application/x-www-form-urlencoded
Accept-Encoding:gzip,deflate
 lastName=Franks&firstName=Michael

HTTP Response :

与Http请求相似,一个Http响应也由以下三部分组成:
·Protocol-Status code-Description
·Response headers
·Entity body
下面是一个HTTP响应的例子:
HTTP/1.1 200 OK
Server:Microsoft-IIS/4.0
Date:Mon,5 Jan 2004 13:13:33 GMT
Content-Type:text/html
Last-Modified:Mon,5 Jan 2004 13:13:12 GMT
Content-Length:112
<html>
<head>
<title>HTTP Response Example</title>
</head>
<body>
Welcome to Brainy Software
</body>
</html>
响应的第一行与请求的第一行格式有些相似。它告诉协议是HTTP1.1,请求成功标志200.并且一切正常OK。响应的报文头与请求的报文头相似,也包含了一些环境参数。同样响应报文也以CRLF来分隔开。
 
9.ClassLoder 的编写实现:

求解?

 

10.switch()中的参数可以用String 吗?long?
我答:chat 和 int
他:可以用string .jdk7特征。

 

11.浏览器访问服务器时候,怎么建立连接和释放连接的?


12.JVM常用命令,如怎么授权?

 

 


希望朋友们补充。

参考:

Tomcat7特征

原创粉丝点击