记一次厦门银行校招技术面试

一.java对象生命周期(记得不全)

1.创建阶段(Created)
在创建阶段系统通过下面的几个步骤来完成对象的创建过程

  为对象分配存储空间
  开始构造对象
  从超类到子类对static成员进行初始化
  超类成员变量按顺序初始化,递归调用超类的构造方法
 子类成员变量按顺序初始化,子类构造方法调用
一旦对象被创建,并被分派给某些变量赋值,这个对象的状态就切换到了应用阶

2.应用阶段(In Use)
对象至少被一个强引用持有着。

3.不可见阶段(Invisible)
当一个对象处于不可见阶段时,说明程序本身不再持有该对象的任何强引用,虽然该这些引用仍然是存在着的。程序的执行已经超出了该对象的作用域了。

4.不可达阶段(Unreachable)
对象处于不可达阶段是指该对象不再被任何强引用所持有。与“不可见阶段”相比,“不可见阶段”是指程序不再持有该对象的任何强引用,这种情况下,该对象仍可能被JVM等系统下的某些已装载的静态变量或线程或JNI等强引用持有着,这些特殊的强引用被称为”GC root”。存在着这些GC root会导致对象的内存泄露情况,无法被回收。

5.收集阶段(Collected)
当垃圾回收器发现该对象已经处于“不可达阶段”并且垃圾回收器已经对该对象的内存空间重新分配做好准备时,则对象进入了“收集阶段”。如果该对象已经重写了finalize()方法,则会去执行该方法的终端操作。

6.终结阶段
当对象执行完finalize()方法后仍然处于不可达状态时,则该对象进入终结阶段。在该阶段是等待垃圾回收器对该对象空间进行回收。

7.对象空间重新分配阶段
垃圾回收器对该对象的所占用的内存空间进行回收或者再分配了,则该对象彻底消失了,称之为“对象空间重新分配阶段”。
 

二、数据表中A、B字段做了组合索引,那么单独使用A或单独使用B会有索引效果吗(当时不会)

看A、B两字段做组合索引的时候,谁在前面,谁在后面,如果A在前,那么单独使用A会有索引效果,单独使用B则没有,反之亦然。同理,使用like模糊查询时,如果只是使用前面%,那么有索引效果,如果使用双%号匹配,那么则无索引效果

问了两个问题我都没回答好,面试官问我java不熟悉,数据库也不熟悉,擅长什么呢,用什么应聘呢(可能是我太菜,没准备到)。

三、项目

竟然问我项目使用了什么工具,一开始没理解,开始讲框架,面试官好像有点不耐烦,问我工具,我尝试性回答了eclipse,她说就是这个,我就觉得还有人问项目问这个。然后竟然项目的问题就问完了。

面试官问我有没有想问他的,我就问公司现在用的什么技术呢,她说没什么技术,新人进来就是先做java开发,我说开发总要用个什么技术,什么框架吧,她说不知道....我也没什么想问的了。

四、校园活动

换了一个人面试,问了我学校的一些情况,校园活动什么的,还比较轻松。

五、总结

总体来说不太愉快的一次面试,我准备的数据结构,java常见问题,线程什么的都没有问到,说明我准备的不够充分。可能就是缘分不到吧,还是要用心准备。

发布了16 篇原创文章 · 获赞 12 · 访问量 8089

猜你喜欢

转载自blog.csdn.net/ziyou434/article/details/104923129