【java】常见面试题目

文章目录

    • 一、JAVA基础篇
    • 二、多线程篇
    • 三、SQL篇
    • 四、No-SQL篇
    • 五、MQ篇
    • 六、框架篇
    • 七、JVM篇
    • 八、常见算法题

一、JAVA基础篇

1、ConcurrentHashMap是如何保证线程安全的,HashMap为什么是线程不安全的? HashTable为什么是线程安全的,HashSet为什么是线程不安全的?

2、volatile是如何保证变量,在线程之间是互相可见的,为什么它无法保证原子性?

3、JDK8中新增的Lambda、Stream的流式编程

4、Future、CompleteFuture的基本原理

5、创建线程的3种方式:Thread 、Runnable、Callable

二、多线程篇

1、线程池的底层是如何实现的,常用的线程池有哪些?任务队列有哪几种?各自有什么特性?拒绝策略有哪几种,分别有什么区别?

2、synchronized如何保证线程安全的?

3、ReentrantLock底层是如何实现的,其创建的公平锁和非公平锁是如何实现的?AQS指的是什么?

4、CAS(Compare and swap) 的基本原理是什么?如何避免CAS过程中产生的ABA的问题?

5、悲观锁、乐观锁、公平锁、非公平锁、自旋锁分别是什么意思?

6、过度加锁是指什么意思?

三、SQL篇

1、MySQL的聚簇索引和非聚簇索引区别,查询过程分别是怎样的?什么是回表?

2、MySQL底层的数据结构是什么?数据页和索引页之间是怎么管理的?

3、MySQL的索引是如何生效的?索引的代价是什么?索引失效和索引生效的机制是怎样的?

4、数据库的事务隔离级别 : Read Uncommitted、 Read Committed、 Repeatable Read、Serializable,四种隔离级别分别会带来什么样的问题?(脏读、不可重复读、幻读)

5、数据库对于这些事务隔离是如何保证的?(MVCC、Next-Key-Locks)

6、分布式事务TCC 模式、XA 模式、AT 模式、SAGA 模式,分别是如何实现的?各自有什么缺点?

四、No-SQL篇

1、Redis的过期策略

2、Redis的底层数据持久化分为RDB和AOF,各自有什么优点和缺点?

3、Redis分布式锁是怎么回事?

4、缓存雪崩、缓存击穿、缓存穿透分别是什么?如何解决?

5、布隆过滤器的底层实现怎样的?它有什么缺点?

五、MQ篇

1、Kafka集群原理、主从节点各自功能是什么?数据是如何持久化的?

2、KafkaProducer在发送消息时,是如何选择分区的?RecordAccumulator线程和Send线程的作用分别是什么?发送的消息有哪几种压缩方式?

3、KafkaConsumer中,ConsumerGroup和GroupCoordinator是如何工作的?

4、如何提高消费者集群的消费能力?消费者集群中,什么情况下会发生Rebalance,会有什么影响?

发生Rebalance时,分区重配策略Range、Round Robin、Sticky分别是怎样的?

六、框架篇

1、Mybatis是怎么通过动态代理实现查询?MapperProxy和MapperMethod分别是什么作用?

2、Spring的AOP是如何实现的?JDK自带的动态代理和基于Cglib的动态代理有什么区别?

3、Airflow的六个模块(WebServer、Worker、Flower、Scheduler、Postgres、Redis),分别是有什么作用?如何提高airflow的性能?

4、BeanFactory 和 FactoryBean有什么区别?

5、Kubernates 主节点 : API-Server、 Scheduler、 Controller、 etcd ,从节点 : Kubelet、Kube-proxy、 Docker ,各自的功能是什么?

6、Kubernates的 Ingress、Service、Deployment、Pod、Container之间是怎么关联的?

7、同一节点Pod内部容器、同一节点不同Pod内的容器、不同节点Pod内的容器,是如何通信的?

8、Hadoop框架的内部结构是怎样的?Map和Reduce的工作机制是怎样的?

9、Hadoop是如何基于作业jar包,开展map和reduce计算的?在这过程中,Shuffle起到了什么作用?

七、JVM篇

1、JVM内分为哪几个部分?在JVM中,是如何新建一个类的?

2、JVM的GC算法有:标记清理法、标记整理法、标记复制法,分别有什么优缺点?

3、一个对象是如何从年轻代到过度代,再到老年代的?

4、Minor GC 和 Major GC的区别是什么?

5、如何对JVM性能调优?

八、常见算法题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发工程师——数据可视化

canvas canvas绘制线段 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthd…

如何使用KNN

导入文件和库 加载数据集、拆分数据集 训练模型 预测 打印结果

自从有了可观测性,传统运维如何进行提升?

在 201x 年&#xff0c;随着容器技术的出现&#xff0c;容器的部署方式逐渐被各大互联网公司采用&#xff0c;相比物理机/虚拟机&#xff0c;容器的好处是环境隔离、轻量、快速。 但是管理容器是一件复杂的事情&#xff0c;后来出现了 Kubernetes&#xff0c;成为了事实上的容…

加拿大门户媒体《金融邮报》《埃德蒙顿日报》新闻媒体投放

介绍 加拿大媒体广告投放是企业宣传推广的重要手段之一。在加拿大&#xff0c;主流媒体包括《金融邮报》和《埃德蒙顿日报》。《金融邮报》是加拿大唯一的全国性英文金融日报&#xff0c;总部位于多伦多&#xff0c;具有丰富的金融消息资源&#xff0c;可反映加拿大商界各方面…

Oracle实践|内置函数之日期与时间函数

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

五分钟”手撕“异常

