大华提前批 Java二面
正在吃晚饭突然收到大华的电话,面试官说一会再打给我。
大约等了一小时,七点钟开始面试了,全程只有12分钟。。
没有自我介绍,面试官就问我会Java吗,我说会,就开始面试了。
1.你知道Java的NIO吗(非科班,没学过,就说好像是多路复用)
2.接下来又问了两个操作系统的问题,完全没听过,记不住问了啥(好像是ipc通信)
我说我不大会操作系统,要不问我点别的?面试官接下来就问了一下其它问题。。
3.哪个数据结构底层用的是红黑树?(HashMap、TreeMap、ConcurrentHashMap)
没了吗?(TreeSet底层是Tree Map,所以底层也是红黑树;还有Hash Set等)
4.怎么用数组实现一个HashMap(我都懵了,停顿了十秒,然后开始扯)
我:先定义一个16位长的数组,里面存储一个一个的entry键值对,然后存储一个数据的时候先判断它的哈希值, 根据哈希值来确定它的位置。
面试官:如果有冲突的话呢?
我:就存到下一个位置
面试官:还有别的办法吗?
我:用链表。 面试官:不可以用链表。
我:那用二维数组? 面试官:你就没想过再哈希一次吗?
唉,这题是真不会
5.你知道数组在插入的时候速度很慢是吧,但是我不这么觉得。比如我定义了一个长度为10的数组A,第0位和第1位存储了数据,第2位开始往后没有存储数据,我插入一个数据就可以直接定位到A[2]=2了啊。(问的这个问题应该是属于数组底层)
6.MySQL设置主键的时候总会设置成自增的INT型,为什么不设置成字符串型的呢?我说的是InnoDB存储引擎的。
7.你简历上写了会go是吧,说一下channel管道。
8.你写了会docker,说一下docker CMD命令和(另一个命令是什么忘记了)的区别。
9.Linux命令怎么查看端口的占用情况。
10.Java里面的sleep函数知道吧,使用sleep函数会不会释放cpu(秒答:不会,会等待一段时间再释放,结果!!说着说着感觉不对呀,咋是释放cpu呢,不是释放锁吗??)
然后面试官看我信誓旦旦的,就问我确定吗?
啊我错了,应该是会释放cpu,不会释放锁。
差不多就这些问题,这个面试官问的问题贼偏,我都没听过,但是整个面试氛围不错,他有穿插问过我的实习经历之类的,但是整体12分钟就结束了。