2022年JEE面试题 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年JEE面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年JEE面试题 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Alibaba= Interview = 01.自我介绍。02.和工作相关的:项目人数,开发多少人,测试多少人,项目时间。03.你们项目需求是怎么产生的?04.测试输出的两个重要文档是什么?05.测试用例用什么管理?06.回归测试用什么工具?07.你们公司用什么管理测试用例和Bug ?08.看你有参加需求评审,那么你之前的日企你是怎么参加的?09.参与程序评审的时候你看代码吗?10.java和 .net 的区别。11.Tomcat 和 Apache的区别。12.我要上传一个图片,你怎么设计测试用例?13.测试质量报告包括什么?你是怎么写的?14.你会看源代码吗?15.工作当中对Linux 经常
2、用吗?你熟悉多少?16.说下你们公司是如何管理BUG 的?17.回归测试的时候,如果开发人员认为BUG 不是在他的负责模块产生的然后怎么办?返回来的时候bug 被改动了吗?18.上一个公司什么时候离职的?19.你结婚了吗?来杭州家人有什么意见?阿里、淘宝java开发那里,一般期望至少2 年上工作经验,功夫好的一年OK 。= J2SE = 01.string, stringbuffer stringbuilder的区别 , string 不可修改的底层原因String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)String 类型
3、和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的 GC 就会开始工作,那速度是一定会相当慢的。而如果是使用StringBuffer 类则结果就不一样了,每次结果都会对StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用StringBuffer ,
4、 特别是字符串对象经常改变的情况下。而在某些特别情况下,String 对象的字符串拼接其实是被JVM 解释成了StringBuffer 对象的拼接,所以这些时候String 对象的速度并不会比StringBuffer 对象慢,而特别是以下的字符串对象生成中,String 效率是远要比StringBuffer 快的在大部分情况下StringBuffer String 在大部分情况下StringBuilder StringBuffer 02.hashtable 和 hashmap的区别HashMap不是线程安全的hastmap是一个接口是 map接口的子接口,是将键映射到值的对象,其中键和值都是对
5、象,并且不能包含重复键,但可以包含重复值。HashMap允许 null key和 null value,而 hashtable不允许。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - HashTable是线程安全的一个Collection。HashMap是 Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空( null )键值( key ),由于非线程安全,效率上可能高于H
6、ashtable。HashMap允许将 null 作为一个entry的 key 或者 value ,而 Hashtable不允许。HashMap把 Hashtable的 contains方法去掉了,改成containsvalue和 containsKey。因为 contains方法容易让人引起误解。Hashtable继承自 Dictionary类,而 HashMap是 Java1.2引进的 Map interface的一个实现。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMa
7、p 就必须为之提供外同步。Hashtable和 HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。03.HASHMAP,TREEMAP 区别HashMap通过 hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用 TreeMap(HashMap中元素的排列顺序是不固定的)。04.ArrayList, Vector和 LinkedList的存储性能和特性arraylist vector 都是通过数组的方式存储数据,数组大小可变,允许所有的为null ,但是 arraylist 没有同步
8、的方法,必须自己实现外部的同步方法,但是vector有同步的方法,所以不要自己实现同步的方法。而 linkedlist使用的是双向链表的方式,按照序号索引元素,需要向前和向后遍历,但是插入只有遍历前后项就行了,所以插入数据快。05.linkedarraylist理解,和上面区别ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。对于随机访问get 和 set , ArrayList觉得优于LinkedList,因为 LinkedList要移动指针。对于新增和删除操作add 和 remove,LinedList比较占优势,因为ArrayList要移动数据。0
9、6.list, set, map区别List 按对象进入的顺序保存对象,不做排序或编辑操作。Set 对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于 Set, 而不关心它的顺序- 否则应该使用List) 。Map同样对每个元素保存一份,但这是基于 键 的, Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用LinkedHashSet或者 LinkedHashMap. 07.Comparable与 Comparator区别comparable& Comparator 都是用来实现集合中的排序的,只是Comparable是在集合内部
10、定义的方法实现的排序,Comparator是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义Comparator接口的方法compare()或在集合内实现Comparable接口的方法compareTo()。Comparable是一个对象本身就已经支持自比较所需要实现的接口(如 String Integer自己就可以完成比较大小操作)而 Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足你的要求时,你可以写一个比较器来完成两个对象之间大小的比较。08.ConcurrentMap和 HashMap的区别。09.Conncurrent的包理解。10.I
11、nterface, abstract class区别声明方法的存在而不去实现它的类被叫做抽象类(abstract class) ,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口( interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通
12、过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。11.jdbc class forname的作用class.forName()是运用反射的原理创建对象名师资料总结 - -
13、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 12.序列化 ,反序列化的概念是什么?序列化 就是把一个对象保存到一个文件或数据库字段中去反序列化 就是在适当的时候把这个文件再转化成原来的对象使用13.JAVA 多线程同步控制概念,有几种方式能实现线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作重写重载14.JAVA 异常的理解Java 的异常 处理是通过5 个关键字来实现的:try ,catc
14、h ,throw ,throws,finally. 前面提到了complete abruptly(暂且 理解 为“突然中止”或者“ 异常 结束”)15.JAVA 反射的理解 ,何时使用,什么好处,什么问题反射其实就是程序能够自检查自身信息反射可以结合Java 的字节码,使用ASM和 cglib等库,还能动态生成类。hibernate的延迟载入,spring的 AOP 都是这么实现的反射给Java 带来了一些动态性16.Statement 与 PreparedStatement的区别 ,如何防止SQL 注入prepareStatement会先初始化SQL ,先把这个SQL 提交到数据库中进行预处
15、理,多次使用可提高效率createStatement不会初始化,没有预处理,没次都是从0 开始执行SQL PreparedStatement继承于 Statement,通常的JDBC 实现中 PreparedStatement最终还是通过Statement的相关方法来执行SQL 的(可以做少量优化),其最主要的优势在于,可以减少SQL 的编译错误(在JDBC 中就可以捕获部分异常而不是由数据库服务器执行时返回错误代码)、增加 SQL 安全性(减少SQL 注入的机会)。17.XML parser类型和特点= J2EE = 01.J2EE 理解解释,里面包含哪些组件J2EE 典型的四层结构:运行在
16、客户端机器上的客户层组件运行在 J2EE 服务器上的Web层组件运行在 J2EE 服务器上的业务逻辑层组件运行在 EIS 服务器上的企业信息系统(Enterprise information system)层软件J2EE 组件:应用客户端程序和applets是客户层组件。Java Servlet和 JavaServer Pages( JSP)是 web 层组件。Enterprise JavaBeans( EJB)是业务层组件。02.Servlet的生命周期Servlet运行在 Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接
17、口中的init() 、service()和 destroy()方法来表示。一般以多线程的方式工作。03.Servlet和 JSP 区别编程方式不同Servlet必须在编译以后才能执行运行速度不同04.GET POST区别名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - get是从服务器上获取数据,post是向服务器传送数据。get安全性非常低,post 安全性较高。但是执行效率却比Post 方法好05.SESSION,COOKIE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年JEE面试题 2022 JEE 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内