
面试
面试遇到的各个问题,这里来总结一下
过河的小卒子
这个作者很懒,什么都没留下…
展开
-
面试-4.索引失效问题
索引失效的情况:###1.有or必全有索引;如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因)。注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.复合索引未用左列字段;(索引的最左前缀原则)B+ 树这种索引结构,可以利用索引的“最左前缀”,来定位记录。假设我们有(name,age)这样一个联合索引。可以看到,索引项是按照索引定义里面出现的字段顺序排序的。 因为可以支持最左前缀,原创 2020-07-26 19:07:02 · 1573 阅读 · 0 评论 -
面试-3.MyBatis中#与$的区别,PrepareStatement
MyBatis中#与$的区别1.MyBatis中使用parameterType向SQL语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型。在SQL中引用这些参数的时候,可以使用两种方式:#{parameterName}${parameterName}...原创 2020-07-26 16:29:50 · 976 阅读 · 0 评论 -
面试-阿里社招笔试题两则(二)----基于hashMap实现LRU缓存
基于HashMap实现LRU缓存单线程环境下,实现LRU缓存,不可以通过 LinkedHashMap 来实现。LinkedHashMap 本身实现了LRU存储方式,可以通过定义初始容量和重写boolean removeEldestEntry(Map.Entry<K,V> eldest) 方式来实现,这里不采用这种方式。我感觉需要考虑比较多的地方就是各种边界值吧,本身的算法实现来说,没有太高的复杂度。代码实现:package com.lhc.cache;import java.ut原创 2020-07-19 20:20:54 · 932 阅读 · 0 评论 -
面试-阿里社招笔试题两则(一)----Excel列号转数字
Excel列号转数字根据excel列号计算列数以及根据列号计算列数,excel中的列数是使用字母表示的,即A,B,C…Z,AA…,ZZ…这种情况,假设我们输入A,那么输出结果为1,输入27,输出结果为AA,以此类推。解答:考虑和十进制转二十六进制联系起来,本质上是一样的问题。package com.lhc.translate;import org.junit.Test;/** * @description: * @author: hjt * @create: 2020-07-19 15:原创 2020-07-19 18:17:02 · 1164 阅读 · 0 评论 -
面试-2.Java基本数据类型问题
Java基本数据类型Char的总结在设计之初的时候被用来存储字符,可是世界上有那么多字符,如果有1个字节,那么就意味着只能存储256中,显然不合适,而如果有两个字节,那么就可以存储65536种。这个数量符合大多数国家的语言字符的个数。于是Java团队默认使用unicode作为编码,一个char作为2个字节来存储。 这里就有两个问题了? 1. java的char一定会有两个字节吗? 2. 中文字符可以存储在char里面吗? 先来回答第一个问题。char一定是两个字节吗?不是的,这原创 2020-06-27 17:30:22 · 671 阅读 · 0 评论 -
面试-1.HashMap问题
HashMap问题HashMap的默认初始容量是16.如果你使用构造方法时,传入的不是2的幂,会转化成大于这个数的2的幂HashMap的默认初始负载因子是0.75.hashmap扩容分为两步:扩容:创建一个新的Entry空数组,长度是原数组的2倍。ReHash:遍历原Entry数组,把所有的Entry重新Hash到新数组。HahMap1.7为头插法,1.8改进为尾插法。 1)Hashmap在插入元素过多的时候需要进行Resize,Resize的原创 2020-06-27 17:15:06 · 733 阅读 · 0 评论