一面:

1. 离职原因;

2. Zookeeper 在项目中的使用及原理;

3. Springcloud 的一些组件介绍;

4. 分布式锁:

Redis 实现方式:

redis:为什么使用 setnx,或者说 set 和 setNx 有什么区别;

setNx:系统在 10:05 设置一个值,并给出 5 分钟的过期时间,系统刚刚 set 完之后 redis 集群崩溃,10:11 分系统重启成功,那么 redis 中 set 的值是否还存在?

考察点:

1、redis 的持久化:刚 set 完是否能够被持久化到快照或者 binlog 日志中;

2、假设 redis 被持久化,且系统重启时间超过了 redis 设置的过期时间,那么 key 是否会被清理;

zookeeper 实现方式:

5. 多线程的创建方式:

1、继承 thread 类;

2、实现 runnable 接口;

3、实现 callable 接口;

4、线程池方式进行创建及每个参数之间的逻辑关系;

6. 服务器 CPU 数量及线程池数量的关系;

1、服务器 cpu 数量(n);

2、是 IO 密集型(2n 个线程)应用还是计算密集型(n+1 个线程)应用;

7. Mysql 的 sql 优化

优化方向:

1、 Mysql 使用过程中走索引的语句:

2、 索引的优化:

3、 亿级的数据必须使用 like 进行查询,如何优化?

8. 如何做一个秒杀系统;

1、MQ 做限流:保证只有 1000 个人可以访问系统;

2、使用 redis 做缓存;

3、redis 往 mysql 中进行持久化

9. 自己认为自己的技术怎么样?

二面:

1. Mysql 是集群还是单节点;最大的表中数据量大约是多少?3000w-4000w;

2. Mysql 主从配置是 DBA 去做还是自己去做?mysql 主从同步的机制的原理?mysql 主从复制主要有几种模式?

3. Redis 持久化方式:rdb、aof;redis 中哪个版本开始可以对分布式使用;

4. Nginx 的使用场景;

1、请求转发;

2、负载均衡;

5. Spark 主要用来做什么的?

第三面至第八面所有面试题

1.ConcurrentHashMap 底层原理

2.手写一个 LRU

用 LinkedHashMap

3.HashMap 底层数据结构

4.为什么用红黑树不用普通的 AVL 树

5.为什么在 8 的时候链表变成树

6.为什么在 6 的时候从树退回链表

7.线程池 7 个参数,该怎么配置最好

8.说一下 volatile

9.volatile 的可见性和禁止指令重排序怎么实现的

可见性:缓存一致性协议

禁止指令重排序:JMM 模型里有 8 个指令完成数据的读写,通过其中 load 和 store 指令相互组合成的 4 个内存屏障实现禁止指令重排序

10.CAS 是什么

11.PriorityQueue 底层是什么,初始容量是多少,扩容方式呢

最小堆,

11,若原始大小<64,则扩容为原来的 2 倍+2,不然就扩容为原来的 1.5 倍

12.HashMap 的容量为什么要设置为 2 的次幂

13.你知道跳表吗,什么场景会用到

ConcurrentSkipListMap,用在多线程下需要自定义排序顺序时

14.CopyOnWriteArrayList 知道吗,迭代器支持 fail-fast 吗

线程安全 ArrayList,写时复制,迭代器是采用快照风格,不支持 fail-fast

15.innodb 的底层数据结构

16.为什么用 B+树不用 B 树

17.为什么用 B+树不用红黑树

18.coding:无序数组怎么寻找第 k 大的数,写一个二叉树层次遍历

19.不知道大小的数据流取其中 100 个数,怎样的取法能最随机

20.n 个物品每个物品都有一定价值,分给 2 个人,怎么分两个人的价值差最小

21.假设百度每个页面能放 100 个网页,每个页面都有一个评分,怎样快速找到第 8 页的所有网页

第九面

面试他的是一位阿里 P9,这位大佬只问了一道题是:LINUX 的内核是什么?

这大佬最后定级的是阿里 P6+,拿的是 P7 的工资,60W 的年薪,这就是真实的 P6+的年薪,这位大佬 23 岁,注意年龄是 23 岁!拿到了阿里 60W 的年薪

这位大佬最近分享了一份 Java 全栈知识点的面试题涉及:Java 基础题、Java 集合、异常 &反射、IO&NIO、多线程、JVM、Linux、Mysql、Spring、Mybatis、Nginx、Redis、Dubbo、SpringBoot、Kafka 、SpringCloud、简历这些模板。

  关注公众号【编程程序V】,分享更多Java技术前沿文章,Java学习面试资源。

