java常用技术栈,java面试带答案
前言
我们从一个问题引入今天的主题。
在日常业务开发中,我们可能经常听到 DBA 对我们说“不要”(注意:不是禁止)使用 join
,那么为什么 DBA 对 join 这么抵触呢?是 join 本身有问题,还是我们使用的方式不对。
其实这涉及到 join 语句在 MYSQL 内部到底是怎么执行的。
这就是我们今天要讲的内容。
Linux 专题
微服务专题
- 微服务架构有哪些优势?
- 微服务有哪些特点?
- 设计微服务的最佳实践是什么?
- 微服务架构如何运作?
- 微服务架构的优缺点是什么?
- 单片,SOA 和微服务架构有什么区别?
- 在使用微服务架构时,您面临哪些挑战?
- SOA 和微服务架构之间的主要区别是什么?
- 什么是 REST / RESTful 以及它的用途是什么?
- 什么是不同类型的微服务测试?
Kafka 专题
- Kafka 是什么
- 消费者设计
- 如何获取 topic 主题的列表
- 生产者和消费者的命令行是什么?
- 为什么需要消息系统,mysql 不能满足需求吗?
- Zookeeper 对于 Kafka 的作用是什么?
- Kafka 与传统 MQ 消息系统之间有三个关键区别
- 讲一讲 kafka 的 ack的三种机制
- kafka 的高可用机制是什么?
- kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。
- kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
Elasticsearch 专题
- Elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
- Elasticsearch 的倒排索引是什么
- Elasticsearch 是如何实现 master 选举的
- 详细描述一下 Elasticsearch 搜索的过程?
- Elasticsearch 是如何实现 Master 选举的?
- 客户端在和集群连接时,如何选择特定的节点执行请求的?
- 在并发情况下,Elasticsearch 如果保证读写一致?
- Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
- 对于 GC 方面,在使用 Elasticsearch 时要注意什么?
- 如何监控 Elasticsearch 集群状态?
算法专题
- 二分查找
- 冒泡排序算法
- 插入排序算法
- 快速排序算法
- 希尔排序算法
- 归并排序算法
- 桶排序算法
- 基数排序算法
- 剪枝算法
- 回溯算法
- 最短路径算法
- 最小生成树算法
- AES
- RSA
- CRC
- MD5
数据结构专题
- 栈(stack)
- 队列(queue)
- 链表(Link)
- 散列表(Hash Table)
- 排序二叉树
- 前缀树
- 红黑树
- B-TREE
- 位图
Zookeeper 专题
- 什么是Zookeeper?
- Zookeeper 如何保证了分布式一致性特性?
- ZooKeeper 提供了什么?
- 了解ZAB 协议?
- zookeeper 是如何保证事务的顺序一致性的?
- zk 节点宕机如何处理?
- zookeeper 负载均衡和 nginx 负载均衡区别
- 分布式集群中为什么会有 Master?
- Zookeeper 有哪几种几种部署模式?
- 集群支持动态添加机器吗?
- chubby 是什么,和 zookeeper 比你怎么看 ?
- Zookeeper 的 java 客户端都有哪些?
- ZAB 和 Paxos 算法的联系与区别?
MyBatis 专题
Dubbo 专题
- 服务调用是阻塞的吗?
- 一般使用什么注册中心?还有别的选择吗?
- 服务上线怎么不影响旧版本?
- 如何解决服务调用链过长的问题?
- Dubbo 集群容错有几种方案?
- Dubbo 服务降级,失败重试怎么做?
- Dubbo Monitor 实现原理?
- Dubbo 用到哪些设计模式?
- Dubbo 支持分布式事务吗?
- 说说核心的配置有哪些?
- Dubbo 推荐用什么协议?
- Dubbo SPI 和 Java SPI 区别?
- 为什么要用 Dubbo?
- Dubbo 的整体架构设计有哪些分层?
- 默认使用的是什么通信框架,还有别的选择吗?

