美文网首页Java 杂谈
架构筑基面试题系列:JVM+并发编程+Netty

架构筑基面试题系列:JVM+并发编程+Netty

作者: 码农清风 | 来源:发表于2018-12-27 15:36 被阅读0次

JVM

1. 内存模型以及分区,需要详细到每个区放什么?

2.堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。

3. 对象创建方法,对象的内存分配,对象的访问定位。

4. GC的两种判定方法是什么?

5. SafePoint是什么?

6. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?

7. GC收集器有哪些?CMS收集器与G1收集器的特点。

8. Minor GC与Full GC分别在什么时候发生?

9. 几种常用的内存调试工具是什么?

10. 类加载的几个过程是什么?

11.JVM内存分哪几个区,每个区的作用是什么?

12.如和判断一个对象是否存活?(或者GC对象的判定方法)

13.简述java垃圾回收机制?

14.java中垃圾收集的方法有哪些?

15.java内存模型

16.java类加载过程?

17. 简述java类加载机制?

18. 类加载器双亲委派模型机制?

19.什么是类加载器,类加载器有哪些?

20.简述java内存分配与回收策率以及Minor GC和Major GC。

并发编程

1.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?

2.在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?

3.在java中wait和sleep方法的不同?

4.用Java实现阻塞队列。

5.用Java写代码来解决生产者——消费者问题。

6.用Java编程一个会导致死锁的程序,你将怎么解决?

7. 什么是原子操作,Java中的原子操作是什么?

8. Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?

9.什么是竞争条件?你怎样发现和解决竞争?

10.你将如何使用threaddump?你将如何分析Thread dump?

11. 为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?

12. Java中你怎样唤醒一个阻塞的线程?

13.在Java中CycliBarriar和CountdownLatch有什么区别?

14.什么是不可变对象,它对写并发应用有什么帮助?

15.你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?

Netty

1.BIO、NIO和AIO的区别?

2.NIO的组成?

3.Netty的特点?

4.Netty的线程模型?

5.TCP 粘包/拆包的原因及解决方法?

6.了解哪几种序列化协议?

7.如何选择序列化协议?

8.Netty的零拷贝实现?

9.Netty的高性能表现在哪些方面?

10.NIOEventLoopGroup源码?

以上就是开源框架常见面试题(可私信我免费领取答案),以下最新总结的BAT面试题及答案及更多关于Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料,有需要的朋友可以加QQ群930254941免费领取!

点击链接加入群聊【java架构交流群】:https://jq.qq.com/?_wv=1027&k=5I8JZmK


相关文章

网友评论

    本文标题:架构筑基面试题系列:JVM+并发编程+Netty

    本文链接:https://www.haomeiwen.com/subject/oqorlqtx.html