Java 基础题(32 道题)

17.Locale 类是什么?

18Java 中 final. finally. finalize 的区别与用法

19.hashCode0 和 equals0 的区别

20.深拷贝和浅拷贝的区别是什么?

21Java 中操作字符串都有哪些类?它们之间有什么区别?

22.String str= "a"与 String str=new String("a")- 样吗?

23.抽象类能使用 final 修饰吗?

24.static 关键字 5 连问

25.重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?

26Java 的四种引用

27.Java 中 Comparator 与 Comparable 有什么不同?

28. Java 序列化,反序列化?

29.什么情况需要 Java 序列化?

30.序列化的实现?

31.如果某些数据不想序列化,如何处理?

32.Java 泛型和类型擦除?

java 集合(19 道题)

面试指导脑图

1.Java 集合框架的基础接口有哪些?

2.Collection 和 Collections 有什么区别?

3.List. Set. Map 是否继承自 Collection 接口?

4.Collections.sort 排序内部原理

5.List. Set. Map 之间的区别是什么?

6.HashMap 和 Hashtable 有什么区别?

7.如何决定使用 HashMap 还是 TreeMap?

8.说一下 HashMap 的实现原理?

9.说一下 HashSet 的实现原理?

10.ArrayList 和 LinkedList 的区别是什么?

11.为何 Map 接口不继承 Collection 接口?

12.ArrayList 和 Vector 有何异同点?

13.Array 和 ArrayList 有何区别?

14.在 Queue 中 poll0 和 remove0 有什么区别?

15.LinkedHashMap 有什么特点?

16.HashMap 的底层实现原理? (高频问题)

17.HashMap 并发安全的问题

18JDK1.8 与 JDK1.7 的性能对比

19HashMap 操作注意事项以及优化?

异常 &反射(12 道)

1.error 和 exception 有什么区别?

2.说出 5 个常见的 RuntimeException?

3.throw 和 throws 的区别?

4.Java 中异常分类

5.如何自定义异常

6Java 中异常处理

7.什么是 Java 反射机制?

8.举例什么地方用到反射机制?

9.java 反射机制的作用

10.Java 反射机制类

11 .反射机制优缺点?

12.利用反射创建对象?

IO&NIO(22 道)

6.阻塞 10 (blocking 10)

7.非阻塞 I/O (nonblocking 10)

8.I/O 多路复用模型(10 multiplexing)

9.信号驱动 I/O 模型

10.异步/O(asynchronous 10)

11.NIO 与 10 的区别?

12.NIO 和 I0 适用场景

13.NIO 核心组件

14.什么是 channel

15.Java NIO 中最常用的通道实现?

16.Buffer 是什么?

17.核心 Buffer 实现有哪些?

18.buffen 读写数据基本操作

19.Selector 是什么?

20.通道可以监听哪几个事件?

21.为什么要用 Selector?

22 Selector 处理多 Channe|图文说明

多线程(100 道题)

1.什么是进程?

2.什么是线程?

3.线程的实现方式?

4.Theaed 类中的 start0 和 run0 方法有什么区别?

5.线程 NEW 状态

6.线程 RUNNABLE 状态

7.线程的 RUNNING 状态

8.线程的 BLOCKED 状态

9.线程的 TERMINATED 状态

10.线程状态转化图

........................................90.为什么使用线程池

91.线程池工作流程

92.创建线程池参数有哪些,作用?

93.向线程池提交任务

94.关闭线程池

95.线程池如何合理设置

96.Executor

97.Executor 框架的主要成员

98.FixedThreadPool

99.SingleThreadExecutor

100.CachedThreadPool

JVM(50 道题)

1JDK、JRE、 JVM 关系?

2.启动程序如何查看加载了哪些类,以及加载顺序?

3. class 字节码文件 10 个主要组成部分?

4.画一下 jvm 内存结构图?

5.程序计数器

6Java 虚拟机栈

7.本地方法栈

8Java 堆

9.方法区

10.运行时常量池?

11.什么时候抛出 StackOverflowError?

12.Java7 和 Java8 在内存模型上有什么区别?

13.程序员最关注的两个内存区域?

14.直接内存是什么?

15.除了哪个区域外,虚拟机内存其他运行时区域都会发生 OutOfMemoryError?

16.什么情况下会出现堆内存溢出?

18.空间什么情况下会抛出 OutOfMemoryError?

19.如何实现 StrackOverflowError?

20.如何设置直接内存容量?

