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

熟悉简单测试面经

SQL语句中增、删、查、改的关键字

MySQL中SQL语句删除语句有哪些?区别是啥。

“==”和equals的区别

“String s = "1"”与“String s = new String("1")”中的s一样吗?

StringBuilder与StringBuffer的区别

洗牌问题

 HTTP、HTTPS、UDP和TCP的简单介绍:

SSL/TLS层是什么


SQL语句中增、删、查、改的关键字

增(添加):INSERT INTO
删(删除):DELETE FROM
查(查询):SELECT FROM
改(更新):UPDATE


MySQL中SQL语句删除语句有哪些?区别是啥。

1. DELETE语句

DELETE FROM table_name WHERE condition;

  • 用途:DELETE语句用于从表中删除满足特定条件的行。如果不指定WHERE子句,则会删除表中的所有行(这通常是不推荐的,因为它会移除表中的所有数据)。
  • 性能:DELETE语句会逐行删除数据,并在事务日志中记录每一行的删除操作。这意味着如果表中有大量数据,DELETE操作可能会相对较慢,并且会占用更多的日志空间。
  • 可回滚性:由于DELETE语句将删除操作记录在事务日志中,因此它是可回滚的。如果在执行DELETE操作后发生了错误或需要撤销更改,可以使用事务回滚来恢复数据。

2. TRUNCATE TABLE语句

TRUNCATE TABLE table_name;

  • 用途:TRUNCATE TABLE语句用于快速删除表中的所有行,但保留表的结构(如列、索引等)。它不能用于有外键约束引用的表,除非外键约束被明确设置为ON DELETE CASCADE。
  • 性能:TRUNCATE TABLE通常比DELETE语句快得多,因为它不逐行删除数据,也不记录每行的删除操作。相反,它仅重置表中的数据并释放存储空间,这可能会更快且对系统资源的占用更少。
  • 可回滚性:TRUNCATE TABLE在某些数据库管理系统中被视为不可回滚的操作(尽管这取决于具体的数据库配置和版本)。在MySQL中,如果启用了事务并且autocommit设置为0,则TRUNCATE TABLE也是可回滚的,但通常不建议依赖于此行为。


区别总结

  • 用途:DELETE用于删除表中的特定行,而TRUNCATE TABLE用于删除表中的所有行。
  • 性能:TRUNCATE TABLE通常比DELETE更快,因为它不记录每行的删除操作。
  • 可回滚性:DELETE是可回滚的,而TRUNCATE TABLE在某些情况下可能被视为不可回滚(尽管在MySQL中,如果启用了事务,它也是可回滚的)。
  • 触发器:DELETE可以触发删除触发器,而TRUNCATE TABLE不会。
  • 外键约束:对于由外键约束引用的表,应使用DELETE而不是TRUNCATE TABLE,除非外键约束被明确设置为ON DELETE CASCADE。


“==”和equals的区别

**==**:是Java中的基本数据类型比较运算符,用于比较两个变量的值是否相等。对于对象,==比较的是两个对象的引用是否相同,即它们是否指向内存中的同一块地址。
**equals()**:是Java中所有对象都继承自Object类的一个方法。默认情况下,equals()方法的行为与==相同,即比较两个对象的引用是否相同。但是,许多类(如String、Integer等)都重写了equals()方法,以便比较两个对象的内容是否相等,而不是它们的引用。


“String s = "1"”与“String s = new String("1")”中的s一样吗?

在Java中,String s = "1"; 和 String s = new String("1"); 在功能上是相似的,因为它们都创建了一个内容为"1"的字符串,但它们在内存中的表现方式有所不同。

String s = "1";:这里,字符串字面量"1"会被放入字符串常量池中(如果它尚不存在)。s变量会被赋予指向这个常量池中字符串的引用。
String s = new String("1");:这里,首先会在字符串常量池中查找是否存在"1"这个字符串(如果存在,则不会重复创建)。然后,new String("1")会在堆内存中创建一个新的字符串对象,其内容是"1",s变量会被赋予指向这个新创建对象的引用。

因此,从内容上看,这两个字符串是相同的,但从引用的角度看,它们可能指向不同的对象(除非字符串常量池中已经存在"1")。

StringBuilder与StringBuffer的区别

线程安全性:StringBuffer是线程安全的,而StringBuilder不是。这意味着在多线程环境下,如果你不需要同步操作,使用StringBuilder可以获得更好的性能。
性能:由于StringBuilder没有线程安全的开销,所以在单线程环境下,它比StringBuffer要快。
使用场景:如果你在多线程环境下工作,并且需要频繁地修改字符串,那么StringBuffer是更好的选择。然而,在大多数情况下,尤其是在单线程应用中,StringBuilder是更受欢迎的选择,因为它提供了更好的性能。

