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

具体面试题

具体面试题

Java 基础

  1. JDK 和 JRE 有什么区别?

  2. == 和 equals 的区别是什么?

  3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?

  4. final 在 java 中有什么作用?

  5. java 中的 Math.round(-1.5) 等于多少?

  6. String 属于基础的数据类型吗?

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

  8. String str="i"与 String str=new String(“i”)一样吗?

  9. 如何将字符串反转?

  10. String 类的常用方法都有那些?

  11. 抽象类必须要有抽象方法吗?

  12. 普通类和抽象类有哪些区别?

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

  14. 接口和抽象类有什么区别?

  15. java 中 IO 流分为几种?

  16. BIO、NIO、AIO 有什么区别?

  17. Files的常用方法都有哪些?

Java 容器

  1. java 容器都有哪些?

  2. Collection 和 Collections 有什么区别?

  3. List、Set、Map 之间的区别是什么?

  4. HashMap 和 Hashtable 有什么区别?

  5. 如何决定使用 HashMap 还是 TreeMap?

  6. 说一下 HashMap 的实现原理?

  7. 说一下 HashSet 的实现原理?

  8. ArrayList 和 LinkedList 的区别是什么?

  9. 如何实现数组和 List 之间的转换?

  10. ArrayList 和 Vector 的区别是什么?

  11. Array 和 ArrayList 有何区别?

  12. 在 Queue 中 poll()和 remove()有什么区别?

  13. 哪些集合类是线程安全的?

  14. 迭代器 Iterator 是什么?

  15. Iterator 怎么使用?有什么特点?

  16. Iterator 和 ListIterator 有什么区别?

  17. 怎么确保一个集合不能被修改?

多线程

  1. 并行和并发有什么区别?

  2. 线程和进程的区别?

  3. 守护线程是什么?

  4. 创建线程有哪几种方式?

  5. 说一下 runnable 和 callable 有什么区别?

  6. 线程有哪些状态?

  7. sleep() 和 wait() 有什么区别?

  8. notify()和 notifyAll()有什么区别?

  9. 线程的 run()和 start()有什么区别?

  10. 创建线程池有哪几种方式?

  11. 线程池都有哪些状态?

  12. 线程池中 submit()和 execute()方法有什么区别?

  13. 在 java 程序中怎么保证多线程的运行安全?

  14. 多线程锁的升级原理是什么?

  15. 什么是死锁?

  16. 怎么防止死锁?

  17. ThreadLocal 是什么?有哪些使用场景?

  18. 说一下 synchronized 底层实现原理?

  19. synchronized 和 volatile 的区别是什么?

  20. synchronized 和 Lock 有什么区别?

  21. synchronized 和 ReentrantLock 区别是什么?

  22. 说一下 atomic 的原理?

