1、 自我介绍
2、 那你给我介绍一下Java语言的特点吧
3、 举个例子说一下继承吧,以人这个类作为例子,你定义几个属性几个方法,再抽象成一个子类;
4、 我看你简历上写了数据库,你能说一下你数据库方面都了解什么吗?
5、 现在我给你一个数据表,要你来查找,你来说一下为什么要有索引,不用索引不行吗?
6、 应该怎么去设计一个索引,比如说给你一个表,该选择哪些字段作为索引?
7、 除了唯一性还有没有别的,比如说名字和ID,选哪个?
8、 索引为什么要选择B+树?B+树有什么特点?
9、 B+树为什么适用于磁盘,为什么磁盘查找就要B+树?
10、 B+树为什么查询效率高除了你刚刚说的那个B+树比较矮,还有别的原因吗?(说了磁盘预读)
11、 为什么B+树可以很好地利用磁盘预读的特性,红黑树不行吗?
12、 聚族索引和辅助索引的区别
13、 散列表,说一下怎么设计一个哈希表(提示用哈希函数)
14、 如何解决哈希冲突,HashMap里面是怎么做的?
15、 说项目()
16、 什么叫同步阻塞
17、 服务端和客户端分别调用什么函数来完成这个BIO(accept,read,write)
18、 你这个项目用的是TCP还是UDP?TCP和UDP在你这个编程模型上有什么区别,调的函数有什么不一样?
19、 继续介绍你的NIO吧
20、 NIO怎么做到同步非阻塞的?
21、 非阻塞肯定是利用了内核的某种特性实现的
22、 它用了哪种多路复用,用了哪种信号模型?
23、 Selector内部是怎么实现的,底层调用了哪些API呢?到底是属于哪种驱动型呢?
24、 说一下epoll吧,我理解NIO底层是用epoll实现的,它底层怎么知道我该不该读该不该写,你看过底层的源码实现吗?
25、 缓冲区在哪个地方开辟的,缓冲区的大小是多少?
26、 Flip()函数底层是怎么实现的,具体是怎么实现这个读写转换的呢?
27、 多了一个Buffer为什么更快了?
28、 你底层的用户数据,聊天数据究竟是怎么存储的?
全部评论
(6) 回帖