某小厂java后端初面,记录一下
好吧,,,,,本人很菜,再接再励吧,继续刷。简单记录一下面试题,未亡羊补牢呗。
1.lift join ;inner join ;right join 的区别
2. union 和union all的区别
3.like查询会走索引吗?
4.主键和索引的区别
5.count(*),count(1),count(ID)的区别
6.exists了解吗?作用是什么
7.线程池了解吗?
8.spring创建的bean是单例模式还是多例模式,怎么区分?
9.国产数据库了解吗?
10.hashmap和hashTable的区别
11.list是有序的吗?
12.如果一个程序中有个方法响应很慢,你会怎么排查?说说你的思路
13.你有没有什么问题要问我的?没有,好吧,我给你介绍一下我们做的事情,巴拉巴拉…
1.lift join ;inner join ;right join 的区别
INNER JOIN(内连接): 只返回两个表中匹配的行,即只返回连接条件为真的行。
如果一个表中的行在另一个表中没有匹配的行,那么这些行不会出现在结果中。 INNER JOIN返回的是两个表的交集部分。 LEFT
JOIN(左连接): 返回左边表中的所有行,以及与右边表匹配的行。 如果右边表中没有与左边表匹配的行,则返回NULL。 LEFT
JOIN以左表为基础,返回左表的所有记录,以及右表中与左表匹配的记录。如果右表中没有匹配项,则结果中对应字段的值将为NULL。 RIGHT
JOIN(右连接): 返回右边表中的所有行,以及与左边表匹配的行。 如果左边表中没有与右边表匹配的行,则返回NULL。 RIGHT
JOIN以右表为基础,返回右表的所有记录,以及左表中与右表匹配的记录。如果左表中没有匹配项,则结果中对应字段的值将为NULL。
2. union 和union all的区别
1.对结果集的处理方式:Union会对两个或多个结果集进行并集操作,并自动压缩掉其中的重复行,只显示唯一的值,相当于执行了distinct操作。而Union All也会进行并集操作,但它会包括所有的结果,无论是否重复,即所有的结果全部显示。
2.执行效率:由于Union需要对结果集进行去重操作,而Union All则不需要,因此在处理大量数据时,Union All的执行效率通常会比Union高。当可以确认合并的两个结果集中不包含重复数据且不需要排序时,使用Union All会更合适。
3. 是否排序:Union会按照字段的顺序对结果集进行排序,而Union All只是简单地将两个结果合并后就返回,不会对结果进行排序。
3.like查询会走索引吗?
LIKE查询在一定条件下是可以走索引的,关键在于查询的具体形式以及数据库系统的实际处理方式。为了确保LIKE查询能够有效利用索引,最佳实践是尽量避免在搜索词首使用通配符,并确保为常作为LIKE查询条件的列创建合适的索引。
在实际应用中,为了确定LIKE查询是否使用了索引,可以使用数据库的执行计划工具来查看查询的执行计划。这些工具可以显示查询是如何使用索引的,以及是否进行了全表扫描。
4.主键和索引的区别
主键是用于确保数据唯一性的关键约束,同时也自带了一个隐含的唯一索引;而索引则是为了提高数据检索效率的辅助结构,它并不直接涉及数据完整性约束,但能极大提高查询性能。
5.count(*),count(1),count(ID)的区别
count(*):计算结果集中所有行数,包括那些含有null值的行; 它只是简单计算行数,并不关心里面的数据 count(1):
功能上与count(*)类似,也是计算所有行数。
count(ID):计算列(ID)中非null的值的数量。如果ID列中有null的值,这些值不会计算在总数中。由于COUNT(ID)会检查ID中的值是否为null,所以查询效率相对低一些。
6.exists了解吗?作用是什么
EXISTS 是一个重要的关键字,它的主要作用是用来检验一个子查询是否至少会返回一行数据。EXISTS 并不关注子查询返回的具体数据内容,而是关心是否存在满足子查询条件的结果行。
具体作用如下:
结果判断:EXISTS 子查询的结果是一个布尔值 (TRUE 或 FALSE)。如果子查询的结果集中包含至少一行数据,那么 EXISTS
子查询的结果就是 TRUE;若子查询没有返回任何数据,则结果是 FALSE。过滤行:在主查询中配合 WHERE 子句使用 EXISTS 时,可以用来过滤主查询的结果集。只有当 EXISTS 子查询的结果为 TRUE时,对应的主查询中的行才会被选择出来。
例如,下面是一个使用 EXISTS 的 SQL 查询语句示例:
Sql SELECT column1, column2 FROM table1 WHERE EXISTS (SELECT 1 FROM table2 WHERE table2.columnA = table1.columnA AND table2.columnB = 'some_value' );
在这个查询中,将从 table1 中选择那些在 table2 中具有相同 columnA 值并且
columnB 为 ‘some_value’ 的行。如果对于 table1中的任何一行,子查询能找到匹配的记录,那么这一行就会被包含在最终的结果集中。相对于 IN 子查询,EXISTS 在某些情况下可能具有更好的性能表现,特别是在主表较小而子查询结果集较大的场景下,因为 EXISTS
只需找到匹配的第一行即可得出结论。而 IN 子查询通常需要构造完整的子查询结果集并进行比较。此外,EXISTS 更适用于检查相关性而非具体值
7.线程池了解吗?(高频问题好吧)
我的回答是不了解,惭愧惭愧
后面几个明天再总结,晚安,玛卡巴卡
8.spring创建的bean是单例模式还是多例模式,怎么区分?
9.国产数据库了解吗?
10.hashmap和hashTable的区别
11.list是有序的吗?
12.如果一个程序中有个方法响应很慢,你会怎么排查?说说你的思路
相关文章:
某小厂java后端初面,记录一下
好吧,,,,,本人很菜,再接再励吧,继续刷。简单记录一下面试题,未亡羊补牢呗。 1.lift join ;inner join ;right join 的区别 2. union 和union all的区别 3.like查询会走索引吗&#x…...