RabbitMQ 专题
Spring 专题
SpringCloud 专题
SpringBoot 专题
MongoDB 专题
- mongodb是什么?
- mongodb有哪些特点?
- NoSQL数据库有哪些类型?
- MySQL与MongoDB之间最基本的差别是什么?
- MongoDB成为最好NoSQL数据库的原因是什么?
- 你怎么比较MongoDB、CouchDB及CouchBase?
- 分析器在MongoDB中的作用是什么?
- 如何执行事务/加锁?
- MongoDB支持存储过程吗?如果支持的话,怎么用?
Memcached 专题
- Memcached 是什么,有什么作用?
- Memcached 最大的优势是什么?
- Memcached 服务在企业集群架构中有哪些应用场景?
- Memcached 服务分布式集群如何实现?
- Memcached 服务特点及工作原理是什么?
- 简述 Memcached 内存管理机制原理?
- Memcached 是怎么工作的?
- Memcached 如何实现冗余机制?
- Memcached 如何处理容错的?
- Memcached 的多线程是什么?如何使用它们?
- 如何实现集群中的 Session 共享存储?
- Memcached 与 Redis 的区别
Redis 专题
- 什么是 Redis?
- 使用 Redis 有哪些好处?
- Redis 相比 Memcached 有哪些优势?
- Redis 是单进程单线程的?
- Redis持久化机制
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
- Redis的数据类型,以及每种数据类型的使用场景
- Redis的过期策略以及内存淘汰机制
- Redis 常见性能问题和解决方案?
- 为什么Redis的操作是原子性的,怎么保证原子性的?
- Redis 的持久化机制是什么?各自的优缺点?
- Redis 过期键的删除策略?
- Redis 的回收策略(淘汰策略)?
- Redis 的同步机制了解么?
- 是否使用过 Redis 集群,集群的原理是什么?
MySQL 专题
- 数据库引擎有哪些
- 数据库的三范式是什么
- 常见索引原则有哪些
- 什么是内联接、左外联接、右外联接?
- 并发事务带来哪些问题?
- 事务隔离级别有哪些?MySQL的默认隔离级别是?
- 大表如何优化?
- MySQL 中有哪几种锁?
- MySQL 中有哪些不同的表格?
- 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
- 主键和候选键有什么区别?
- 列对比运算符是什么?
- MySQL 支持事务吗?
- 索引的底层实现原理和优化
JVM 专题
- 怎么获取 Java 程序使用的内存?堆使用的百分比?
- 你能保证 GC 执行吗?
- 解释 Java 堆空间及 GC?
- JRE、JDK、JVM 及 JIT 之间有什么不同?
- 怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
- java中会存在内存泄漏吗,请简单描述。
- Java 中堆和栈有什么区别?
- 描述一下 JVM 加载 class 文件的原理机制
- GC 是什么?为什么要有 GC?
- 讲讲JVM的新生代、老年代、永久代、
- JVM双亲委派了解过吗?
- JVM的永久代中会发生垃圾回收么
- 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
Java并发专题
- 简述一下你对线程池的理解
- Java中实现多线程有几种方法
- 如何停止一个正在运行的线程
- volatile关键字的作用?可以保证有序性吗?
- SynchronizedMap和ConcurrentHashMap有什么区别?
- 说一说自己对于 synchronized 关键字的了解
- 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式
- 什么是线程安全?Vector是一个线程安全类吗?
- 讲一下乐观锁、悲观锁、自旋锁
- 死锁与活锁的区别,死锁与饥饿的区别?
- 线程与进程的区别?
- 什么是多线程中的上下文切换?
Java序列化 + 注解 专题
Java IO/NIO + 反射 专题
- Java IO与 NIO的区别
- 字节流与字符流的区别
- 多路复用
- 信号驱动
- 异步同步
- 反射的作用
- 哪里会用到反射机制?
- 反射实现方式
- Java反射类
Java异常处理专题
Java集合/泛型专题
- ArrayList和linkedList的区别
- HashMap和HashTable的区别
- Array与ArrayList有什么不一样?
- 说说List,Set,Map三者的区别
- 什么是Set集合
- Vector( 数组实现、 线程同步)
- 说说LinkList(链表)
- HashMap(数组+链表+红黑树)
- HashTable(线程安全)
- 类型通配符?
- 泛型类
- 什么是TreeSet(二叉树)
总结
一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。
这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。
最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!
Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
20%涨薪。
最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!
Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
[外链图片转存中…(img-hFABBYnQ-1709726689011)]
本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录
相关文章:

java常用技术栈,java面试带答案
前言 我们从一个问题引入今天的主题。 在日常业务开发中,我们可能经常听到 DBA 对我们说“不要”(注意:不是禁止)使用 join,那么为什么 DBA 对 join 这么抵触呢?是 join 本身有问题,还是我们使…...
刷题第11天
代码随想录刷题第11天 | 二叉树前中后序遍历 前序遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x…...

QML中动态增加表格数据
1.QML中的表格实现 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_modelTabl…...

OBS插件开发(二)推流实时曲线
不发视频了,截个图算了,嫌麻烦 1,自定义QWidget图表绘制 ,动态更新 2,OBS直播帧率,码率监控 3,主要用于前端推流状况可视化,异常报警,及时性,无人值守直播...

