黑马程序员技术交流社区

标题: JavaEE面试经验分享——易诺敬业电子科技 [打印本页]

作者: 就业高冷派    时间: 2018-5-23 15:23
标题: JavaEE面试经验分享——易诺敬业电子科技
本帖最后由 逆风TO 于 2018-5-28 11:05 编辑

公司名称:西安易诺敬业电子科技有限责任公司
公司地址:西安市科技二路68号西安软件园唐乐阁F座401
公司规模:200-500人
主要业务:安防监控、信息系统集成、图像信息化处理、档案数字化加工以及软件开发
笔试环节省略了,因为笔试一推基础的概念.很繁琐.而且有的公司笔试题很多,根据自己能力去答,没有必要全部做出来.但也不能太差, 真正有经验的开发人员, 反而对一些很偏的基础概念反而不熟,很正常.

以下是面试环节的整理的面试题
1.ThreadLocal 用途是什么,原理是什么,用的时候要注意什么      
我们知道,在多线程程序中,同一个线程在某个时间段只能处理一个任务.我们希望在这个时间段内,任务的某些变量能够和处理它的线程进行绑定,在任务需要使用这个变量的时候,这个变量能够方便的从线程中取出来.ThreadLocal能很好的满足这个需求,用ThreadLocal变量的程序看起来也会简洁很多,因为减少了变量在程序中的传递.
2.ThreadLocal的原理是怎么样的?
    每个运行的线程都会有一个类型为ThreadLocal.ThreadLocalMap的map,这个map就是用来存储与这个线程绑定的变量,map的key就是ThreadLocal对象,value就是线程正在执行的任务中的某个变量的包装类Entry.
3. ThreadLocal保存变量的生命周期是怎么样的?
    ThreadLocal保存变量的生命周期 <=任务的生命周期<=线程的生命周期
ThreadLocal.set,ThreadLocal.remove实际上是同样的道理。
2.怎么利用 JUnit 来测试一个方法的异常
     开发人员常常使用单元测试来验证的一段儿代码的操作,很多时候单元测试可以检查抛出预期异常( expected exceptions)的代码。在Java语言中,JUnit是一套标准的单元测试方案,它提供了很多验证抛出的异常的机制。本文就探讨一下他们的优点。
我们拿下面的代码作为例子,写一个测试,确保canVote() 方法返回true或者false, 同时你也能写一个测试用来验证这个方法抛出的IllegalArgumentException异常。
Guava类库中提供了一个作参数检查的工具类--Preconditions类,也许这种方法能够更好的检查这样的参数,不过这个例子也能够检查)。
检查抛出的异常有三种方式,它们各自都有优缺点:
1.@Test(expected…)
@Test注解有一个可选的参数,"expected"允许你设置一个Throwable的子类。如果你想要验证上面的canVote()方法抛出预期的异常,我们可以这样写:
简单明了,这个测试有一点误差,因为异常会在方法的某个位置被抛出,但不一定在特定的某行。
2.ExpectedException
如果要使用JUnit框架中的ExpectedException类,需要声明ExpectedException异常。
然后你可以使用更加简单的方式验证预期的异常。
或者可以设置预期异常的属性信息。
除了可以设置异常的属性信息之外,这种方法还有一个优点,它可以更加精确的找到异常抛出的位置。在上面的例子中,在构造函数中抛出的未预期的(unexpected) IllegalArgumentException 异常将会引起测试失败,我们希望它在canVote()方法中抛出。

尽管这种方式很老了,不过还是非常有效的。主要的缺点就是很容易忘记在catch语句块之后需要写fail()方法,如果预期异常没有抛出就会导致信息的误报。我曾经就犯过这样的错误。

总之,这三种方法都可以测试预期抛出的异常,各有优缺点。对于我个人而言,我会选择第二种方法,因为它可以非常精确、高效的测试异常信息。

3. @RequestMapping @GetMapping @PostMapping 区别
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

4.JPA Hibernate 有哪些区别?
简而言之
JPA 是一个规范或者接口
Hibernate 是 JPA 的一个实现
当我们使用 JPA 的时候,我们使用 javax.persistence 包中的注释和接口时,不需要使用 hibernate 的导入包。
我们建议使用 JPA 注释,因为哦我们没有将其绑定到 Hibernate 作为实现。后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。