Unity制作马赛克效果
大家好,我是阿赵。 之前在玩怒之铁拳4里面,看到了马赛克场景转换的效果,觉得很有趣,于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果: 马赛克转场 这里我是直接写shader实现的,我这里是把…...

【零基础学习04】嵌入式linux驱动中信号量功能基本实现
大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…...

SQL中常见的DDL操作及示例,数据库操作及表操作
目录 一、数据库操作 1、创建数据库 2、查看所有数据库 3、使用数据库 4、删除数据库 二、表操作: 1、创建表 2、查看表结构 3、修改表结构 3.1 添加列 3.2 修改列数据类型 3.3 修改列名 3.4 删除列 3.5 修改表名 3.6 删除表 注意: 在数…...
python 基础练习题
目录 1、定义两个变量,交换两个变量【使用多种方式】 2、给定成绩,判断用户成绩的档次 3. 作业:下列哪一项是“4是奇数或-9为正数”的否定( ) 4. 作业:判断一个整数是奇数还是偶数 5. 求矩形的面积和周…...

前端请求到 SpringMVC 的处理流程
1. 发起请求 客户端通过 HTTP 协议向服务器发起请求。 2. 前端控制器(DispatcherServlet) 这个请求会先到前端控制器 DispatcherServlet,它是整个流程的入口点,负责接收请求并将其分发给相应的处理器。 3. 处理器映射…...