21.Java 堆内存组成?

22.Edem : from : to 默认比例是?

23.垃圾标记阶段?

24.引用计数法?

25.根搜索算法?

26JVM 中三种常见的垃圾收集算法?

27 标记-清除算法?

28.复制算法?

29.标记-整理算法?

30.分代收集算法?

31.垃圾收集器?

32.Stop The World?34.PartNew 收集器?

36.Parallel Scavenge?

37.Parallel Old 收集器?

38.CMS 收集器?

39.CMS 垃圾回收的步骤?

41.CMS 收集器优点?缺点?

42.G1 收集器?

42. G1 收集器是如何改进收集方式的?

43.虚拟机进程状况工具?

44.虚拟机统计信息工具?

45.jstat 工具主要选项?

45.配置信息工具?

46.内存映像工具?

47 虚拟机堆转存储快照分析工具?

48.堆栈跟踪工具?

49.除了命令行,还有什么可视化工具?

50.类加裁过程?

Linux(50 道题)

...............................

34.源码安装通常的路子?

35.vim 编辑器几种操作模式?基本操作?

36.查看设备还有多少磁盘空间?

37.默认进程信息显示?

38.实时监测进程

39.如何中断一个进程?

40.如何把一个进程放到后台运行?

41 如何停止一个进程?

42.验证网络可连接命令是什么?什么原理?

43.查看某端口是否被占用?

44 如何查找匹配的文件?基于文件属性?

45.如何查看当前主机名?如何修改?如何重启后生效?

46.如何写一条规则, 拒绝某个 ip 访问本机 8080 端口?

47.哪个文件包含了主机名和 ip 的映射关系?

48.如何用 sed 只打印第 5 行?删除第一行? 替换字符串?

49.打印文件第一行到第三行?

50.如何用 awk 查看第 2 行倒数第 3 个字段?

Mysql(50 道题)

...............................

35.视图的优缺点?

36.主键和唯一索引区别?

37.如何随机获取一条记录?

38.Mysql 中的数值类型?

39.查看当前表有哪些索引?

40.索引不生效的情况?

41.MWC?

42.sq|语句的执行流程?

43.如何获取 select 语句执行计划?

44.explain 列有哪些?含义?

45.MySql 最多创建多少列索引?

46.为什么最好建立一个主键?

47.字段为什么要求建议为 not nul?

48.varchar(10)和 int(10)代表什么含义

49.视图是什么?对比普通表优势?

50.count(* )在不同引擎的实现方式?

需要领取这套 600+道面试题的朋友麻烦帮忙转发一下这篇文章+关注我,然后点我头像进入个人主页,点击右上角小信封给我发送【面试】二字免费获取!

Spring(50 道题)

Mybatis(28 道题)

Nginx(16 道题)

1.什么是 nginx?

2.nginx 主要特征?

3.nginx 常用命令?

4.工作模式及连接数上限?

5.nginx 负载均衡几种算法?

6.nginx 有几种进程模型?

7.如何定义错误提示页面?

8.如何精准匹配路径?

9.路径匹配优先级?

10.如何把请求转发给后端应用服务器?

11.如何根据文件类型设置过期时间?

12.禁止访问某个目录?

13.nginx 负载均衡实现过程?

14.负载均衡配置?

15.设置超时时间?

16.开启压缩功能好处?坏处?

Redis(50 道题)

34.Redis 的 Java 客户端官方推荐?实际选择? ;

35.Redis 事务?

36.Redis 事务开始到结束的几个阶段?

37.Redis 中 key 的过期操作?

38.Redis 过期键删除策略?

39.Pipeline 是什么?为什么要它?

40.如何获取当前最大内存?如何动态设置?

41.Redis 内存溢出控制?

42.Redis 内存溢出策略?

43.Redis 高可用方案?

44.Redis 集群方案?

45.Redis Cluster 槽范围?

46.Redis 锁实现思路?

47.什么是布隆过滤器?

48.什么是缓存穿透?处理问题?

49.什么是缓存预热?

50.什么是缓存雪崩?处理问题?

Dubbo(36 道题)

SpringBoot(30 道题)

Kafka(25 道题)

SpringCloud(35 道题)

总结

由于篇幅内容有限,本次分享就到这里了!如过文章对你有帮助,不要忘记点赞收藏关注哦!

最后也为大家准备好了《金九银十 JAVA 面试题》——需要的可以关注私信我领取

