2020年小米java面试题分享

KLQ 2020-04-20 10:40:41 java常见问答 5660

下面要给大家带来的是2020年的小米java面试题分享,主要包括了一面二面的面试题,以及面试者的一些相关回答,一起来了解一下吧。

面试题(一面)

1、谈一下数据库索引

数据库索引是为了让查询数据效率更快,数据库索引主要包括了聚集索引(主键索引)、非聚集索引以及联合索引。

2、b+树特点是什么?

B+树是应文件系统产生的B树的变种。

3、算法:

leetcode 402移掉K位数字使数字最大

public static String removeKdigits(String num, int k)
{
    LinkedList < Character > stack = new LinkedList < > ();
    for (char digit: num.toCharArray())
    {
        while (stack.size() > 0 && k > 0 && stack.peekLast() > digit)
        {
            stack.removeLast();
            k--;
        }
        stack.addLast(digit);
    }
    for (int i = 0; i < k; i++)
    {
        stack.removeLast();
    }
    StringBuilder sb = new StringBuilder();
    boolean loadZero = true;
    for (Character c: stack)
    {
        if (loadZero && c == '0') continue;
        sb.append(c);
    }
    return sb.length() == 0 ? "" : sb.toString();
}

4、其他的都是一些面经当中很常见会出现的内容

面试题(二面)

1、String 、StringBuilder和StringBuffer的区别是什么?

(1)速度:StringBuilder > StringBuffer > String

(2)StringBuffer:字符串变量,假如要操作少量的数据用=String

(3)String:字符串常量,假如要操作少量的数据用=String

(4)StringBuilder:字符串变量,假如要操作少量的数据用=String

2、String是否线程安全?

String中的对象是不可变的,我们可以理解为常量,显然线程安全。

3、wait()和sleep的区别是什么?

wait有参数和无参数

4、被final修饰的特点是什么?(这个问的比较细)

5、接口和抽象类的区别是什么?(这个问的非常的细)

6、synchorized和lock的区别有哪些?

(1)Lock是一个接口,synchronized是关键字

(2)synchronized可以锁住类、方法和代码块,而Lock是块范围内的

(3)Lock能够让等待锁的线程响应中断,但是synchronized不会,线程会一直等待下去

(4)synchronized可以自动释放锁,但是Lock要手动释放锁

(5)通过Lock能够知道线程有没有拿到锁,但是synchronized不可以

(6)Lock可以提高多个线程读操作的效率

7、算法(数组)

{2,0,4,0,0,6,0,0} 将0全部挪在后面,其它的数字挪到前面 ,并且保证非0数字的相对顺序不会发生改变

public int[] swapZeroToRight(int[] arr)
{
    int i = 0, j;
    while (i < arr.length && arr[i] != 0) i++;
    j = i + 1;
    while (j < arr.length)
    {
        if (arr[j] != 0)
        {
            int temp = arr[i];
            arr[i++] = arr[j];
            arr[j++] = temp;
        }
        else
        {
            j++;
        }
    }
    return arr;
}

以上就是小伙伴的小米java一面二面面试题分享啦,准备进行一面二面的小伙伴可以参考一下(面试者回答仅供参考),更多Java面试题,请继续关注本站的面试题专栏了解吧。