Java面试2021,MySQL索引为何选择B+树

Posted springboot全家桶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试2021,MySQL索引为何选择B+树相关的知识,希望对你有一定的参考价值。

第一部分 项目+自我介绍

  • 首先上来简单做一下自我介绍?

  • 然后让介绍简历里的项目,说下项目里的难点,技术架构。

  • 平时开发过程中都遇到过哪些难题?

  • 平时都这么和同事沟通?

第二部分 java基础方面

  • 首先还是老生常谈的hashmap。hashmap的set和get的时间复杂度是多少?为什么是O(1), hashmap 在jdk1.8是线程安全的吗?

  • 为什么是线程安全的?concureenthashmap了解吗?他是如何实现线程安全的?

  • 说说java泛型,为什么称java泛型为伪泛型?泛型的好处有哪些?int可以作为泛型类型吗?

  • 说一说静态***和动态***的区别?动态***的底层是怎么实现的?

  • 线程run和start的区别?两次start同一个线程会怎么样?

  • 说一下java的线程模型?说一下violate关键字?他的原理是什么?violate是线程安全的吗?说一下violate和synchronized这两个关键字的区别?

  • 说下线程池的原理?有没有在项目中用过线程池?怎么用的?核心线程和非核心线程有什么区别?你在项目里怎么确定核心线程数的。

  • 对concureent包了解吗?什么是cas?cas怎么解决ABA问题?讲一下CountDownLatch和cyclicBarrier的区别?

  • 说一下java类加载器的工作机制?讲一下JVM相关。有没有做货GC调优,讲一下这么做的?

第三部分 spring框架方面

  • BeanFactory 和 和 ApplicationContext 有什么区别?

  • 如何用基于 XML 配置的方式配置 Spring

  • 说一下springboot的启动过程?平时开发中都用哪些注解?

  • Spring 是如何快速创建产品就绪应用程序的?

  • 如何使用 Spring Boot 部署到不同的服务器?

第四部分 数据库与java中间件方面

  • redis常用的数据结构有哪几种,在你的项目中用过哪几种,以及在业务中使用的场景,?redis cluster有没有了解过,怎么做到高可用的?

  • redis集群和哨兵机制有什么区别?redis的持久化机制了解吗?你们在项目中是怎么做持久化的?遇到过redis的hotkey吗?怎么处理的?redis是单线程的吗?单线程为什么还这么快?redis实现分布式锁以及和zk实现的性能和稳定性的对比?

  • kafka的原理?怎么保证消息不丢失?

  • 索引的常见实现方式有哪些,有哪些区别?mysql的存储引擎有哪些,有哪些区别?InnoDB使用的是什么方式实现索引,怎么实现的?说下聚簇索引和非聚簇索引的区别?

  • 大量的消息每页被消费,能否发生 oom 异常?

  • 向不存在的 exchange 发 publish 消息会发生什么?向不存在的queue 执行 consume 动作会发生什么?

  • 为什么不应该对所有的 message 都使用持久化机制?

第五部分 算法方面(总共是问了两个)

  • 一面手写的题是leetcode 106. 从中序与后序遍历序列构造二叉树,根据一棵树的中序遍历与后序遍历构造二叉树。(注意:你可以假设树中没有重复的元素。)

例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \\ 9 20 / \\ 15 7

  • 二面手写的题是 leetcode 86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5

这两道算法题的答案解析就在《算法刷题LeetCode中文版.PDF》这份文档中

image

最后

即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!

资料领取方式:蓝色传送门

我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:

Dubbo面试专题

JVM面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Java并发面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Kafka面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MongDB面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MyBatis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MySQL面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Netty面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

RabbitMQ面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Redis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Spring Cloud面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

SpringBoot面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

zookeeper面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

常见面试算法题汇总专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

计算机网络基础专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

设计模式专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南
-PSCZldom-1625472814017)]

计算机网络基础专题

[外链图片转存中…(img-XHHrO8UA-1625472814017)]

设计模式专题

[外链图片转存中…(img-yhnpUEwN-1625472814018)]

以上是关于Java面试2021,MySQL索引为何选择B+树的主要内容,如果未能解决你的问题,请参考以下文章

面试官:MySQL为何选择B+树存储索引?

原理+实战+视频+源码Java校招面试经验汇总

Java开发社招面试经验:带你快速通过字节跳动面试

MySQL索引为何选择B+树,干货整理

大厂Java面试总结+详细解答!都是精髓!

Java开发工程师面试题!dockerrun命令的作用