责任说明(重要)
这里是我自己整理的一些面试题,来源于互联网,有些是官方网站的,一些是个人博客的,由于时间关系,不能一一指明来源,希望得到原作者和网站的理解(此面试题仅用于学习,无商业行为,刷题请认准官方渠道)。
1.结构型模式
结构型设计模式有组合模式(Composite)、外观模式(Facade)、代理模式(Proxy)、适配器模式(Adapter)、装饰模式(Decrator)、桥模式(Bridge)、享元模式(Flyweight)
2.什么是Jasper
Jasper是Tomcat的jsp引擎, 它解析jsp文件,将它们编译成java代码作为servlet,在运行时,Jasper允许自动检测jsp文件的更改并重新编译它们。
3. 请解释如何配置tomcat来使用IIS和NTLM?
必须遵循isapi_redierctor.dll的标准指令 配置IIS使用“集成Windows验证”。 确保在服务器.xml中你已经禁用了tomcat身份验证。
4.请解释一下什么时候可以使用“.”,什么时候可以使用“[]”?
如果正在运行bean属性,请使用“.”操作符,如果正在执行映射值或数组索引,则首使用“[]”运算符。虽然者两个值可以互换。
5. 请解释Tomcat的默认端口是什么?
Tomcat的默认端口是8080。在本地机器上初始化tomcat之后,可以在URl: http:/localhost:8080检测Tomcat是否在运行。
6. 请解释Tomcat中使用的连接器是什么?
在Tomcat中,使用了两种类型的连接器:
1 HTTP连接器:它有许多可以更改的属性,以确定它的工作方式和访问功能,如重定向和代理转发。
2 AJP连接器:它以与HTTP连接器相同的方式工作,但是它们使用的是HTTP的AJP协议,AJP连接器通常通过插件技术mod_jk在Tomcat中实现。
7. 请解释将Tomcat作为Windows服务运行会带来哪些好处?
1, 自动启动:对于需要在维护后远程启动系统的环境来说,这是至关重要的。
2, 启动无活动用户登录的服务器:Tomcat通常在刀片服务器上运行,这些服务器甚至可能没有一个活动监视器,Windows服务可以在没用活动用户的情况下启动
(刀片服务器:定义. 所谓刀片服务器 (准确的说应叫做 刀片式服务器 blade server)是指在标准高度的机架式 机箱 内可插装多个卡式的 服务器 单元,实现高可用和高密度。. 是一种HAHD (High Availability High Density,高可用高密度)的低成本服务器平台,是专门为特殊应用行业和高密度计算机环境设计的,其主要结构为一大型主体机箱,内部可插上许多"刀片",其中每一块"刀片"实际上就是一块系统主板。)
3,安全性:在Windows服务器下的tomcat可以让你在一个特殊的系统账户下运行,这个账户可以从其他账户中的到保护。
8.解释何时在Tomcat中使用SSL?
当你将Tomcat作为独立的web服务器运行时,需使用Tomcat来处理连接。
解释:SSL原理
9. 解释如何使用WAR文件部署web应用程序?
在Tomcat的web应用程序目录下,jsp、servlet和它们的支持文件被放置在适当的子目录中,你可以将web应用程序目录下的所有文件压缩到一个压缩文件中,以.war文件扩展名结束。可以通过在webapps目录下放置WAR文件来执行应用程序。当一个web服务器开始执行时,它会将WAR文件的内容提取到适当的webapps子目录中。
10. 解释什么是Tomcat Value?
Tomcat Value--是Tomcat 4 引入的新技术,它允许您将java类的实例链接到一个特定的Catalina容器
解释: Catalina容器
11.说明Tomcat配置了多少个Value?
Tomcat配置了四种类型的Value:
1 访问日志
2 远程地址过略
3 远程主机过略器
4 客户请求记录器
12. 请说明NAT协议的目的是什么?
NAT协议的目的是将私有的IP地址从公共IP地址隐藏起来,并给组织提供一定的安全性。
13. 请解释一下MAC代表什么?
直译为媒体存取控制地址
解释:MAC地址_百度百科 (baidu.com)
14.final在java中有什么作用?
final 修饰的类是最终类,该类不能别继承,final修饰的方法不能别重写,final修饰的变量叫常量,常量必须初始化,初始化之后就不能被修改。
15.java中操作字符串的类有哪些,有什么区别?
String, StringBuffer,StringBuilder z 1 String什么不可变的对象
2 StringBuffer 线程安全
3 StringBuilder非线程安全,但是性能高于StringBuffer
推荐单线程环境使用StringBuilder,多线程环境使用StringBuffer
16.普通类和抽象类有哪些区别?
普通类不能包含抽象方法,抽象类可以,
抽象类不能直接实例化,普通类可以。
18. 接口和抽象类有什么区别?
实现: 抽象类的子类使用extends来继承;接口必须使用implemengts来实现接口
构造函数:抽象类可以有构造函数,接口不能有,
main方法:抽象类可以有main方法,并且我们可以运行它,接口不能有main方法 实现数量:类可以实现很多个接口,但是只能继承一个抽象类
访问修饰符:接口中的方法默认public修饰,抽象类中的方法可以是任意访问修饰符。
19. java中的IO流分为几种?
按功能分:输入流(input),输出流(output)
按类型分:字节流和字符流
字节流和字符流的区别:字节流按8位字节为单位输入输出数据,字符流按照16位字符为单位输入输出数据
20.JDK8之前版本,HashMap的数据结构是?
数组+链表/红黑树
21.HashMap默认是无序的,允许将null用作值。允许将null用作键。使用键/值形式保存数据。
22.HashMap中key和value都可以为null,但最多只有一个key为null,可以有多个值为null,map不允许键重复,键重复会进行覆盖
23.归并排序最好的和最坏的情况时间复杂度一样,直接插入的不一样
24.ACD
25.C
26 二叉树
前序:根 --> 左子树 --> 右子树
中序:左子树 --> 根 --> 右子树
后序:左子树 --> 右子树 --> 根
第n层最多的节点数:2^(n-1)