加油淦!
一家小公司的面试,因为是第一次面试,所以复盘一下
#2022春招##腾讯#
Integer v1=10, int v2=10 v1==v2 结果是true还是false
如果是两个integer变量呢
第一个是true,第二个是false ,因为第二个会比较内存地址,第一个是比较数值。
hashset底层结构是什么样子的。
hashset底层是hashmap,key存的是hashcode,以保证值不相同。
Hashmap是什么,为什么必须是2的n次方大小
hashmap底层是数组➕链表➕红黑树实现。2的n次方是为了保证扩容的时候尽量减少hash碰撞,尽量使hash结果均匀。
hashcode是什么,hashcode和equals关系
hash将任意一个对象根据指定算法,转换成一个32位的int数据。equals相等的两个对象,hashcode一定相等,hashcode相等的两个对象equal不一定相等
遍历1-10,并输出,使数字越大,输出概率越大。
将1-10分别按照数量存入数组,数量多的概率就大了。
MySQL 隔离级别有哪几种,每种会导致什么问题。
读已提交,读未提交,可重复度,串行读
读已经提交产生赃读,幻读,不可重复度
读未提交 产生不可重复读,幻读
可重复度 产生幻读
可串行化 并发性能差
幻读和赃读的区别,还有不可重复度
不可重复度,顾名思义,就是两次读入的数据会不一致,因为中间有一个修改数据库操作发生在两个读操作之间。
赃读,就是先修改数据库,再读数据库,结果发现,读到了修改数据库之前的数据,因为读已提交。而修改事务未提交,本质就是读到的数据不够新
幻读,就是两次修改数据库事务,第二次修改发现存在第一次操作未修改的事务。因为可重复读