目录 一、什么是异常 二、异常的体系和分类 三、异常的处理 1.抛出异常 2.异常的捕获 异常声明throws&#xff1a; try-catch处理 四、finally finally一定会被执行吗&#xff1f; 五、throw和throws区别 六、异常处理的流程 七、自定义异常 一、什么是异常 顾名…

大模型额外篇章二:基于chalm3或Llama2-7b训练酒店助手模型

文章目录 一、代码部分讲解二、实际部署步骤(CHALM3训练步骤)1)注册AutoDL官网实名认证2)花费额度挑选GPU3)准备实验环境4)开始执行脚本5)从浏览器访问6)可以开始提问7)开始微调模型8)测试训练后的模型三、基于Llama2-7b的训练四、额外补充1)修改参数后2)如果需要访问…

PHP:open_basedir restriction in effect.

当我们下载了组件&#xff0c;引入的时候出现 open_basedir restriction in effect&#xff0c;那这个时候我们该怎么弄呢&#xff1f; 首先我们进入宝塔管理页面&#xff1a;【软件商店】-【运行环境】-【安装PHP】-【设置】 其中后面的路径是用 : 来分隔表示多少个&#xff…

指纹识别系统架构

目录 1. 系统架构 1.1 指纹采集模块 1.2 指纹处理模块 1.3 指纹登记模块 1.4 指纹识别模块 1.5 指纹识别决策模块 1.6 管理模块 1.6.1 存储管理 1.6.2 传输管理 1.6.3 安全管理 1.7 应用开放功能 1.7.1 指纹登记功能 1.7.2 指纹验证功能 1.7.3 指纹辨识功能 2. …

OnlyOffice 7.4 版本打开文件时提示:文档安全令牌未正确形成。

OnlyOffice 7.4 版本打开文件时提示&#xff1a;文档安全令牌未正确形成。 笔记&#xff0c;springboot项目融合Onlyoffice时&#xff0c;出现的问题&#xff0c;解决后记录一下 笔记&#xff0c;springboot项目融合Onlyoffice时&#xff0c;出现的问题&#xff0c;解决后记录一…

Android Studio制作简单登录界面

Android Studio制作简单登录界面 实现目标 应用线性布局设计登录界面&#xff0c;要求点击输入学号时弹出数字键盘界面&#xff0c;点击输入密码时弹出字母键盘&#xff0c;出现的文字、数字、尺寸等全部在values文件夹下相应.xml文件中设置好&#xff0c;使用时直接引用。当…

如何使用perf 统计cpu和内存?

文章目录 0. 概要1. 使用perf统计CPU和内存的结果示例1.1 **统计CPU时钟周期&#xff1a;**1.2 **统计指令数量&#xff1a;**1.3 **统计缓存命中率&#xff1a;**1.4 **统计内存带宽的示例输出** 2 **注意&#xff1a;** 0. 概要 PMU&#xff08;Performance Monitoring Unit…

蓝桥杯物联网竞赛_STM32L071KBU6_关于size of函数产生的BUG

首先现象是我在用LORA发送信息的时候&#xff0c;左边显示长度是8而右边接收到的数据长度却是4 我以为是OLED显示屏坏了&#xff0c;又或者是我想搞创新用了const char* 类型强制转换数据的原因&#xff0c;结果发现都不是 void Function_SendMsg( unsigned char* data){unsi…

学习笔记——交通安全分析02

目录 前言 当天学习笔记整理 绪论 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 当天学习笔记整理 绪论 美国在道路设施安全改善过程中&#xff0c;形成了数据基…

并查集的实现(C++)

之前我已经写过一期的并查集的内容&#xff0c;这里主要是实现并查集的整体结构&#xff1a; #pragma once //并查集&#xff1a;class UnionFindSet//父母表示法; { public://构造函数&#xff1a;UnionFindSet(size_t size0):_ufs(size,-1){}//合并元素;bool Union(int x, i…

【云原生】Kubernetes基础命令合集

目录 引言 一、命令概述 &#xff08;一&#xff09;命令分类 &#xff08;二&#xff09;基本语法 二、查看基本信息 &#xff08;一&#xff09;环境指令 1.查看版本信息 2.查看资源对象简写 3.添加补全信息 4.查看日志 5.查看集群信息 &#xff08;二&#xff0…

数据结构(三)

数据结构&#xff08;三&#xff09; 图状关系顺序存储链式存储十字链表法多重链表法 图的遍历佛洛依德算法迪杰斯特拉算法洪水算法 图状关系 按有无方向分&#xff1a;有向图、无向图 按是否有权值&#xff1a;带权图、不带权图 顺序存储 链式存储 十字链表法 多重链表法 图…

【笔记】软件架构师要点记录(2)

【笔记】软件架构师要点记录 20240523案例一案例二案例三案例四案例五案例六案例七案例十 20240523 基于前10个架构案例场景&#xff0c;对用到的专业术语进行整理&#xff0c;方便后续查看。 案例一 MVC架构风格组件交互方式 MVC是一种用来构建用户界面时采用的架构设计风格…

springboot整合chatgpt,并且让其可以记录上下文

整合很简单&#xff0c;不过需要几个小条件 1.必须要有openai官方的key 2.国内需要有代理服务器或者国外的服务器把项目部署出去也没问题 我没有使用spring的springAI&#xff0c;听说很方便&#xff0c;日后有机会去体验体验&#xff0c;我今天用了两种方式整合了gpt 1.Ch…

攻防世界[GoodRe]

攻防世界[GoodRe] 学到知识&#xff1a; 逆向的精髓&#xff1a;三分懂&#xff0c;七分蒙。TEA 算法快速识别&#xff08;蒙&#xff09;&#xff1a; 数据处理的形式&#xff1a;进入加密时的数据和加密结束后的数据&#xff0c;处理时数据的分组等等&#xff0c;都能用来…