之前找朋友内推了字节跳动的实习岗,然后第二天hr打电话来问了问情况,说如果简历过筛选了就安排视频面试(因为我在成都,投的是北京的实习岗),然后没几天就打电话说星期四(今天2019年8月22日)安排视频面试。
然后今天就在牛客上视频面了,我就记录一下问我的主要问题吧。
- ① 首先问了基本数据类型(面试必问),列举出java八大数据类型,然后说说每种类型大小,占几个字节,问你int的取值范围;
- ②第二个问题问了list和set区别,我傻了,没复习过这个啊,我就回答了一个list是静态的,set是动态的,然后我又说了list的实现类有arrylist和llinkedlist,arraylist是动态数组,他就问我你说list是静态的,那为什么arrarylist是动态的,这不是自相矛盾吗?我尴尬的笑了,
- ③然后还是集合的,他说,你说集合还有map,那你说说hashmap的内在实现,我balabala说了一堆,然后就问我产生冲突后,怎么判断两个node是不是相同的,我说equals比较,他再问equals比较的是key还是value,我说比较的是value的内容,
- ④第四个问题问的是tcp的三次握手(幸好我复习过),我把三次握手详细给他讲了,他没听清,说我没讲清楚,然后就问我客户端发送报文seq=x,服务器发送ack是多少么,我说是x+1,好,然后问我通过什么来唯一标识这个tcp请求?直接懵逼了,从来没听说过啊
- ⑤第五个问题问二叉树,二叉树查找的时间复杂度,满二叉树有多少个节点,二叉树平均查找的次数?这个不知道,我想不就跟时间复杂度一样吗?
- ⑥第六个问题问数据库索引,我回答了b+树,他又问我b+树和b树的区别,没听过啊。。。