下面给大家分享一个小伙伴2020年的小米Java面试过程,内容具体为一面好二面的面试题,包含部分面试者的回答。

一面:

首先做了自我介绍,之后就是直接进入面试题部分了。

面试题:

1、数据库索引 b+树特点是什么?

2、还有一些就是面经里面都经常出现的问题,都是非常基础的,这里就不多说了

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();

}

二面:

首先自我介绍,后来和面试官谈了一下,面试官问我为什么学JAVA之后就正式进入面试题部分了。

面试题:

1、String 、StringBuilder、StringBuffer的区别String是否线程安全?

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

答:wait有参数和无参数

3、被final修饰的特点是什么?

4、接口和抽象类的区别是什么?(除了这个之外,面试官还继续向下问了,问的非常的仔细)

5、synchorized和lock的区别是什么?

一、synchronized是java内置关键字,在jvm层面,Lock是个java类;

二、synchronized不能够判断是否获取锁的状态,Lock能够判断是否获取到锁;

三、synchronized会自动释放锁(a 线程执行完同步代码会释放锁 ;b

线程执行过程中发生异常会释放锁),Lock需在finally中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;

四、用synchronized关键字的两个线程1和线程2,当前线程1获得锁,线程2线程等待。当线程1阻塞,线程2则会一直等待下去,而Lock锁就不一定会等待下去,假如尝试获取不到锁,线程可以不用一直等待就结束了;

五、synchronized的锁可重入、不可中断、非公平,而Lock锁可重入、可判断、可公平(两者都可以)

六、Lock锁适合大量同步的代码的同步问题,synchronized锁适合代码少量的同步问题。

6、算法 数组

{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面试题和面经,可以继续关注本站了解。

java二面烩面什么问题_小米Java面试题,一面二面面经分享相关推荐

  1. 小米java面试题_小米java社招面试题分享,面经(一面二面)

    下面给大家带来的是小米java社招面试题(面经)的相关分享,主要包括了一面二面的面试题,准备小米java一面二面的小伙伴可以来了解一下. 注:面试者是跨行做后台,没有什么项目经验,所以,面试者问的东西 ...

  2. Java校招面经_小米java校招面经,面试题整理(一面)

    下面要给大家带来的是一个小米java的校招面经,具体包括了面试题,以及面试者的部分回答,下面一起来了解一下吧! 面试题(一面) 一.自我介绍 我重点的讲了一下自己对于JVM和JUC都比较的了解. 二. ...

  3. java制作一个简单的画板_【Java】Thymeleaf一个简单示例

    Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...

  4. java基础入门课后习题答案_《Java基础入门》课后习题及答案

    <Java基础入门>课后习题及答案Java基础入门,课后习题,答案 博学谷--让IT教学更简单,让IT学习更有效 第6章JavaAPI 一.填空题 1.在Java中定义了两个类来封装对字符 ...

  5. java中随机数怎么定义类_浅析Java中的随机数类

    Java中的随机数是否可以重复?Java中产生的随机数能否可以用来产生数据库主键?带着这个问题,我们做了一系列测试. 1.测试一: 使用不带参数的Random()构造函数 * @author Carl ...

  6. java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程

    作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...

  7. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...

    一.OpenCC介绍 OpenCC (Open Chinese Convert,开放中文转换) 是一个用于中文简繁转换的开源项目,支持词汇级别的转换.异体字转换和地区习惯用词转换(中国大陆.台湾.香港 ...

  8. 学java用什么写比较好_学习Java需要什么基础,初学Java如何写好代码

    原标题:学习Java需要什么基础,初学Java如何写好代码 初学Java的同学时常会遇到这样的情况,跟着入门教程看过一遍,但需要自己写代码的时候却无从下手:写代码的时候时常会遇到不懂的地方,如果停下来 ...

  9. java 必须try catch的异常_【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!...

    @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象.Java处 ...

最新文章

  1. HDU-1452 因子和 积性函数性质
  2. 购物价值观(values of shopping)
  3. UA MATH566 统计理论5 假设检验:p值
  4. linux ssh 色彩,定制多彩缤纷的 Linux SSH,告别黑白灰!
  5. python装饰器作用噜咕_浅谈python中的装饰器
  6. python str has no attribute_python – AttributeError(“’str’object has no attribute’read’”)...
  7. DRL实战 : 强化学习在广告点击业务中的应用
  8. 利用openmp实现矩阵相乘_矩阵快速幂
  9. React Hook介绍(二):Effect Hook
  10. FPGA资源之LUT
  11. 解决帆软中不能制作城市热力图的问题
  12. 人的一生需要经历很多的磨难和痛苦
  13. 小白电脑选购与组装之配置篇
  14. 数据预测算法-指数平滑法-2
  15. python制作自己的专属二维码
  16. 2020年最值得期待的几大BPM厂商一览
  17. Visual Studio 2022 的下载
  18. 基于单片机(AT89C51)的进制转换及进制计算器
  19. 美团java工程师,成都外包面试笔试题
  20. 老白智慧药房显示服务器异常,老白智慧药房

热门文章

  1. 常用测试工具-----龙卷风
  2. 直流电源系统模块组成,直流电源系统作用
  3. 竞态条件(race condition)
  4. elementui 使用el-image 控件 解决 通过点击查看按钮两次才能 实现预览图片
  5. 微信指数来了,营销人又有新工具
  6. Scala类和成员变量的讲解。
  7. vue拦截器设置请求头失败,laravel设置前端请求头跨域
  8. JAVA程序设计:分数加减运算(LeetCode:592)
  9. python 自定义函数的返回值
  10. 互联网大会蓝皮书_世界互联网大会蓝皮书