Linux编程3.3 进程-进程的终止
1、正常终止 从main函数返回调用exit(标准C库函数)调用_exti或_Exit(系统调用)最后一个线程从其启动例程返回最后一个线程调用 pthread exit 2、异常终止 调用abort接受到一个信号并终止最后一个线程对取消请求做处理响应 3、进程返回 通常程序运行…...

排序(3)——直接选择排序
目录 直接选择排序 基本思想 整体思路(升序) 单趟 多趟 代码实现 特性总结 直接选择排序 基本思想 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的…...
[LeetBook]【学习日记】数组内重组
题目:训练计划 I 训练计划 I 教练使用整数数组 actions 记录一系列核心肌群训练项目编号。为增强训练趣味性,需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以数组形式返回。 示例 1: 输入:act…...

【Linux】磁盘情况、挂载,df -h无法看到的卷
文章目录 解决挂载、解决挂载完重启就消失1、查看linux下的硬盘挂载的空间、使用空间2、查看没有挂载的硬盘是否检测在系统中3、挂载 (挂载完,要在/etc/fstab 下面配置挂载信息 要不然重启挂载就消失了) 解决挂载、解决挂载完重启就消失 linu…...

AIOps实践中常见的挑战:故障根因与可观测性数据的割裂
运维的挑战与责任 在数字化时代,运维团队面临的挑战前所未有。他们不仅要确保系统的高可用性和高性能,还要快速响应并解决故障,以减少对业务的影响。在这种背景下,运维团队急需工具和技术,能够帮助他们提高效率&#…...
python 远程代码第一次推送
conda windows 环境 conda 安装后 配置环境变量 运行 conda init; conda active base 创建虚拟环境 conda create -n my_venv python3.9.5 虚拟环境应用 file-->New project --> Existing interpreter ... -->Virtualenv environment-->interpreter ...--&g…...
C++开发基础之简单的计时器也有适配场景
一、前言 计时器的开发通常涉及到计算时间间隔的方法和计算时间的方式。一般计时器的开发步骤: 获取起始时间点:在开始计时时,记录当前的时间戳作为起始时间点。 获取结束时间点:在结束计时时,记录当前的时间戳作为结…...
数电学习笔记——逻辑函数及其描述方法
目录 一、逻辑函数 二、逻辑函数的描述方法 1、逻辑真值表 2、逻辑函数式 3、逻辑图 4、波形图 三、逻辑函数的两种标准形式 1、最小项与最大项 最小项 最小项的性质 最大项 最大项的性质 2、最大项与最小项的关系 3、逻辑函数的最小项之和形式 4、逻辑函数的最…...

2024年护眼台灯哪家品牌好?五款优质品牌专业推荐
护眼台灯几乎是每个孩子书桌上都会有的灯具,但还是有不少家长觉得是“智商税”。其实护眼台灯好处非常多,列如能够提供舒适的照明,缓解用眼疲劳,预防近视等等。所以今天准备了一期护眼台灯测评,并附上护眼台灯的榜单&a…...

搜索iconfont或者阿里图标就可以得到免费的图标
你在搜索过程中就会出现一些无耻,不要脸的网站,比如说下面这个 这个才是阿里图标 看它的网址 都是免费的...

android实战视频教程,细数Android开发者的艰辛历程
缘起 随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美…...
nav2_gps_waypoint_follower_demo 不能在ros2 humble中直接使用的解决方法
GIT上的nav2_gps_waypoint_follower_demo是基于ros-iron编写的,其中followGpsWaypoints(wps) service只能在Iron上使用。 解决方法: 第一步:将interactive_waypoint_follower.py修改为如下代码: import rclpy from rclpy.node …...
华为OD机试 - 螺旋数字矩阵
1 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始&…...
Vue响应式内容丢失处理
对数组和对象进行不当的修改会使Vue的对象丢失响应式,这时可以直接console.log丢失的对象,看是否有getter和setter 对于数组和对象,只有使用 Vue 提供的一些方法(如 push()、pop()、splice()、set() 等)进行修改才会触…...

Linux安装Rabbitmq
说明:本文章主要是rabbitmq在Linux系统上的安装,文章中包含了rabbitmq的下载及依赖下载 1.版本选取,这里的选取主要是版本的兼容问题 去这个网址查看mq和erlang版本兼容:RabbitMQ Erlang Version Requirements | RabbitMQ 2.相…...

在nginx 服务器部署vue项目
以人人快速开发的开源项目:renren-fast-vue 为例 注:这里开始认为各位都会使用nginx 打包vue项目 npm run build 测试打包的项目是否可以运行 serve dist 可以正常运行 编译报错请移步到:renren-fast-vue1.2.2 项目编译报错: build g…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...

Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...