热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

真真正正的九面阿里才定级P6+支持背调,还不来看?(建议收藏)

一面:离职原因;Zookeeper在项目中的使用及原理;Springcloud的一些组件介绍;分布式锁:Redis实现方式&

一面:


  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 实现方式:


  1. 多线程的创建方式:

1、继承 thread 类;

2、实现 runnable 接口;

3、实现 callable 接口;

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


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

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

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


  1. Mysql 的 sql 优化

优化方向:

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

2、 索引的优化:

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


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

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

2、使用 redis 做缓存;

3、redis 往 mysql 中进行持久化


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


二面:


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

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

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

  4. Nginx 的使用场景;

1、请求转发;

2、负载均衡;


  1. 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&#xff0c;若原始大小<64&#xff0c;则扩容为原来的 2 倍&#43;2&#xff0c;不然就扩容为原来的 1.5 倍

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

13.你知道跳表吗&#xff0c;什么场景会用到

ConcurrentSkipListMap&#xff0c;用在多线程下需要自定义排序顺序时

14.CopyOnWriteArrayList 知道吗&#xff0c;迭代器支持 fail-fast 吗

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

15.innodb 的底层数据结构

16.为什么用 B&#43;树不用 B 树

17.为什么用 B&#43;树不用红黑树

18.coding&#xff1a;无序数组怎么寻找第 k 大的数&#xff0c;写一个二叉树层次遍历

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

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

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


第九面

面试他的是一位阿里 P9&#xff0c;这位大佬只问了一道题是&#xff1a;LINUX 的内核是什么&#xff1f;

这大佬最后定级的是阿里 P6&#43;&#xff0c;拿的是 P7 的工资&#xff0c;60W 的年薪&#xff0c;这就是真实的 P6&#43;的年薪&#xff0c;这位大佬 23 岁&#xff0c;注意年龄是 23 岁&#xff01;拿到了阿里 60W 的年薪&#xff0c;他是天津理工大学计算机系年级第一的毕业生&#xff0c;叫黄俊&#xff08;支持背调&#xff09;&#xff01;

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


Java 基础题&#xff08;32 道题&#xff09;

17.Locale 类是什么?

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

19.hashCode0 和 equals0 的区别

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

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

22.String str&#61; "a"与 String str&#61;new String("a")- 样吗?

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

24.static 关键字 5 连问

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

26Java 的四种引用

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


  1. Java 序列化&#xff0c;反序列化?

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

30.序列化的实现?

31.如果某些数据不想序列化&#xff0c;如何处理?

32.Java 泛型和类型擦除?




java 集合&#xff08;19 道题&#xff09;

面试指导脑图



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 操作注意事项以及优化?




异常 &反射&#xff08;12 道&#xff09;

1.error 和 exception 有什么区别?

2.说出 5 个常见的 RuntimeException?

3.throw 和 throws 的区别?

4.Java 中异常分类

5.如何自定义异常

6Java 中异常处理

7.什么是 Java 反射机制?

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

9.java 反射机制的作用

10.Java 反射机制类

11 .反射机制优缺点?

12.利用反射创建对象?




IO&NIO&#xff08;22 道&#xff09;

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|图文说明




多线程&#xff08;100 道题&#xff09;

1.什么是进程?

2.什么是线程?

3.线程的实现方式?

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

5.线程 NEW 状态

6.线程 RUNNABLE 状态

7.线程的 RUNNING 状态

8.线程的 BLOCKED 状态

9.线程的 TERMINATED 状态

10.线程状态转化图

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

91.线程池工作流程

92.创建线程池参数有哪些&#xff0c;作用?

93.向线程池提交任务

94.关闭线程池

95.线程池如何合理设置

96.Executor

97.Executor 框架的主要成员

98.FixedThreadPool

99.SingleThreadExecutor

100.CachedThreadPool




JVM&#xff08;50 道题&#xff09;

1JDK、JRE、 JVM 关系?

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


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

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

5.程序计数器

6Java 虚拟机栈

7.本地方法栈

8Java 堆

9.方法区

10.运行时常量池?

11.什么时候抛出 StackOverflowError?

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

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

14.直接内存是什么?

15.除了哪个区域外&#xff0c;虚拟机内存其他运行时区域都会发生 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 收集器?


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

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

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

45.jstat 工具主要选项?

45.配置信息工具?

46.内存映像工具?

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

48.堆栈跟踪工具?

49.除了命令行&#xff0c;还有什么可视化工具?

50.类加裁过程?




Linux&#xff08;50 道题&#xff09;

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

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

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

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

37.默认进程信息显示?

38.实时监测进程

39.如何中断一个进程?

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

41 如何停止一个进程?

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

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

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

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

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

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

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

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

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



Mysql&#xff08;50 道题&#xff09;

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

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&#43;道面试题的朋友麻烦帮忙三连一下这篇文章&#43;关注我&#xff0c;无偿拿走方式在文末&#xff01;&#xff01;


Spring&#xff08;50 道题&#xff09;




Mybatis&#xff08;28 道题&#xff09;




Nginx&#xff08;16 道题&#xff09;

1.什么是 nginx?

2.nginx 主要特征?

3.nginx 常用命令?

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

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

6.nginx 有几种进程模型?

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

8.如何精准匹配路径?

9.路径匹配优先级?

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

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

12.禁止访问某个目录?

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

14.负载均衡配置?

15.设置超时时间?

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




Redis&#xff08;50 道题&#xff09;

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&#xff08;36 道题&#xff09;



SpringBoot&#xff08;30 道题&#xff09;



Kafka&#xff08;25 道题&#xff09;



SpringCloud&#xff08;35 道题&#xff09;




简历指导

需要这套 600&#43;道面试题的朋友麻烦帮忙三连一下这篇文章&#43;关注我&#xff0c;无偿拿走方式在-----私信【面试】即可&#xff01;&#xff01;----


推荐阅读
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • Spring Boot 应用中实现观察者模式的深度解析与实践
    在 Spring Boot 应用中,观察者模式是一种常用的设计模式,用于建立对象间的依赖关系。当某一对象的状态发生改变时,所有依赖该对象的对象会自动接收到通知并进行相应的更新。本文将深入探讨观察者模式的实现原理,并通过具体实例展示如何在 Spring Boot 项目中有效应用这一模式,以提高系统的解耦性和可维护性。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
author-avatar
葬心xz
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有