熟悉简单测试面经

打印 上一主题 下一主题

主题 945|帖子 945|积分 2835

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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语句
  1. DELETE FROM table_name WHERE condition;
复制代码

  

  • 用途:DELETE语句用于从表中删除满足特定条件的行。如果不指定WHERE子句,则会删除表中的所有行(这通常是不推荐的,因为它会移除表中的所有数据)。
  • 性能:DELETE语句会逐行删除数据,并在变乱日记中记载每一行的删除操作。这意味着如果表中有大量数据,DELETE操作大概会相对较慢,而且会占用更多的日记空间。
  • 可回滚性:由于DELETE语句将删除操作记载在变乱日记中,因此它是可回滚的。如果在执行DELETE操作后发生了错误或需要取消更改,可以使用变乱回滚来恢复数据。
  2. TRUNCATE TABLE语句
  1. 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是更受接待的选择,因为它提供了更好的性能。
  洗牌题目

  1.   public static void shuffle(int[] arr) {
  2.         Random random = new Random();
  3.         for (int i = arr.length - 1; i > 0; i--) {
  4.             // 生成一个[0, i]之间的随机数
  5.             int index = random.nextInt(i + 1);
  6.             // 交换arr[i]和arr[index]
  7.             int temp = arr[i];
  8.             arr[i] = arr[index];
  9.             arr[index] = temp;
  10.         }
  11.     }
复制代码
   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层还通过证书认证机制,验证通信双方的身份,确保数据发送到精确的客户机和服务器。
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表