浦发银行社招面试--java开发工程师(上)

浦发银行面试--java开发工程师

1.自我介绍

基础部分:

2.java集合框架说一下,常见的有哪些?

3.hashMap和ConcurrentHashMap的区别,以及底层的数据结构是什么?对于具体的改变在

哪个版本回答的比较模糊,其他部分回答的还可以,面试官也没有细问HashMap和

ConcerrentHashMap的put和get过程,没有问扩容、缩容等问题,需要重点去关注一下这

部分?

4.因为说ConcurrentHashMap的时候说到了synchronized和ReetrantLock,说一下Synchronized

和ReentrantLock的区别?这部分对synchronized的锁的优化没说上是在哪个具体的版本改

进的?但是区别还是说的比较好?

5.说一下synchronized 的锁升级过程?这部分说回答的也挺好的?

6.说一下CAS?CAS是什么?用来解决什么问题?底层用的是那个类?回答的还可以,但具体细节还有待细化。

7.CAS的使用会有什么问题?怎么解决该问题?ABA问题,原子类里面的AtomicStampedReference可以解决该问题,带一个时间戳,除了当前值和期望值外,还有当前时间戳和预期时间戳。

6.String s = new String("abc"),创建了几个对象,每个对象分别在什么位置?注意分别回答,s

在栈中,new String对象在堆中,常量在1.7之前在永久代中,字符串常量池在永久代中;

在1.7之后,常量abc在堆中,因为字符串常量池在堆中,通过直接指针的方式连接。

7.由于上面问题提到了堆栈,说下jvm内存结构,每一部分的作用是什么?

8.是不是看过深入理解java虚拟机?我说看过一部分,类文件结构没有看完,其他大概看过了,也没有问类加载的问题

9.jvm 调优部分:实际工作中有调过优吗?JVM 参数设置,STS调优经验,这部分回答的不

是太好,因为确实实际工作中用的比较少,但是作为面试,还是要准备一下相关问题

10.工作中用到过多线程吗?用的是哪些线程池?每种线程池有哪些缺陷?底层所使用的的

队列分别是什么?

11.线程池工作原理部分有了解吗?说一下线程池工作原理?

12.CycliBarrier 用来干什么?CycliBarrier的最后命令由那个线程执行?是主线程还是最后一

个到达的线程?是最后一个到达的线程,可以在CyclicBarrier的构造函数中设置最后要执行的代码,在此之前可以打印出来当前线程的线程名称查看;

13.CountDown 有了解过吗?CountDown和CycliBarrier的区别是是什么?在使用上有啥区别?

#浦发银行##面经##社招##java工程师#
全部评论
你是什么时候面的?
点赞 回复 分享
发布于 2021-06-24 12:24

相关推荐

不愿透露姓名的神秘牛友
12-27 14:43
吐槽一下,干设计,公司是互联网小公司,就几个人,然后今天老板突然发通知不给戴耳机,直接给干懵了,纯纯在搞心态啊
小火柴燃烧吧:公司领导一旦把精力和目光放在如何严格管控员工而不是如何拓展业务和研究项目,就走不远了
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:按使用了什么技术解决了什么问题,优化了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经390star,牛客上有完整文档教程
点赞 评论 收藏
分享
评论
2
24
分享
牛客网
牛客企业服务