反射

  1. 什么是反射?

  2. 什么是 java 序列化?什么情况下需要序列化?

  3. 动态代理是什么?有哪些应用?

  4. 怎么实现动态代理?

  5. 对象拷贝

  6. 为什么要使用克隆?

  7. 如何实现对象克隆?

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

  9. Java Web

  10. jsp 和 servlet 有什么区别?

  11. jsp 有哪些内置对象?作用分别是什么?

  12. 说一下 jsp 的 4 种作用域?

  13. session 和 cookie 有什么区别?

  14. 说一下 session 的工作原理?

  15. 如果客户端禁止 cookie 能实现 session 还能用吗?

  16. spring mvc 和 struts 的区别是什么?

  17. 如何避免 sql 注入?

  18. 什么是 XSS 攻击,如何避免?

  19. 什么是 CSRF 攻击,如何避免?

  20. 异常

  21. throw 和 throws 的区别?

  22. final、finally、finalize 有什么区别?

  23. try-catch-finally 中哪个部分可以省略?

  24. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

  25. 常见的异常类有哪些?

  26. 网络

  27. http 响应码 301 和 302 代表的是什么?有什么区别?

  28. forward 和 redirect 的区别?

  29. 简述 tcp 和 udp的区别?

  30. tcp 为什么要三次握手,两次不行吗?为什么?

  31. 说一下 tcp 粘包是怎么产生的?

  32. OSI 的七层模型都有哪些?

  33. get 和 post 请求有哪些区别?

  34. 如何实现跨域?

  35. 说一下 JSONP 实现原理?

  36. 设计模式

  37. 说一下你熟悉的设计模式?

  38. 简单工厂和抽象工厂有什么区别?

  39. Spring/Spring MVC

  40. 为什么要使用 spring?

  41. 解释一下什么是 aop?

  42. 解释一下什么是 ioc?

  43. spring 有哪些主要模块?

  44. spring 常用的注入方式有哪些?

  45. spring 中的 bean 是线程安全的吗?

  46. spring 支持几种 bean 的作用域?

  47. spring 自动装配 bean 有哪些方式?

  48. spring 事务实现方式有哪些?

  49. 说一下 spring 的事务隔离?

  50. 说一下 spring mvc 运行流程?

  51. spring mvc 有哪些组件?

  52. @RequestMapping 的作用是什么?

  53. @Autowired 的作用是什么?

  54. Spring Boot/Spring Cloud

  55. 什么是 spring boot?

  56. 为什么要用 spring boot?

  57. spring boot 核心配置文件是什么?

  58. spring boot 配置文件有哪几种类型?它们有什么区别?

  59. spring boot 有哪些方式可以实现热部署?

  60. jpa 和 hibernate 有什么区别?

  61. 什么是 spring cloud?

  62. spring cloud 断路器的作用是什么?

  63. spring cloud 的核心组件有哪些?

  64. Hibernate

  65. 为什么要使用 hibernate?

  66. 什么是 ORM 框架?

  67. hibernate 中如何在控制台查看打印的 sql 语句?

  68. hibernate 有几种查询方式?

  69. hibernate 实体类可以被定义为 final 吗?

  70. 在 hibernate 中使用 Integer 和 int 做映射有什么区别?

  71. hibernate 是如何工作的?

  72. get()和 load()的区别?

  73. 说一下 hibernate 的缓存机制?

  74. hibernate 对象有哪些状态?

  75. 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?

  76. hibernate 实体类必须要有无参构造函数吗?为什么?

  77. Mybatis

  78. mybatis 中 #{}和 ${}的区别是什么?

  79. mybatis 有几种分页方式?

  80. RowBounds 是一次性查询全部结果吗?为什么?

  81. mybatis 逻辑分页和物理分页的区别是什么?

  82. mybatis 是否支持延迟加载?延迟加载的原理是什么?

  83. 说一下 mybatis 的一级缓存和二级缓存?

  84. mybatis 和 hibernate 的区别有哪些?

  85. mybatis 有哪些执行器(Executor)?

  86. mybatis 分页插件的实现原理是什么?

  87. mybatis 如何编写一个自定义插件?

  88. RabbitMQ

  89. rabbitmq 的使用场景有哪些?

  90. rabbitmq 有哪些重要的角色?

  91. rabbitmq 有哪些重要的组件?

  92. rabbitmq 中 vhost 的作用是什么?

  93. rabbitmq 的消息是怎么发送的?

  94. rabbitmq 怎么保证消息的稳定性?

141.rabbitmq 怎么避免消息丢失?

  1. 要保证消息持久化成功的条件有哪些?

  2. rabbitmq 持久化有什么缺点?

  3. rabbitmq 有几种广播类型?

  4. rabbitmq 怎么实现延迟消息队列?

  5. rabbitmq 集群有什么用?

  6. rabbitmq 节点的类型有哪些?

  7. rabbitmq 集群搭建需要注意哪些问题?

  8. rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?

  9. rabbitmq 集群中唯一一个磁盘节点崩溃了会发生什么情况?

  10. rabbitmq 对集群节点停止顺序有要求吗?

  11. Kafka

  12. kafka 可以脱离 zookeeper 单独使用吗?为什么?

  13. kafka 有几种数据保留的策略?

  14. kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?

  15. 什么情况会导致 kafka 运行变慢?

  16. 使用 kafka 集群需要注意什么?

  17. Zookeeper

  18. zookeeper 是什么?

  19. zookeeper 都有哪些功能?

  20. zookeeper 有几种部署模式?

  21. zookeeper 怎么保证主从节点的状态同步?

  22. 集群中为什么要有主节点?

  23. 集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?

  24. 说一下 zookeeper 的通知机制?

  25. MySql

  26. 数据库的三范式是什么?

  27. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?

  28. 如何获取当前数据库版本?

  29. 说一下 ACID 是什么?

  30. char 和 varchar 的区别是什么?

  31. float 和 double 的区别是什么?

  32. mysql 的内连接、左连接、右连接有什么区别?

  33. mysql 索引是怎么实现的?

  34. 怎么验证 mysql 的索引是否满足需求?

  35. 说一下数据库的事务隔离?

  36. 说一下 mysql 常用的引擎?

  37. 说一下 mysql 的行锁和表锁?

  38. 说一下乐观锁和悲观锁?

  39. mysql 问题排查都有哪些手段?

  40. 如何做 mysql 的性能优化?

  41. Redis

  42. redis 是什么?都有哪些使用场景?

  43. redis 有哪些功能?

  44. redis 和 memecache 有什么区别?

  45. redis 为什么是单线程的?

  46. 什么是缓存穿透?怎么解决?

  47. redis 支持的数据类型有哪些?

  48. redis 支持的 java 客户端都有哪些?

  49. jedis 和 redisson 有哪些区别?

  50. 怎么保证缓存和数据库数据的一致性?

  51. redis 持久化有几种方式?

