京东Java一面面经(变凉)

1、自我介绍

2、Java内存区域结构和JVM调优该怎么做

其中JVM调优方面,说了一些jps、jstat等命令,后来面试官说讲一下分代收集和GC。后来面试官还说调优命令和调优工具

3、事务的特性,Spring中事务是如何应用的

ACID
事务的传播行为和隔离级别(主要是事务的传播行为)

4、现在要做三件事,放在一个事务里。第一件事把一个学生录入到学生登记表中;第二件事要记录一个学生登记日志;第三件事把学生和班级做一个关联关系。现在做一个事务,如果第三件事失败了,那么所有事务一起回滚,如果第二件事失败了,不会回滚继续执行第三件事。这样一个场景怎么实现

捕捉第二件事的异常,手动处理……
还提了一下嵌套事务

5、了解过分布式事务吗?

没有

6、有两个容器,A容器一个操作,B容器一个操作。这两个操作放在一个分布式事务中,A操作成功,B操作失败了,这就出现不一致现象。你怎么设计这种分布式事务?

之前没了解过,类比了一下mysql的binlog,说将一个事务的操作步骤记录下来,如果失败了,就根据这个操作日志进行补偿。面试官说这也是一种方案,让之后再看看这方面的东西

7、说说Mysql的索引类型,是干嘛用的

主键、唯一、联合、全文、聚簇、非聚簇……
还聊了一下B+树与B树

8、Spring的IOC和AOP。有一个配置文件,根据配置文件,并实现类似的@Component的注解依赖注入。

xml解析,利用反射,创建实例对象,放在Map<Class<?>, Object> 中,注解的依赖注入方面没说好,面试官说可以去了解一下AOP的知识,没必要那么复杂

9、锁,ReentrantLock和Synchronized的异同点

同:可冲入,悲观锁
异:多Condition、公平非公平,可中断(这个没说,面试官不让继续扯了)
中间穿插着说了说等待唤醒机制,AQS的实现

10、你有什么问题……

一共44分钟,没问项目……,感觉问题还算可以,只是有些地方没说好……有点没底

--------------------------------------------------- 更新--------------------------------------

9月4日更新了状态,未通过凉凉

针对第8个问题,又回顾了一下之前自己写的SpringIOC,里面也是读取文件,componentscan,获取类文件查看元信息中是否有@Component,有的话生成BeanDefinition注册到容器,getBean的时候生成Bean,然后判断属性是否标注@Autowired,有的话依赖注入,然后最后返回一个对象。也没用到AOP,有老哥知道面试官说的用AOP更简单些是怎么做的吗?

#京东##面经##Java##校招#
全部评论
不简单。
点赞 回复
分享
发布于 2019-09-02 17:39
同学收到了复试的邮件或者短信吗?
点赞 回复
分享
发布于 2019-09-02 21:37
联易融
校招火热招聘中
官网直投
我面的全是特别基础的😂
点赞 回复
分享
发布于 2019-09-02 21:46
跟你这个比起来我这完全是酱油
点赞 回复
分享
发布于 2019-09-02 23:20
@component注解 那个题难道不是用反射吗? 求楼主大大帮忙
点赞 回复
分享
发布于 2019-09-03 16:19

相关推荐

5 61 评论
分享
牛客网
牛客企业服务