狮场(苏宁)面试小结

狮场由于总部位于南京,到达A1岗,周围一片大楼林立赫赫然写着“苏宁”,其场面比之中兴华为有过之而无不及。之后进入总部大楼,在A302门口的落地窗软沙发前等了将近半小时之后,工作人员终于赶来。

进入会议室,填写了一张表格(和简历一毛一样)之后就开始了漫长的等待。由于我交简历交得最慢,所以按顺序来排面试,我也排到了最后。和旁边南师的学姐,旁边旁边旁边的河海学长学姐有一搭没一搭的聊了半晌,终于轮到我。进入正题:

面试官是两个技术面试官+一个HR,面试过程相对还算顺利。整个面试的话题都围绕项目和jvm来展开,具体的谈话内容不再鏊述了。谈的内容包括但不限于:IoC(依赖注入),AOP,AOP组件,前端框架(angulars,react),jvm从编译,加载,到运行的全过程,hibernate的劣势,以及自己的最低期望薪酬,是否介意工作城市(说我适合北京上海,我可不想去),以及是否回老家。

基本的技术问题回答得还算顺利,其中有几个点没能答上来,这里记录一下:

  • jvm无用对象检测使用到的可达性分析算法的出发root节点,具体是哪些(GC root 起始点)?

    1. 虚拟机栈中引用的对象
    2. 方法区中类静态属性引用的对象
    3. 方法区中常量引用的对象
    4. 本地方法栈中JNI(即Native方法)引用的对象

    综合来看,可以归结为:持久类型的对象作为出发点

  • jvm的具体运行过程,结合内存来谈。

首先来看栈帧概念图

当一个java类经过编译,加载进入内存之后,局部变量会进入局部变量表,之后每一次使用到的局部变量都会作为操作数加载到操作数栈中。同时,还有一个程序计数器,一条字节码指令的执行对应着程序计数器的加一操作。最后执行结束,整个方法的返回值将返回给调用者。

  • hibernate的劣势

这个是真的不懂,hibernate还没来得及看,只能瞎扯一通,尽量把话题往mybatis的轻量级和hibernate上拉,但是拉完才发现,mybatis怎么轻也解释不通啊,算了,往Spring上拉吧

通常来讲,hibernate的优势在于:二级缓存,面向对象,方便移植,无侵入性。

劣势在于:效率低(这个经过了封装,效率必然不如原生的sql语句),对批量处理的支持差

有言,不要停止思考,即是如此。时时自省,方能看到自己的不完备。

但愿下次更好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值