1116中信笔试

1116中信笔试

  • int, Integer的区别,相等如何判断结果
  • Java的异常处理
  • 数据库的事务操作
  • Redis的基本数据类型
  • 问了HashMap底层实现
  • TCP协议
  • MySQL的隔离级别
  • 创建线程的几种方式
  • 双亲委派机制 ,它的优点
  • linux命令(查看线程) java和数据库
  • hashmap安全吗?不安全的话哪个map安全?
  • String是基本数据类型吗
  • ==和equals的区别
  • &&和&的区别
  • 技术问了ArrayList和LinkedList的区别
  • Cookie和Session的区别
  • StringBuffer StringBuilder的区别
  • .where和having的区别
  • 没有处理过线上内存泄漏
  • 面向对象是什么,以及三大特征
  • 如何声明一个不被继承的类
  • 哈希和equals的区别
  • 抽象类和接口的区别
  • 常见的异常,如何捕捉异常
  • 七层模型,http和https的区别
  • 数据库事务,特点,应用场景
  • maven如何使用
  • sql的聚合函数,如何查连续登陆三天的的用户

int, Integer的区别,相等如何判断结果

nt是Java中的一种基本数据类型,用于表示整数。而Integer是int的封装类,它可以为null。int类型的数据直接存储在内存中的栈中,而Integer类型的数据则存储在堆中的对象中。

  • 在比较两个基本类型的值时,可以使用“==”和“!=”运算符。
  • 在比较两个包装类型的值时,不能使用“==”和“!=”运算符,而是应该使用equals()方法来比较它们的值是否相等

Java是一种面向对象编程语言,面向对象是一种思想,它要求数据都应该是对象,我们可以使用包装类提供的各种方法,对数据进行操作,如数值转换、比较等

Java的异常处理

数据库的事务操作

Redis的基本数据类型

问了HashMap底层实现

HashMap 通过 key 的 hashcode 经过扰动函数处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。

当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。

TCP协议

传输控制协议 (TCP)是面向连接的、可靠的流协议
1116中信笔试_第1张图片

MySQL的隔离级别

创建线程的几种方式

双亲委派机制 ,它的优点

linux命令(查看线程) java和数据库

hashmap安全吗?不安全的话哪个map安全?

HashTable是线程安全的,HashMap是线程非安全的.在多线程的情况下, HashMap会出现死循环的情况.
1116中信笔试_第2张图片
1116中信笔试_第3张图片

String是基本数据类型吗

而 String 类型属于引用类型,它表示一系列字符组成的字符串
1116中信笔试_第4张图片

==和equals的区别

1116中信笔试_第5张图片
类重写了 equals()方法:一般我们都重写 equals()方法来比较两个对象中的属性是否相等;若它们的属性相等,则返回 true(即,认为这两个对象相等)。
String 类中使用 final 关键字修饰字符数组来保存字符串
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e68a36f168047248b2ceb01d1e1e963.png

&&和&的区别

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。

技术问了ArrayList和LinkedList的区别

ArrayList 和 LinkedList 是 List 接口的两种不同实现,并且两者都不是线程安全的。
ArrayList 是基于动态数组实现的,LinkedList 是基于双向链表实现的。这是最本质的区别。
LinkedList 在插入、添加、删除元素的时候有没有比 ArrayList 更快,
ArrayList随机访问一个元素的时间复杂度为 O(1),

Cookie和Session的区别

1116中信笔试_第6张图片

StringBuffer StringBuilder的区别

AbstractStringBuilder 是 StringBuilder 与 StringBuffer 的公共父类,
StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder 并没有对方法进行加同步锁,所以是非线程安全的。

.where和having的区别

三者的执行顺序为where>group by>having。
having可以和count、sum、avg、max、min等聚合函数一起使用,而where则不能,否则会报错。

没有处理过线上内存泄漏

面向对象是什么,以及三大特征

面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。

1116中信笔试_第7张图片多态:表示一个对象具有多种的状态,具体表现为父类的引用指向子类的实例。
如果子类重写了父类的方法,真正执行的是子类覆盖的方法,如果子类没有覆盖父类的方法,执行的是父类的方法。

如何声明一个不被继承的类

如果一个类被 final 修饰,那么这个类就不可以被继承。如果一个类中的所有方法都没有重写的需要,当前类可以没有子类,那么就可以使用 final 修饰类。

哈希和equals的区别

hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。
通过一种算法得到一个对象的hash码,这个hash码是用来确定该对象在哈希表中具体的存储区域的

般在重写equals()方法的时候,是要对两个对象进行比较的。如果两个对象相等的话,hashCode值必须相等,equals()方法判断两个对象也是相等的。

抽象类和接口的区别

常见的异常,如何捕捉异常

七层模型,http和https的区别

1116中信笔试_第8张图片

数据库事务,特点,应用场景

maven如何使用

sql的聚合函数,如何查连续登陆三天的的用户

1116中信笔试_第9张图片

你可能感兴趣的:(面试,java)