5.如何避免浏览器缓存。
html页面和jsp最好都加一些设置对于HTM网页,加入:
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
然后,jsp页面中加入:
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>总结
6. 简述 Java 中软引用(SoftReferenc)、弱引用(WeakReference)和虚引用
1、概述
   JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。
   但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现在已经无用了,保留它会占空间,但是立刻扔掉它也不划算,因 为也许将来还会派用场。对于这样的可有可无的物品,一种折衷的处理办法是:如果家里空间足够,就先把它保留在家里,如果家里空间不够,即使把家里所有的垃 圾清除,还是无法容纳那些必不可少的生活用品,那么再扔掉这些可有可无的物品。
   JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:
强引用、软引用、弱引用和虚引用。
2、强引用
     强引用就是指在程序代码之中普遍存在的,类似“Object obj = new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。
3、软引用(SoftReference)
     软引用用来描述一些还有用,但并非必需的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,将会把这些对象列进回收范围之中并进行第二次回收。如果这次回收还是没有足够的内存,才会抛出内存溢出异常。在JDK 1.2之后,提供了SoftReference类来实现软引用。
4、弱引用(WeakReference)   
   弱引用也是用来描述非必需对象的,但是它的强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾收集发生之前。当垃圾收集器工作时,无论当前内存是否足够,都会回收掉只被弱引用关联的对象。在JDK 1.2之后,提供了WeakReference类来实现弱引用。
5、虚引用(PhantomReference)   
    虚引用也称为幽灵引用或者幻影引用,它是最弱的一种引用关系。一个对象是否有虚引用的存在,完全不会对其生存时间构成影响,也无法通过虚引用来取得一个对象实例。为一个对象设置虚引用关联的唯一目的就是希望能在这个对象被收集器回收时收到一个系统通知。在JDK 1.2之后,提供了PhantomReference类来实现虚引用。
面试总结:   
此次面试问的java基础不是很多,但是问的框架方面的知识点挺多的,尤其是这段时间的很火的springboot,方面的.作为一个程序猿我们要不断学习,接受新东西.才能跟得上这个行业的发展节奏.加油!!


作者: 逆风TO    时间: 2018-5-23 16:33
感谢老师分享

作者: 同心筑梦    时间: 2018-5-28 12:06

作者: ouweina    时间: 2018-5-28 12:38
一个程序猿我们要不断学习,接受新东西.才能跟得上这个行业的发展节奏
作者: 大晨晨    时间: 2018-5-28 13:09
非常棒,加油!努力!!!!!!!!!
作者: 嘟啦啦    时间: 2018-5-28 14:00

作者: yy1134787753    时间: 2018-5-28 14:19
加油^0^~
作者: hello!!!    时间: 2018-5-28 14:24
感谢分享
作者: 小西西哦    时间: 2018-5-28 15:05
6666666666666666666666
作者: 淡写薰衣草的香    时间: 2018-5-28 15:11

作者: caoping    时间: 2018-5-28 15:39

帅,棒棒哒
作者: 小丹子    时间: 2018-5-28 15:59

作者: 仙人掌sandy    时间: 2018-5-28 16:09

作者: JavaEE风清扬    时间: 2018-5-28 16:10
感谢分享.............
作者: 小航子    时间: 2018-5-28 16:43
感谢分享,楼主加油,祝一帆风顺,步步高升
作者: 兮兮哈哈    时间: 2018-5-28 16:58
666666666666666666666666666666
作者: #风萧萧#    时间: 2018-5-28 17:06
不错, 不错 ...........
作者: 多喝点热水~    时间: 2018-5-28 17:08
                  
作者: 章鱼顶呱呱    时间: 2018-5-28 17:16

hahahahhahahahahahhah
作者: 疯言峰语    时间: 2018-5-28 17:35
一气呵成
作者: SharkSSB    时间: 2018-5-28 17:47
这真是好级了...........
作者: json0314    时间: 2018-5-28 17:59
支持
作者: zhuyanting    时间: 2018-5-28 18:01
最喜欢的就是就业帖
作者: little_superman    时间: 2018-5-28 18:01
666666666666666666
作者: superbaby    时间: 2018-5-28 18:16
棒棒哒 ..............
作者: 殷凯老师    时间: 2018-5-28 18:20
感谢分享!!!!!!!!!!!
作者: 温柔一刀!喵!    时间: 2018-5-28 18:26
哇~~~厉害了!
作者: 零度☆黎明    时间: 2018-5-28 18:52
6666666666666666666666666
作者: fujiangbo    时间: 2018-5-28 19:03
感谢分享。。。。
作者: 黑马程序员啊    时间: 2018-5-28 19:33
棒棒哒 .....................
作者: zplxwl    时间: 2018-5-28 21:07
棒棒哒 ..............
作者: 耙丫丫    时间: 2018-5-28 21:32
棒棒哒 ..............
作者: 耙丫丫    时间: 2018-5-28 21:57
不错, 不错 ...........
作者: 专找bug    时间: 2018-5-29 11:49
,接受新东西.才能跟得上这个行业的发展节奏.加油!!
作者: yujq    时间: 2018-5-29 12:04
棒棒哒 ..............
作者: 小黑马王子abc    时间: 2018-5-29 13:12