189.redis 怎么实现分布式锁?

  1. redis 分布式锁有什么缺陷?

  2. redis 如何做内存优化?

  3. redis 淘汰策略有哪些?

  4. redis 常见的性能问题有哪些?该如何解决?

  5. JVM

  6. 说一下 jvm 的主要组成部分?及其作用?

  7. 说一下 jvm 运行时数据区?

  8. 说一下堆栈的区别?

  9. 队列和栈是什么?有什么区别?

  10. 什么是双亲委派模型?

  11. 说一下类加载的执行过程?

  12. 怎么判断对象是否可以被回收?

  13. java 中都有哪些引用类型?

  14. 说一下 jvm 有哪些垃圾回收算法?

  15. 说一下 jvm 有哪些垃圾回收器?

  16. 详细介绍一下 CMS 垃圾回收器?

  17. 新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?

  18. 简述分代垃圾回收器是怎么工作的?

  19. 说一下 jvm 调优的工具?

  20. 常用的 jvm 调优的参数都有哪些?

相关文章:

具体面试题

具体面试题 Java 基础 JDK 和 JRE 有什么区别? 和 equals 的区别是什么? 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等…...

Logback ThresholdFilter LevelFilter

当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现。在Logback中自带了两个过滤器实现: ch.qos.logback.classic.filter.LevelFilter和 ch.qos.logback.classic.filter.ThresholdFilter&#xff0c…...

python+django+mysql项目实践二(前端及数据库)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 前端模板 添加模板 在templates下创建 views文件中添加 创建数据库 连接数据库 在setting文件中进行配置 创建表...

Kubernetes高可用集群二进制部署(五)kubelet、kube-proxy、Calico、CoreDNS

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署…...

拦截器对接口细粒度权限校验