Redis(5.0)
1、什么是Redis Redis是一种开源的、基于内存、支持持久化的高性能Key-Value的NoSQL数据库,它同时也提供了多种数据结构来满足不同场景下的数据存储需求。 2、安装Redis(Linux) 2.1、去官网(http://www.redis.cn/)下…...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的木材表面缺陷检测系统(深度学习+Python代码+UI界面+训练数据集)
摘要:开发高效的木材表面缺陷检测系统对于提升木材加工行业的质量控制和生产效率至关重要。本篇博客详细介绍了如何运用深度学习技术构建一个木材表面缺陷检测系统,并提供了完整的实现代码。该系统采用了强大的YOLOv8算法,并对YOLOv7、YOLOv6…...
Rust 的 into_owned() 方法
into_owned 是 Rust 语言中 std::borrow::Cow 枚举的一个方法。Cow 是一个“克隆在写时”(Copy on Write)的智能指针,它可以包含对数据的引用或数据的实际所有权。这种设计模式在需要避免不必要的数据复制时特别有用,尤其是当数据…...

stimulsoft report for js vue3使用
项目后端使用的java,试验过积木报表(web界面类型的)、JasperReport(.jasper报表文件)、stimulsoft web版本(.mrt报表文件) 我们的项目是前后端分离的,用积木报表(开箱即…...
JavaScript yield关键字使用举例
yield是JavaScript中的一个关键字,用于定义生成器函数(generator function)中的暂停点。它允许函数在执行过程中暂停,并在下一次调用时从暂停点继续执行。下面是一个使用yield的例子: function* generator() {yield Hello;yield World; }const gen = generator();console…...

18. 查看帖子详情
文章目录 一、建立路由二、开发GetPostDetailHandler三、编写logic四、编写dao层五、编译测试运行 一、建立路由 router/route.go v1.GET("/post/:id", controller.GetPostDetailHandler)二、开发GetPostDetailHandler controller/post.go func GetPostDetailHand…...

【算法刷题】Day30
文章目录 1. 汉诺塔问题题干:算法原理:代码: 2. 合并两个有序链表题干:算法原理:代码: 3. 反转链表题干:算法原理:代码: 4. 最大子数组和题干:算法原理&#…...

docker容器镜像管理+compose容器编排(持续更新中)
目录 一、 Docker的基本组成 二、 容器和镜像的关系 2.1 面向对象角度 2.2 从镜像容器角度 三、 容器命令 3.1 使用Ubuntu 3.1.1 下载镜像 3.1.2 新建和启动容器 run 3.1.3交互式 compose编排与部署 1. docker-compose部署 2. docker-compose.yml模板 …...

【Greenhills】MULTIIDE集成第三方的编辑器进行源文件编辑工作
【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 在使用GHS进行工作的时候,可以集成第三方的编辑器进行源文件编辑工作 2、 问题场景 用于解决在GHS中进行项目开发时,对于GHS的编辑器使用不习惯,想要切换到其他第三方的编辑…...
【Flutter】 search_page使用心得
https://pub.dev/packages/search_page 以上就是search_page地址。使用方法跟具有哪些功能网页都有,这篇文章主要讲我在使用这个插件时遇到的坑。 坑1:不能自己刷新界面 我在search_page中传入的builder是带有checkbox的ListTile,当我点击…...

前端Vue列表组件 list组件:实现高效数据展示与交互
前端Vue列表组件 list组件:实现高效数据展示与交互 摘要:在前端开发中,列表组件是展示数据的重要手段。本文将介绍如何使用Vue.js构建一个高效、可复用的列表组件,并探讨其在实际项目中的应用。 效果图如下: 一、引言…...
每日OJ题_哈希表⑤_力扣49. 字母异位词分组
目录 力扣49. 字母异位词分组 解析代码 力扣49. 字母异位词分组 49. 字母异位词分组 难度 中等 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入…...

【Linux】-Linux下的软件商店yum工具介绍(linux和windows互传文件仅仅一个拖拽搞定!!!!)
目录 1.Linux 软件包管理器yum 1.1快速认识yum 1.2 yumz下载方式(如何使用yum进行下载,注意下载一定要是root用户或者白名单用户(可提权)) 1.2.1下载小工具rzsz 1.2.2 rzsz使用 1.2.2查看软件包 1.3软件的卸载 2.yum生…...
320: 鸡兔同笼(python)
题目描述 一个笼子里关了鸡和兔(鸡有2只脚,兔又4只脚,没有例外)。已知笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物? 输入 多组测试数据。第一行是测试数据的组数n&#…...
贝叶斯医学分析中“先验”的如何进行选择(文献解读)
贝叶斯医学分析中“先验”的如何进行选择(文献解读) 作者:Callum Taylor, Kathryn Puxty, Tara Quasim, Martin Shaw 文章标题:Understanding Bayesian analysis of clinical trials: an overview for clinicians 期刊名称&#x…...
免费 SecureCRT8.3下载、安装、注册、使用与设置
参考:SecureCRT 8.3中文 安装教程 - Hope - 博客园...

【K8S系列】Kubernetes 中 Pod(Java服务)启动缓慢的深度分析与解决方案
本文针对 Kubernetes 中 Java 服务启动时间慢的深度分析与解决方案文章,结合了底层原理、常见原因及具体优化策略: Kubernetes 中 Java 服务启动缓慢的深度分析与高效解决方案 在 Kubernetes 上部署 Java 应用时,启动时间过长是常见痛点,尤其在需要快速扩缩容或滚动更新的…...
vsCode使用本地低版本node启动配置文件
npm run dev的配置文件 {"configurations": [{"type": "node-terminal","name": "项目运行: dev","request": "launch",//重点在这里 这行注释到时候删掉"command": "E:\\node-v14.21.…...

行为设计模式之Command (命令)
行为设计模式之Command (命令) 前言: 需要发出请求的对象(调用者)和接收并执行请求的对象(执行者)之间没有直接依赖关系时。比如遥控器 每个按钮绑定一个command对象,这个Command对…...

家政小程序开发——AI+IoT技术融合,打造“智慧家政”新物种
基于用户历史订单(如“每周一次保洁”)、设备状态(如智能门锁记录的清洁频率),自动生成服务计划。 结合天气数据(如“雨天推荐玻璃清洁”),动态推送服务套餐。 IoT设备联动&#x…...

YOLO11解决方案之分析
概述 Ultralytics提供了一系列的解决方案,利用YOLO11解决现实世界的问题,包括物体计数、模糊处理、热力图、安防系统、速度估计、物体追踪等多个方面的应用。 Ultralytics提供了三种基本的数据可视化类型:折线图(面积图…...

基于51单片机和8X8点阵屏、独立按键的填充消除类小游戏
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、8X8点阵屏2、独立按键3、定时器04、定时器1 四、主函数总结 系列文章目录 前言 使用的是普中A2开发板。 【单片机】STC89C52RC 【频率】12T11.0592MHz 【外设】8X8点阵屏、独立按键 效果查看/操作演示&#x…...
CSS 选择器全解析:分组选择器/嵌套选择器,从基础到高级
一、CSS 选择器基础:从单个元素到多个元素 CSS 选择器是用来定位 HTML 元素的工具,就像 “元素的地址”。最基础的选择器有: 元素选择器(按标签名定位) css p { color: red; } /* 所有<p>标签 */ div { b…...

前端杂货铺——TodoList
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...