非常棒,加油!努力!!!!!!!!!
作者: kdhdjdj    时间: 2018-5-29 13:32

作者: 半个程序员    时间: 2018-5-29 13:57
键盘敲烂,月薪过万。。。。
作者: 凯凯小王子    时间: 2018-5-29 14:20
棒棒的,
作者: xiaoheizi    时间: 2018-5-29 14:37

作者: 小迷糊222    时间: 2018-5-29 14:41
加油
作者: 举个栗子啊    时间: 2018-5-29 14:49
犀利犀利
作者: duanshaobo    时间: 2018-5-29 15:12
我要给我儿子买一台挖掘机
作者: 1098018910    时间: 2018-5-29 15:45
666666666666666666
作者: dajiahao    时间: 2018-5-29 16:09
很好很好很好
作者: hongping    时间: 2018-5-29 16:12
                                   
作者: ruoquan    时间: 2018-5-29 16:19
赞赞赞,很不错的分享!
作者: 哦嗨呦    时间: 2018-5-29 16:27
顶!!!!!!!!!!!
作者: 从容微笑    时间: 2018-5-29 16:51
6666666666
作者: 这是一个师哥    时间: 2018-5-29 21:45
帅呆了,传智学长遍天下……
作者: SunYan    时间: 2018-5-29 23:07
黑马66666666666666666
作者: huochao    时间: 2018-5-29 23:41
厉害了啊
作者: 致橡树    时间: 2018-5-30 04:37
乘风破浪会有时,直挂云帆济沧海
作者: 疯子小花花    时间: 2018-5-30 11:58

作者: daoqin    时间: 2018-5-30 14:36
为祖国健康工作50年。
作者: 小公举    时间: 2018-5-30 14:49

八千里路的云与月,全部在阅读中走进了我心灵的深处
作者: 影@子~    时间: 2018-5-30 15:11
感谢老师分享
作者: xuanxushuai01    时间: 2018-5-31 10:17
写的不错不错
作者: 大智叔叔    时间: 2018-5-31 14:45
干货满满的!
作者: wangxue123456    时间: 2018-5-31 14:49

作者: wangxue123456    时间: 2018-5-31 14:50
大侠文采飞扬才情过人李白唐伯虎杜甫泰戈尔在世看此文章必定甘败下风从此无脸见人,在下对你的敬佩之意有如滔滔江水连绵不绝。
作者: 就业高冷派    时间: 2018-6-7 14:34
逆风TO 发表于 2018-5-23 16:33
感谢老师分享

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
同心筑梦 发表于 2018-5-28 12:06

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
ouweina 发表于 2018-5-28 12:38
一个程序猿我们要不断学习,接受新东西.才能跟得上这个 ...

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
大晨晨 发表于 2018-5-28 13:09
非常棒,加油!努力!!!!!!!!!

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
嘟啦啦 发表于 2018-5-28 14:00

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
yy1134787753 发表于 2018-5-28 14:19
加油^0^~

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
yy1134787753 发表于 2018-5-28 14:19
加油^0^~

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
yy1134787753 发表于 2018-5-28 14:19
加油^0^~

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
hello!!! 发表于 2018-5-28 14:24
感谢分享

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:34
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:35
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:36
小西西哦 发表于 2018-5-28 15:05
6666666666666666666666


作者: 就业高冷派    时间: 2018-6-7 14:36
淡写薰衣草的香 发表于 2018-5-28 15:11


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
淡写薰衣草的香 发表于 2018-5-28 15:11


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:36
caoping 发表于 2018-5-28 15:39
帅,棒棒哒


作者: 就业高冷派    时间: 2018-6-7 14:37
caoping 发表于 2018-5-28 15:39
帅,棒棒哒

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
小丹子 发表于 2018-5-28 15:59

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
小丹子 发表于 2018-5-28 15:59

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
小丹子 发表于 2018-5-28 15:59

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
仙人掌sandy 发表于 2018-5-28 16:09

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
仙人掌sandy 发表于 2018-5-28 16:09

更好的服务学员,更好的做就业
作者: 就业高冷派    时间: 2018-6-7 14:37
仙人掌sandy 发表于 2018-5-28 16:09


作者: 就业高冷派    时间: 2018-6-7 14:37
JavaEE风清扬 发表于 2018-5-28 16:10
感谢分享.............






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2