文章目录 一、逻辑分析二、校验规则1.规则类型2.规则划分3.规则配置信息4.规则案例说明5.规则加载 三、拦截器定义1.自定义拦截器2.注册拦截器 四、获取请求参数1.获取get提交方式参数2.获取post提交方式参数(1)定义RequestWrapper类(2&#…...

计算机科技历史纵横:8月6日的十大里程碑

计算机科技历史纵横:8月6日的十大里程碑 目录 引言1951年:EDSAC电脑完成第一个实际计算任务1964年:IBM发布System/360系列1973年:Xerox PARC开发出第一台个人电脑Xerox Alto1976年:Apple发布Apple I电脑1981年&#…...

知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例,Neo4j图算法是一套在Neo4j图数据库上运行的算法集合。这些算法专门针对图数据结构进行设计,用于分析、查询和处理图数据。图算法可以帮助我们发现图中的模…...

C++ 头文件函数大全

<cstdio>头文件&#xff1a; scanf("%d",&a); cin>>a; scanf("%d%d",&a,&b); cin>>a>>b; for(i1;i<n;i) scanf("&d,&alil); cin>>a[i]; printf("%d",a); cout&l…...

智慧物流园区整体架构方案【46页PPT】

导读&#xff1a;原文《智慧物流园区整体架构方案【46页PPT】》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式&#xff1a; 如需获取…...

llama2模型下载

介绍 LLaMA 2-CHAT与OpenAI ChatGPT效果一样好。LLaMA 2与LLaMA 1架构相同,LLaMA 2训练数据是2000000000000个tokens,还是用了1000000个人类新标注的数据。上下文长度由2048提升为4096。 本教程提供两种下载方式: 1官方下载脚本下载 2hugging face网站下载 官网资格申请 …...

C高级【day4】

思维导图&#xff1a; 写一个函数&#xff0c;获取用户的uid和gid并使用变量接收&#xff1a; #!/bin/bashfunction get_uid {my_uidid -umy_gidid -g }get_uid echo "当前用户的UID&#xff1a;$my_uid" echo "当前用户的GID&#xff1a;$my_gid"整理冒泡…...

【前端实习生备战秋招】—HTML 和 CSS面试题总结(一)

【前端实习生备战秋招】—HTML 和 CSS面试题总结&#xff08;一&#xff09; 1. 你做的页面在哪些流览器测试过&#xff1f;这些浏览器的内核分别是什么? IE:trident内核 Firefox&#xff1a;gecko内核 Safari:webkit内核 Opera:以前是presto内核&#xff0c;Opera现已改用Goo…...

【从零学习python 】02. 开发工具介绍

文章目录 编写Python代码一、常见的代码编辑工具二、运行Python程序三、Pycharm的下载和安装PyCharm的主要功能区域进阶案例 编写Python代码 根据我们之前介绍的知识&#xff0c;我们知道&#xff0c;所谓代码其实就是将一段普通文本按照一定的规范编写&#xff0c;然后交给电…...

Python:Spider爬虫工程化入门到进阶(2)使用Spider Admin Pro管理scrapy爬虫项目

Python&#xff1a;Spider爬虫工程化入门到进阶系列: Python&#xff1a;Spider爬虫工程化入门到进阶&#xff08;1&#xff09;创建Scrapy爬虫项目Python&#xff1a;Spider爬虫工程化入门到进阶&#xff08;2&#xff09;使用Spider Admin Pro管理scrapy爬虫项目 目录 1、使…...

CubeMap convert into Octahedral思路

看了一些介绍&#xff0c;大多都是如何采样Octahedral的&#xff0c;那么如何把cubemap转成为这个呢 首先&#xff0c;我们想想 Vec4 Sample(Vec3 direction) { // Some logicwait wait wait think about what weve got here UV UV UV! return SampleTexture(Image, UV); }这个…...

vue项目实战-脑图编辑管理系统kitymind百度脑图

前言 项目为前端vue项目&#xff0c;把kitymind百度脑图整合到前端vue项目中&#xff0c;显示了脑图的绘制&#xff0c;编辑&#xff0c;到处为json&#xff0c;png&#xff0c;text等格式的功能 文章末尾有相关的代码链接&#xff0c;代码只包含前端项目&#xff0c;在原始的…...

c++调用ffmpeg api录屏 并进行rtmp推流

代码及工程见https://download.csdn.net/download/daqinzl/88156528 开发工具&#xff1a;visual studio 2019 记得启动rtmp流媒体服务 nginx的rtmp服务见https://download.csdn.net/download/daqinzl/20478812 播放&#xff0c;采用ffmpeg工具集里的ffplay.exe, 执行命令 f…...

SQL分类及通用语法数据类型(超详细版)

一、SQL分类 SQL是结构化查询语言&#xff08;Structured Query Language&#xff09;的缩写。它是一种用于管理和操作关系型数据库系统的标准化语言。SQL分类如下&#xff1a; DDL: 数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;DML:…...

配置Hive远程服务详细步骤

HiveServer2支持多客户端的并发和认证&#xff0c;为开放API客户端如JDBC、ODBC提供了更好的支持。 &#xff08;1&#xff09;修改hive-site.xml&#xff0c;在文件中添加以下内容&#xff1a; <property><name>hive.metastore.event.db.notification.api.auth&l…...

Java中实现图片和Base64的互相转化

文章目录 前言一、代码二、测试三、结果 前言 公司项目中用到了实名认证此&#xff0c;采用的第三方平台。后端中用到的单项功能为身份证信息人像对比功能&#xff0c;在写demo的过程中发现&#xff0c;它们所要求的图片信息为base64编码格式。 一、代码 package com.bajiao…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架

1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...