文档章节

2019年阿里Java面试必问:JVM与性能优化+Redis+设计模式+分布式

群星纪元
 群星纪元
发布于 02/20 23:09
字数 1407
阅读 42
收藏 0

前言

一年之计在于春 金三银四已经要到来,2019的新的开始,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度?

面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。

今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!

Java面试的重点:

数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:Redis缓存、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等。在这由于文字很多,我总结了java面试所涉及到的常问范围及常问面试题免费分享给大家,文末有领取!

部分面试常问的面试专题

一、JVM与性能优化

  1. 描述一下 JVM 加载 Class 文件的原理机制?
  2. 什么是类加载器?
  3. 类加载器有哪些?
  4. 什么是tomcat类加载机制?
  5. 类加载器双亲委派模型机制?
  6. Java 内存分配?
  7. Java 堆的结构是什么样子的?
  8. 简述各个版本内存区域的变化?
  9. 说说各个区域的作用?
  10. Java 中会存在内存泄漏吗,简述一下?
  11. Java 类加载过程?
  12. 什么是GC? 为什么要有 GC?
  13. 简述一下Java 垃圾回收机制?
  14. 如何判断一个对象是否存活?
  15. 垃圾回收的优点和原理,并考虑 2 种回收机制?基本原理是什么?
  16. 深拷贝和浅拷贝?
  17. 什么是分布式垃圾回收(DGC)?它是如何工作的?
  18. 在 Java 中,对象什么时候可以被垃圾回收?
  19. 简述Minor GC 和 Major GC?
  20. Java 中垃圾收集的方法有哪些?
  21. 讲讲你理解的性能评价及测试指标?
  22. 常用的性能优化方式有哪些?
  23. 说说分布式缓存和一致性哈希?
  24. 什么是GC调优?

二、Redis

  1. redis数据结构有哪些?
  2. Redis缓存穿透,缓存雪崩?
  3. 如何使用Redis来实现分布式锁?
  4. Redis的并发竞争问题如何解决?
  5. Redis持久化的几种方式,优缺点是什么,怎么实现的?
  6. Redis的缓存失效策略?
  7. Redis集群,高可用,原理?
  8. Redis缓存分片?
  9. Redis的数据淘汰策略?
  10. redis队列应用场景?
  11. 分布式使用场景(储存session)?

三、网络编程

  1. TCP建立连接和断开连接的过程?
  2. HTTP协议的交互流程• HTTP和HTTPS的差异,SSL的交互流程?
  3. TCP的滑动窗口协议有什么用?
  4. HTTP协议都有哪些方法?
  5. Socket交互的基本流程?
  6. 讲讲tcp协议(建连过程,慢启动,滑动窗口,七层模型)?
  7. webservice协议(wsdl/soap格式,与restt办议的区别)?
  8. 说说Netty线程模型,什么是零拷贝?
  9. TCP三次握手、四次挥手?
  10. DNS解析过程?
  11. TCP如何保证数据的可靠传输的?

四、设计模式与重构

  1. 说说几个常见的设计模式(23种设计模式)?
  2. 设计一个工厂的包的时候会遵循哪些原则?
  3. 列举一个使用了 Visitor/ Decorator模式的开源项目/库?
  4. 如何实现一个单例?
  5. 代理模式(动态代理)?
  6. 单例模式(懒汉模式,恶汉模式,并发初始化如何解决, volatile与lock的使用)?
  7. JDK源码里面都有些什么让你印象深刻的设计模式使用,举例看看?

五、分布式

  1. 什么是CAP定理?
  2. 说说CAP理论和BASE理论?
  3. 什么是最终一致性?最终一致性实现方式?
  4. 什么是一致性Hash?
  5. 讲讲分布式事务?
  6. 如何实现分布式锁?
  7. 如何实现分布式 Session?
  8. 如何保证消息的一致性?
  9. 负载均衡的理解?
  10. 正向代理和反向代理?
  11. CDN实现原理?
  12. 怎么提升系统的QPS和吞吐?
  13. Dubbo的底层实现原理和机制?
  14. 描述一个服务从发布到被消费的详细过程?
  15. 分布式系统怎么做服务治理?
  16. 消息中间件如何解决消息丢失问题?
  17. Dubbo的服务请求失败怎么处理?
  18. 对分布式事务的理解?
  19. 如何实现负载均衡,有哪些算法可以实现?
  20. Zookeeper的用途,选举的原理是什么?
  21. 讲讲数据的垂直拆分水平拆分?
  22. zookeeper原理和适用场景?
  23. zookeeper watch机制?
  24. redis/zk节点宕机如何处理?
  25. 分布式集群下如何做到唯一序列号?
  26. 用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?
  27. MQ系统的数据如何保证不丢失?
  28. 列举出能想到的数据库分库分表策略?

© 著作权归作者所有

群星纪元
粉丝 25
博文 312
码字总数 21964
作品 0
朝阳
高级程序员
私信 提问
2019年阿里Java面试必问:JVM与性能优化+Redis+设计模式+分布式

前言 一年之计在于春 金三银四已经要到来,2019的新的开始,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度? 面试:如果不准备充分的面试,完全是浪费时间,更是对...

java知识分子
02/18
0
0
【荐】一篇令人心情愉悦的面试总结

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

茶轴的青春
2018/08/02
0
0
拼多多Java后端团队面试题:epoll+集群+事务隔离+Kafka+分布式等

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/t4i2b10X4c22nF6A/article/details/86133163 一面 自我介绍 介绍一下mysql索引?为什么用B+树? 网络IO模型?...

JAVA高级架构v
01/09
0
0
一个两年Java工程师的面试总结

前言 16年毕业到现在也近两年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去...

Java高级架构
2018/07/25
0
0
一个三年Java工程师的面试总结

前言: 15年毕业到现在也近3年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服)、网易、滴滴、点我达,最终收到点我达和网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去...

别打我会飞
2018/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP底层的运行机制与原理

PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件模块的软件框架。是一个强大的UI框架。 简言之;PHP动态语言执行过程:拿到一段代码后,经过词法解析、语法解...

echojson
19分钟前
1
0
0323 第六次课:磁盘管理

用户和组管理 一、磁盘使用情况 df命令 df命令是用来查看系统磁盘空间占用情况 常用示例: df -h 更人性化的显示磁盘使用信息 df -m 以m为单位显示 df -i 显示磁盘inode使用情况,有的时候磁...

wxy丶
25分钟前
0
0
为论坛做负载均衡集群

1. 克隆虚拟机 修改IP地址修改主机名 2. 准备工作 两台机器上开启nginx,保证能访问论坛第二台机器上,关闭mariadb 修改配置文件:config/config_global.php config/config_ucenter.ph...

wzb88
25分钟前
1
0
__attribute__ 总结

attribute是GNU C特色之一,在iOS用的比较广泛.系统中有许多地方使用到. attribute可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute)等...

天王盖地虎626
31分钟前
0
0
Android 自定义轮播图View

一、原理 ViewPager是Android中使用频率相对较高的view组件,同时对滑动过程中的事件进行了处理,因此非常适合轮播图。关于轮播图的实现,有很多方法,使用HorizontalView或者RecylerView也可...

IamOkay
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部