mysql表索引 JAVA面经---23届秋招面经总结----(六)
类加载:虚拟机把描述类的数据加载到内存里面,并对数据进行校验、解析和初始
JAVA面经—23届秋招面经总结----(六) 杭州银行10.9 一面(信息科技岗): 1.自我介绍 2.讲一下类的加载过程 类加载:虚拟机把描述类的数据加载到内存里面,并对数据进行校验、解析和初始化mysql表索引,最终变成可以被虚拟机直接使用的class对象; 类加载过程如下: 3.双亲委派机制了解吗? 当一个类加载器收到一个类加载的请求,他首先不会尝试自己去加载,而是将这个请求委派给父类加载器去加载,只有父类加载器在自己的搜索范围类查找不到给类时,子加载器才会尝试自己去加载该类; 为了防止内存中出现多个相同的字节码;因为如果没有双亲委派的话,用户就可以自己定义一个java.lang.String类,那么就无法保证类的唯一性。 4.Hashmap底层是什么? 在JDK1.7 中,由“数组+链表”组成,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。 在JDK1.8 中,由“数组+链表+红黑树”组成。当链表过长,则会严重影响 HashMap 的性能,红黑树搜索时间复杂度是 O(logn),而链表是糟糕的 O(n)。因此,JDK1.8 对数据结构做了进一步的优化,引入了红黑树,链表和红黑树在达到一定条件会进行转换 5.MySQL索引有哪些? 1、从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。这里所描述的是索引存储时保存的形式, 2、从应用层次来分:普通索引,唯一索引,复合索引。 6. 索引采用的是B树还是B+树?为什么用B+树? B+树; 7.B+树这种数据结构适用于什么类型的查找? 范围查询 8.MySQL有哪些锁? 按照锁的粒度把数据库锁分为:行锁、表锁、页锁。 从锁的类别分为:共享锁(读锁)、排他锁(写锁)。 9.数据库调优有没有用过?(没有) 数据库结构优化: 将字段很多的表分解成多个表 对于字段较多的表,如果有些字段的使用频率很低,可以将这些字段分离出来形成新表。 因为当一个表的数据量很大时,会由于使用频率低的字段的存在而变慢。 10. 如何保证线程安全?除了加锁还有什么方式? 11. 乐观锁和悲观锁了解吗? 12.HTTP协议是哪一层的协议? 应用层。 13.HTTP常见的状态码有哪些?500是什么意思,200是什么意思? 14.cookie、session区别 15.分布式session了解吗? (不了解) 在互联网公司为了可以支撑更大的流量,后端往往需要多台服务器共同来支撑前端用户请求,那如果用户在 A 服务器登录了,第二次请求跑到服务器 B 就会出现登录失效问题。 分布式 Session 一般会有以下几种解决方案: 建议采用共享 Session的方案。 16.常见的设计模式了解哪些? 单例模式、工厂模式。 17.单例模式解决什么问题? 通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 面试总时长10分钟。等了一个小时,面试官才来,体验非常不好! (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |