美团一面凉经
1.项目(自己的科研,答得很烂,没有准备,没想到会问)
2.画一下collections集合继承关系
我说具体关系忘了,但是记得有那些实现类
3.讲一下HashMap
巴拉巴拉
4.为什么1.7是头插法,1.8是尾插法
我说1.7头插法的话效率高,但是有个问题,就是并发时候resize会导致链表循环,1.8尾差法没有这个问题
5.那1.8就解决了并发问题了吗?究竟1.8改为尾插的用处是什么呢?
我猜:因为1.8使用了链表在长度大于8的时候升级为红黑树。。。但是感觉还是回答不对,我自己也不好意思继续说了
6.讲一下concurrentHashmap的原理
巴拉巴拉
7.除了这个以为,还有什么可以解决并发呢
我说???(现在想起来collections.sychronizedMap直接包装就可以了。。。。。估计是想问这个,在已有的HashMap基础上,怎么获得一个支持并发的map)
8.HTTP为什么需要TCP连接?HTTP只使用了TCP协议吗?
TCP支持可靠巴拉巴拉;是的(不太清楚)
9.应用层哪些用了UDP
我说了流传输(忘了DNS。。。。。。后来面试官问我还有呢???我想拍我自己一巴掌)
10.索引有哪些?什么是聚簇索引?
聚簇索引,非聚簇索引;数据在索引上,聚簇索引,不再的话就不是
11.为什么使用B+树作为索引数据结构,不适用AVL呢?
B+树支持范围查询,树不高,IO次数少
12.那么B+树树高是多少?高度为4能存储多少数据呢
应该3~4吧,不知道
13.链表相加(arr1: 1->3->5 代表531, arr2: 4->5->6 代表654,相加得到结果: 5 -> 8 -> 1 -> 1 代表 1185,很简单,遍历一次,有剩余再遍历)
光荣挂掉,基础不行~~~
#美团##面经##Java工程师##校招#