随笔分类 - 面试
1
将一些常见的面试题进行汇总
摘要:1. 介绍你知道的http返回的状态码? 状态码 英文意思 中文意思 100 Continue 继续。客户端应继续其请求 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 200 OK 请求成功。一般用
阅读全文
摘要:1. 说一下http和https? https的SSL加密是在传输层实现的。 (1)http和https的基本概念 http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更
阅读全文
摘要:1. 请谈一谈,hashCode()和equals()方法的重要性提现在什么地方? Java中的HashMap使用hashCode()和equals()方法来确定键值对的索引,当根据键获取值的时候也会用到这两个方法。如果没有正确的实现这两个方法,两个不同的键可能会有相同的hash值,因此,可能会被集
阅读全文
摘要:1. 请你讲解一下数据连接池的工作机制? J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后
阅读全文
摘要:1. 请问使用Servlet如何用户配置的初始化参数以及服务器上下文参数? 可以通过重写Servlet接口的init(ServletConfig)方法并通过ServletConfig对象的getInitParameter()方法来获取Servlet的初始化参数。可以通过ServletConfig对象
阅读全文
摘要:1. 请说一下表达式语言(EL)的隐式对象以及该对象的作用? EL的隐式对象包括:pageContext、initParam(访问上下文参数)、param(访问请求参数)、paramValues、header(访问请求头)、headerValues、cookie(访问cookie)、applicat
阅读全文
摘要:1. 请谈一下Spring MVC的工作原理是怎样的? a) 客户端的所有请求都交给前端控制器DispatcherServlet来处理,它会负责调用系统的其他模块来真正处理用户的请求。 b) DispatcherServlet收到请求后,将根据请求的信息(包括URL、HTTP协议方法、请求头、请求参
阅读全文
摘要:1. 请简要说明一下IOC和AOP是什么? 依赖注入的三种方式:(1)接口注入(2)Construct注入(3)Setter注入 控制反转(IoC)与依赖注入(DI)是同一个概念,引入IOC的目的:(1)脱开、降低类之间的耦合;(2)倡导面向接口编程、实施依赖倒换原则; (3)提高系统可插入、可测试
阅读全文
摘要:1. 请说明一下Java中反射的实现过程和作用分别是什么? JAVA语言编译之后会生成一个.class文件,反射就是通过字节码文件找到某一个类、类中的方法以及属性等。反射的实现主要借助以下四个类:Class:类的对象,Constructor:类的构造方法,Field:类中的属性对象,Method:类
阅读全文
摘要:1. 请你简述一下synchronized与java.util.concurrent.locks.Lock的相同之处和不同之处? 主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized
阅读全文
摘要:1. 创建线程有几种不同的方式?你喜欢哪一种?为什么? 有三种方式可以创建线程:继承Thread类;实现Runnable接口;应用程序可以使用Executor框架来创建线程池。实现Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继
阅读全文
摘要:1. 如何保证线程安全? 通过合理的时间调度,避开共享资源的存取冲突。另外,在并行任务设计上可以通过适当的策略,保证任务与任务之间不存在共享资源,设计一个规则来保证一个客户的计算工作和数据访问只会被一个线程或一台工作机完成,而不是把一个客户的计算工作分配给多个线程去完成。 2. 请你简要说明一下线程
阅读全文
摘要:1.请解释为什么集合类没有实现Cloneable和Serializable接口? 克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的。因此,应该由集合类的具体实现来决定如何被克隆或者是序列化。 实现Serializable序列化的作用:将对象的状态保存在
阅读全文
摘要:1. 请你说明List、Map、Set三个接口存取元素时,各有什么特点? List以特定索引来存取元素,可以有重复元素。Set不能存放重复元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。Set和Map容器都有
阅读全文
摘要:1. 请说明静态变量存在什么位置? 静态变量存在方法区。 2. 请你谈谈StringBuffer和StringBuilder有什么区别,底层实现上? StringBuffer线程安全,StringBuilder线程不安全,底层实现上的话,StringBuffer其实就是比StringBuilder多
阅读全文
摘要:1. 请你讲讲abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类
阅读全文
摘要:1. 若对一个类不重写,它的equals()方法是如何比较的? 比较是对象的地址。 2. 请解释hashCode()和equals()方法有什么联系? Java对象的equals方法和hashCode方法是这样规定的: l 相等(相同)的对象必须具有相等的哈希码(或者散列码) l 如果两个对象的ha
阅读全文
摘要:1. 请你讲讲Java里面的final关键字是怎么用的? 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法
阅读全文
摘要:1. 请你谈谈大O符号(big-O notation)并给出不同的数据结构的例子? 大O符号描述了当数据结构里面的元素增加的时候,算法的规模或者是性能在最坏的场景下有多么好。 大O符号也可用来描述其他的行为,比如:内存消耗。因为集合类实际上是数据结构,我们一般使用大O符号基于时间,内存和性能来选择最
阅读全文
摘要:请你谈谈Java中是如何支持正则表达式操作的? Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。 请你简单描述一下正则表达式及其用途? 在编写处理字符串的程序时,经常会有查找符合某些复杂规则的
阅读全文
1