洗牌问题

  public static void shuffle(int[] arr) {Random random = new Random();for (int i = arr.length - 1; i > 0; i--) {// 生成一个[0, i]之间的随机数int index = random.nextInt(i + 1);// 交换arr[i]和arr[index]int temp = arr[i];arr[i] = arr[index];arr[index] = temp;}}

 HTTP、HTTPS、UDP和TCP的简单介绍:

  • HTTP(超文本传输协议):HTTP是一种应用层协议,用于在万维网上传输超媒体文档(如HTML)。它基于客户端-服务器模型,是互联网上应用最广泛的一种网络协议,用于从WWW服务器传输超文本到本地浏览器的传送协议。
  • HTTPS(超文本传输安全协议):HTTPS是HTTP的安全版本,通过在HTTP下加入SSL/TLS层来提供加密传输、身份认证和数据完整性保护。它广泛用于互联网上安全敏感的通信,如在线购物和网银事务。()
  • UDP(用户数据报协议):UDP是一种无连接的、不可靠的传输层协议,它不需要在发送数据之前建立连接。UDP提供面向事务的简单不可靠信息传送服务,适合对实时性要求高而准确性要求不高的应用,如视频流、在线游戏等。
  • TCP(传输控制协议):TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP在传输数据之前必须建立连接,数据在传输时采用三次握手和四次挥手的方式确保数据的可靠传输。TCP适用于对可靠性要求高的应用,如文件传输、电子邮件等。

SSL/TLS层是什么

  • SSL/TLS层是一个安全通信框架,它为网络通信提供加密、身份认证和数据完整性保护。
  • HTTP加上SSL/TLS层就成了HTTPS
  • SSL/TLS层位于TCP/IP协议与应用层协议之间,它利用密码学中的对称密码、公钥密码、数字签名、消息认证码等技术,对传输的数据进行加密和完整性校验,确保数据在传输过程中不被窃听、篡改或伪造。同时,SSL/TLS层还通过证书认证机制,验证通信双方的身份,确保数据发送到正确的客户机和服务器。

相关文章:

熟悉简单测试面经

SQL语句中增、删、查、改的关键字 MySQL中SQL语句删除语句有哪些?区别是啥。 “”和equals的区别 “String s "1"”与“String s new String("1")”中的s一样吗? StringBuilder与StringBuffer的区别 洗牌问题 HTTP、HTTPS、U…...

IoTDB 入门教程 实战篇④——C#示例(开源)

文章目录 一、前文二、新建C#项目三、NuGet安装四、示例源码五、查询数据六、参考 一、前文 IoTDB入门教程——导读 本文详细阐述了如何通过一个C#项目成功连接到IoTDB时序数据库,进而展示了如何向该数据库高效地写入数据以及执行精确的数据查询操作。 此示例旨在为…...

STL-vector容器

目录 一、常见接口 1.1 构造函数 1.2 访问与遍历 1.3 容量操作 1.4 增删查改 二、模拟实现 2.1 迭代器失效 2.2 源代码 一、常见接口 vector数据结构实际上是顺序表 详细解释与使用请参见官方网站:vector - C Reference (cplusplus.com) 1.1 构造函数 函…...

python字符串与变量名互相转换,字典,list操作

locals是python的内置函数,他可以以字典的方式去访问局部和全局变量 vars()本函数是实现返回对象object的属性和属性值的字典对象 eval()将字符串str当成有效的表达式来求值并返回计算结果 #!/usr/bin/python3 #-*- coding uft-8 -*- guo 666 str1 "guo&qu…...

企业及园区电力能源管理系统方案

概述 面对中小型的用能集团、园区能耗监测分析等场景需求,拓扑未来公司推出标准化的企业及园区电力能源管理系统方案,力求高效高质地为目标客户提供高效部署、轻松运维的本地化能源管理解决方案。 本方案以软硬件一体的方式,集成了标准电力监…...

5.3 需求分析

需求分析 软件需求定义分类练习题 需求工程需求获取练习题 需求分析状态转化图数据流图DFD顶层数据流图0层数据流图1层数据流图 练习题 需求规约需求定义方法 需求验证需求管理版本控制需求跟踪变更控制练习题 考试大概3分 软件需求 定义 软件需求:是指用户对目标…...

【C++】list介绍以及模拟实现(超级详细)

欢迎来到我的Blog,点击关注哦💕 list的介绍和模拟实现 前言list介绍标准库容器 std::list 与 std::vector 的优缺点缺点 list的基本操作构造函数list iteratorlist capcacitylist modify list模拟实现存贮结构(双向带头循环)itera…...

从艺术创作到作物生长,农业AI迎来“GPT“时刻

(于景鑫 国家农业信息化工程技术研究中心)"GPT"一词早已不再神秘,其在文本、图像生成领域掀起的风暴正以摧枯拉朽之势席卷全球。人们惊叹于ChatGPT对话之智能、思维之敏捷,更对Stable Diffusion、Midjourney创作的艺术画作赞叹不已。而大语言模…...

前端使用 Konva 实现可视化设计器(19)- 连接线 - 直线、折线

本章响应小伙伴的反馈,除了算法自动画连接线(仍需优化完善),实现了可以手动绘制直线、折线连接线功能。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 gitee…...

C#:通用方法总结—第15集

大家好&#xff0c;今天继续分享我们的通用方法系列。 下面是今天的通用方法&#xff1a; &#xff08;1&#xff09;这个通用方法为用文件流写数据 /// <summary> /// 用文件流写数据 /// </summary> /// <param name"data"></param> //…...

LoadRunner12 添加事务并添加检查点

1、先要添加事务开始函数lr_start_transaction("登陆事务");&#xff0c;在接口上方右击点击-插入-开始事务。输入事务名称&#xff1b; 2、在某个接口想法 右击点击-插入-结束事务&#xff0c;输入事务名称&#xff0c;与开始事务名称要保持一致&#xff0c;lr_end_…...

python中的文件

绝对路径和相对路径 一般情况下绝对路径就是从根目录开始描述的路径 相对路径就是相对于当前目录 . 没错,就是一个点,表示的是当前文件夹;.. 两个点表示的是上一层文件夹 os模块与os.path os 和 os.path 是两个非常重要的标准库模块,它们分别用于操作系统相关的功能操…...

Powerdesigner连接mysql数据库,逆向工程生成ER图 (保姆级教程:下载->连接->配置)看这一篇就够了

一、下载powerdesigner 下载的教程请看如下链接&#xff0c;我太懒了&#xff0c;直接借鉴&#xff01; 把别大佬的博客搬过来了嘿嘿~我真聪明&#xff01;ㄟ( ▔, ▔ )ㄏ 操作到完成汉化就好&#xff01;&#xff01;第5步不看了&#xff0c;别按那个走&#xff0c;因为新手…...

商家转账到零钱分销返佣申请方案及驳回处理办法

分销返佣场景是商家申请最多的场景&#xff0c;因而申请被驳回也是最多的&#xff0c;根据我们上万次成功开通商家转账到零钱的经验&#xff0c;当商家转账到零钱的分销返佣场景被驳回时&#xff0c;按照以下步骤&#xff0c;商家都可以快速过审&#xff1a; 一、分析驳回原因 …...

荟萃科技:国外问卷调查有没有实时更新的题库?

有的&#xff0c;口子查和渠道查都是。 口子查的题目都是国外的公司发放在网络上&#xff0c;都是实时发布&#xff0c;所以我们需要去国外的各大社交平台做题。 这些题目不是集中的&#xff0c;而是散布在网站里面&#xff0c;需要我们去找&#xff0c;都是老外上班实时发放…...

【课程总结】Day18:Seq2Seq的深入了解

前言 在上一章【课程总结】Day17&#xff08;下&#xff09;&#xff1a;初始Seq2Seq模型中&#xff0c;我们初步了解了Seq2Seq模型的基本情况及代码运行效果&#xff0c;本章内容将深入了解Seq2Seq模型的代码&#xff0c;梳理代码的框架图、各部分组成部分以及运行流程。 框…...

C++利用开发人员命令提示工具查看对象模型

1.跳转文件路径 cd 具体路径 2.输入c1 /d1 reportSingleClassLayout类名 文件名 操作示例如下图&#xff1a;...

白骑士的PyCharm教学高级篇 3.4 服务器部署与配置

系列目录 上一篇&#xff1a;白骑士的PyCharm教学高级篇 3.3 Web开发支持 在开发完成后&#xff0c;将代码部署到服务器上是一个关键步骤。PyCharm不仅提供了强大的本地开发支持&#xff0c;还为远程服务器配置与部署、自动化部署流程提供了便捷的工具和功能。本文将详细介绍如…...

数据库管理-第226期 内存至超线程(20240805)

数据库管理226期 2024-08-05 数据库管理-第226期 内存至超线程&#xff08;20240805&#xff09;1 CPU内缓存结构2 缓存与内存3 单核单线程4 超线程5 超线程的利弊总结 数据库管理-第226期 内存至超线程&#xff08;20240805&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xf…...

Django学习-数据迁移与数据导入导出

文章目录 一、数据迁移二、数据导入导出1. 数据导出2. 数据导入 一、数据迁移 数据迁移是将项目里定义的模型生成相应的数据表。主要的迁移指令如下&#xff1a; # 第一次生成自定义模型与django admin自带模型迁移文件&#xff0c;后续只生成新增模型迁移文件。后面加App名…...

企业级“衣依”服装销售平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着电子商务的快速发展&#xff0c;服装行业对高效、智能化的销售管理平台需求日益增长。传统的线下销售模式在库存管理、订单处理及客户服务等方…...

Winbond W25N/W25M系列SPI NAND Flash驱动开发指南

1. Winbond W25N系列SPI NAND Flash驱动库技术解析Winbond W25N系列&#xff08;含W25N01GV、W25N02GV等&#xff09;与W25M系列&#xff08;如W25M02GW双芯片封装&#xff09;是工业级高可靠性SPI NAND Flash存储器&#xff0c;广泛应用于嵌入式系统中替代传统并行NAND或eMMC方…...

seo网站制作如何选择合适的关键词

SEO网站制作如何选择合适的关键词 在当今互联网时代&#xff0c;一个成功的网站不仅需要精美的设计&#xff0c;还需要强大的搜索引擎优化&#xff08;SEO&#xff09;技术。其中&#xff0c;关键词选择是SEO策略中至关重要的一环。选择合适的关键词不仅能够提高网站在百度等搜…...

OpenClaw 的模型架构中,是否使用了非自回归生成(NAR)模块?

关于OpenClaw模型架构中是否使用了非自回归生成模块&#xff0c;这其实是一个挺有意思的问题。在讨论具体细节之前&#xff0c;或许可以先聊聊非自回归生成本身在技术演进中的位置。 非自回归生成&#xff0c;也就是NAR&#xff0c;和常见的自回归生成方式不太一样。自回归生成…...

Go Channel 缓冲区机制分析

Go Channel 缓冲区机制分析 在Go语言的并发编程中&#xff0c;Channel是协程间通信的核心机制之一。其缓冲区机制的设计直接影响程序的性能和稳定性。理解缓冲区的运作原理&#xff0c;能够帮助开发者更高效地利用Channel&#xff0c;避免死锁或资源浪费。本文将从缓冲区的本质…...

MMS50MV ToF传感器SPI驱动开发与嵌入式应用

1. MMS50MV ToF传感器驱动深度解析1.1 器件背景与系统定位MMS50MV是由日本Sunhayato株式会社&#xff08;サンハヤト&#xff09;专为Sony Spresense开发平台设计的飞行时间&#xff08;Time-of-Flight, ToF&#xff09;传感器扩展板。该模块并非通用型ToF芯片&#xff0c;而是…...

linux——消息队列发送和读取函数

int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); //读取消息&#xff0c;成功返回消息数据的长度&#xff0c;失败返回‐1 参数&#xff1a; msgid:消息队列的ID msgp:指向消息的指针&#xff0c;常用结构体msgbuf如下&#xff1a; struct msgbuf { lon…...

Minecraft启动器与游戏配置工具全攻略:从新手到大师的进阶指南

Minecraft启动器与游戏配置工具全攻略&#xff1a;从新手到大师的进阶指南 Minecraft启动器是每一位玩家进入方块世界的第一道门&#xff0c;而一款优秀的游戏配置工具则能让你的冒险之旅更加顺畅。本文将以玩家视角&#xff0c;带你深入了解如何利用PCL2-CE这款强大的开源工具…...

KEIL MDK实战:3分钟将常用C文件封装成LIB库(附标准库管理技巧)

KEIL MDK高效工程管理&#xff1a;C文件封装LIB库的进阶实践 在嵌入式开发领域&#xff0c;随着项目规模扩大&#xff0c;工程文件管理往往成为影响开发效率的关键瓶颈。特别是对于STM32开发者而言&#xff0c;标准外设库、常用算法模块等重复使用的代码如何高效管理&#xff0…...

无人机新手必看:Remote ID和ADS-B到底选哪个?从原理到实战全解析

无人机新手必看&#xff1a;Remote ID和ADS-B到底选哪个&#xff1f;从原理到实战全解析 刚入手的无人机在阳光下闪着金属光泽&#xff0c;充电时发出的细微电流声让人心跳加速——直到你发现说明书最后一页印着"需遵守Remote ID或ADS-B监管要求"。这两个陌生术语瞬…...