当前位置: 首页 > news >正文

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 的整体架构设计有哪些分层?
  • 默认使用的是什么通信框架,还有别的选择吗?

![](https://upload-images.jianshu.io/upload_images/22932333-2b6f273d4f39543e?ima

点击领取2024完整开源项目《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

geMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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 题目描述 疫情期间&#xff0c;小明隔离在家&#xff0c;百无聊赖&#xff0c;在纸上写数字玩。他发明了一种写法&#xff1a; 给出数字个数 n &#xff08;0 < n ≤ 999&#xff09;和行数 m&#xff08;0 < m ≤ 999&#xff09;&#xff0c;从左上角的 1 开始&…...

Vue响应式内容丢失处理

对数组和对象进行不当的修改会使Vue的对象丢失响应式&#xff0c;这时可以直接console.log丢失的对象&#xff0c;看是否有getter和setter 对于数组和对象&#xff0c;只有使用 Vue 提供的一些方法&#xff08;如 push()、pop()、splice()、set() 等&#xff09;进行修改才会触…...

Linux安装Rabbitmq

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

在nginx 服务器部署vue项目

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

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

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&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 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# 如果存在&#xff0…...

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数据帧格式 📦 帧结构详解 🔍…...

自然语言处理——文本分类

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

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 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…...