itmyhome的专栏

越努力,越幸运

面经二

一面:

没问什么技术相关的,就是随便聊聊,面试官很nice

二面:

部门leader,相关问题如下

1、异常的分类和继承关系

Java中提供两种错误的异常类,分别是Error和Exception,他们拥有相同的父类Throwable(当时没想起来),Error表示错误,不可恢复,发生在JVM层次,而Exception表示可恢复的异常 又分为运行时异常和检查异常。区别是运行时异常可以不进行处理,常见的有ArrayIndexOutOfBoundsException、NullPointerException、ClassCaseException、 等。检查异常需要 try catch进行捕获。

2、IO和NIO区别

Java IO与NIO之间最大的区别是,IO是面向流的,NIO是面向缓冲区的。Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,不被缓存,也不能前后移动流中的数据。NIO则将数据读取到缓冲区中,需要时可在缓冲区中前后移动

Java IO的各种流是阻塞的,当一个线程调用read()或write()时,该线程被阻塞。NIO是非阻塞的
(此问题回答的不好,后续加强学习)

3、Mybatis中#与$区别

  • #相当于对数据加上双引号,$相当于直接显示数据
  • #可以防止sql注入,是预编译语句
  • 使用在order by中 用$

4、Spring中用到的设计模式

  • 工厂模式:在各种BeanFactory以及ApplicationContext创建中用到了
  • 代理模式:在AOP实现中用到了JDK的动态代理
  • 策略模式:加载资源文件的方式,使用了不同的方法,比如:ClassPathResourceFileSystemResource,ServletContextResource,UrlResource
  • 单例模式:创建Bean的时候

5、Spring Boot

用来简化新Spring应用的初始搭建以及开发过程

这个问题是我自己挖的坑,不知道怎么就提到了Spring Boot,然后面试官就开始问问题,之前很早确实配置过一个入门的Spring坏境,实在太low了,所以就GG了,发现这个技术用的还是很多的,后面也得要系统的学习下。

6、多个对象相互引用 是否会被GC回收

判断对象是否存活的算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;当计数器值为0时就不再被使用

引用计数算法虽然实现简单,判断效率也很高,但无法解决相互引用的问题,比如A引用B,B引用A,然后A和B都设置为null,此时这两个对象并不会因为互相引用就不回收它们。

此问题回答的不够坚定,实在是不应该,深入理解Java虚拟机一书也看了好几遍,看过还需要进行强化理解与记忆,下面那个问题也是如此

7、GC策略,各个的区别

标记-清除算法,分为”标记”和”清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它的不足主要有两个:一个是效率问题,标记和清除两个过程的效率都不高;两一个是空间问题,会产生大量不连续的内存碎片。

复制算法,将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。

标记-整理算法,标记过程与“标记-清除”算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。

分代收集算法,根据对象存活周期的不同将内存分为新生代和老年代

8、left join与right join区别

Left join:将左侧数据全部返回,右侧相符的数据返回,不符合的部分则返回NULL值

Right join:将右侧数据全部返回,左侧相符的数据返回,不符合的部分则返回NULL值

9、如何根据语句查看是否有索引

这个问题我描述的可能不是很清楚,事后查询资料,不知道考察的是不是 explain 这个关键字

10、数据库SQL优化

看相关资料有好几十条最佳实践或优化,我也是没能说出多少啊,竟然说了个分表,然后就有下面的问题了(又是一坑) ,┭┮﹏┭┮

11、分表相关问题

不够深刻,加强学习


以上就是大概能回忆到的面试题,整体是不难,面试官给的评价也很中肯,虚心接受,再接再厉。

也感谢雷哥(小雷FansUnion)的推荐 ^_^

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itmyhome/article/details/79718460
文章标签: 面试
个人分类: 关于面试
想对作者说点什么? 我来说一句

Google最新面经

2018年06月04日 1.1MB 下载

Facebook最新面经

2018年06月04日 395KB 下载

JAVA面试 面经 JAVA面试 面经

2011年08月07日 585KB 下载

华为技术硬件工程师面经

2010年01月03日 280KB 下载

迅雷 笔试题面经整理

2008年10月05日 313KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