华为Java开发一面二面(OD)4.3
面试的是1-3年工作经验的岗位
一面:45min
主要是问项目和平时用到的一些工具之类的,因为我写的比较少,所以基本上都是问的springboot和spring的内容。
1.AOP
2.mapper的映射
3.封装、多态的理解
4.四次挥手
…想不起来了
编程:给一个数组,包含一组温度,求:每一天对应的升温天数,如果没有则为0,返回一个数组;
例:[54,57,34,2,15] ----> [1,0,0,1,0]
(用了最笨的方法,再想想还有没有其他方法)
package com.example.demo;
/**
* @Description
*
* 过多久升温
*
* @Author Radish
* @Date 2020/4/3
*/
public class Temp {
public static void main(String[] args) {
int[] days = getDays(new int[]{
1, 15, 30, 2, 7});
for (int i : days) {
System.out.print(i + ", ");
}
}
public static int[] getDays(int[] temps) {
int[] days = new int[temps.length];
//过几天温度会升高
for (int i = 0; i < temps.length; i++) {
days[i] = 0;
for (int j = i+1; j < temps.length; j++) {
if (temps[j]>temps[i]) {
days[i] = j-i;
break;
}
}
}
return days;
}
}
本来以为面完一个要等很久才能进下一面,没想到二面马上就来了…
由于是视频面试,第一个面试官说了再见我就下线了,结果hr又叫我上去…没有做好心理准备,然后我开始自我介绍的时候,天猫精灵开始报时,我就被打断了,然后刚想去关,它就停了,然后我跟面试官解释了一下,好像面试官不太开心(哎,换我我也不开心,下次要先把天猫精灵给静音!),接下来的面试过程就不是很顺利了…
二面:20min
1.IOC
把我理解的说了,但是面试官似乎不太满意?啊!我没有说是通过反射实现的!
2.说一下集合
(我把map给带上了,然后忽然想到map不是集合,然后又说set和list),面试官还想要queue,我给漏了。然后在讲hashSet的时候又扯到HashMap上去了…面试官很不开心…然后让我讲了讲ArrayList和LinkedList。
3.堆栈
(只说了垃圾回收主要是在堆上进行的,想了半天没想起来其他的,面试官听到前半句的时候有点开心,然后他又不开心了…)
4.线程池
(记得不太清楚,源码也没有看完,只了解个大概,面试官说你把最重要的给漏了,队列,我说,它是个阻塞队列,面试官说,它是阻塞的?队列是要你传给它的,我傻了吧唧的:它默认是个阻塞队列。它真的是个阻塞队列吗!!!你为何要如此执着???)
5.创建线程
嘤嘤嘤,终于完整并且条理清晰地回答出一个问题了…面试官唯一一个比较满意的答案o(╥﹏╥)o
6.重载、重写的理解
大概也许还行吧,毕竟没难度…
7.REST
我们项目没有用这种,所以略过了
8.long是由几位字节组成的,在不同的系统和不同的平台上有什么区别,为什么
8位,在哪儿都是8位,因为…(一次编译到处执行,我要怎么解释出来)它在每一个平台上都有对应的编译器,就是会给它编译成一样的
9.数据库的查找知道吗
我?查找?
面试官,说一下你知道哪些查找吧
我:快排
面试官很生气,我也不知道咋回事儿,可能太紧张了,越紧张越答错,然后就失去了思考能力…
面试官:我说查找
我:二分查找…(想了半天我也不会其他查找)
面试官:它有个前提条件你知道吗
我:得是有序的
面试官:那你做个题吧
编程:给定一个有序数组,插入一个整数,保持有序
package com.example.demo;
/**
* @Description
* @Author Radish
* @Date 2020/4/3
*/
public class InsertNum {
public static void main(String[] args) {
int[