9面阿里Java 岗,最终定级 P6 拿 P7 工资,面经分享,读万卷书,不如行万里路相关推荐

  1. 9面阿里Java岗,最终定级P6拿P7工资,分享学习经验

    一面: 1. 离职原因: 2. Zookeeper在项目中的使用及原理: 3. Springcloud的一些组件介绍: 4. 分布式锁: Redis实现方式: redis:为什么使用setnx,或者说 ...

  2. 阿里的职级是如何上升的,是工作经验还是能力?(附阿里Java岗面试题)

    阿里的职级系统设计是比较科学的,正在被很多大厂小厂在效仿.具体来说,每一级都是有明确的能力要求的. 层级 能力标准 P5 在专业领域中,对公司职位的标准要求.政策.流程等从业所必需了解的知识基本了解, ...

  3. 意外被裁,逆境中意外面过阿里3+1,成功拿下阿里Java岗P6 offer

    众所周知,互联网行业是一个说变就变的行业,随着互联网的飞速发展,涌现了一大批新兴互联网行业,在这个行业里,巨头企业也在不停地更换中.而对于程序员来说,可能一不小心就要面临裁员的危机,毕竟在这个行业里, ...

  4. 想了很久,我还是决定把我从阿里Java岗P6—P7的秘籍拿出来分享给大家,毕竟独乐乐不如众乐乐

    在阿里工作了6年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记.此笔记已 ...

  5. 强强联合,一份最适合你的后端面试指南,最终5轮面试拿下阿里Java岗Offer(定薪45K),确定不心动?

    前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个"有章可循"说的意思只是说应对技术面试是可以提前准备. ...

  6. 阿里Java岗二面:Redis了解?说说持久化机制及RDB/AOF应用场景分析

    Redis是一种面向"key-value"类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等优势.它虽然起步较晚,但发展却十分迅速. 文章主要包含二个 ...

  7. 社招阿里java岗到底有多难?分享阿里社招面试真题(附答案),以及P7需要掌握的知识点总结!

    前言 本来是抱着想试试淘系技术部的心态,没想到一路走完了流程,这里前辈水平的确很高,面试就感觉出来了,想把过程中的面经分享给大家: 一面 线程池了解吗,几种线程池创建方式 ThreadPoolExec ...

  8. 阿里Java岗P5-P7成长笔记【3283页PDF文档】

    又到了"金九银十"面试求职高峰期,在金三银四时也参与过不少面试,2020都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成 ...

  9. 阿里Java岗P5-P7成长笔记【3283页PDF文档免费领】

    又到了"金九银十"面试求职高峰期,在金三银四时也参与过不少面试,2020都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成 ...

最新文章

  1. 计算机网络中网络拓扑,计算机网络基础知识:不同的网络拓扑结构对网络的影响...
  2. 送你一份使用k近邻算法实现回归的实用指南(附代码、链接)
  3. 共享资源的保护:锁机制
  4. 【SpringBoot】编写一个自己的Starter
  5. C#基础第七天-作业-利用面向对象的思想去实现名片-动态添加
  6. 已知坐标求方位角_由方位角高度角求赤经赤纬
  7. 群晖如何建php网站_群晖webstation搭建typecho博客
  8. 国内机床发展水平和现状
  9. Java final修饰符的作用,Java中的final修饰符
  10. fedora 16 下搭建gvim+xdebug调试环境
  11. thinking back no9
  12. 北上广深的请注意,阿里聚安全来找你玩啦~
  13. S5PV210 芯片降价
  14. Android 系统构架
  15. 基础集群部署 - kubernetes-simple
  16. 下载新浪股票历史数据
  17. java经典算法(六)---zws
  18. 平头哥广发英雄帖,公开首款CPU“玄铁”仿真代码
  19. 梁念坚:从MOTO到微软 从无缝连接到统一沟通
  20. .NET Core容器化(Docker)

热门文章

  1. 数据结构-链表带环问题
  2. Zookeeper系列(2)--2PC、3PC及其应用
  3. 苹果手机关闭自动更新_你的苹果手机太耗电?关闭这三个功能,让你的手机告别一天三充...
  4. CentOS rpm安装Nginx和配置
  5. Codeforces Beta Round #52 (Div. 2) D. Changing a String DP输出方案
  6. 「 Offer收割机之JVM」:生存还是毁灭
  7. 安装多个maya版本后,如何指定maya特定版本打开工程?
  8. 码多多ChatAI智能聊天系统更新啦~
  9. cmd输入python弹出应用商店
  10. 弘辽科技:怎么在淘宝上开公益店铺?怎么设置公益宝贝?