2019小米java面试题,2020年小米java面试题分享

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

面试题(一面)

1、谈一下数据库索引

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

2、b+树特点是什么?

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

3、算法:

leetcode 402移掉K位数字使数字最大public static String removeKdigits(String num, int k)

{

LinkedList  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 

{

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 

j = i + 1;

while (j 

{

if (arr[j] != 0)

{

int temp = arr[i];

arr[i++] = arr[j];

arr[j++] = temp;

}

else

{

j++;

}

}

return arr;

}

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值