时长:1小时10分钟自我介绍手撕算法:模拟计算器,输入算数表达式字符串,返回计算结果。1、ConcurrentHashMap底层实现?2、BIO、NIO、AIO三者之间的区别?3、epoll是怎么实现IO多路复用的?4、知道用户态和内核态的区别吗?为什么要分为两种,NIO为什么比BIO性能好,结合上面两种态来回答?IO操作在操作系统底层是怎样的?(中断、DMA、用户态到内核态的切换,系统调用等...)5、进程和线程区别?6、进程通信方式?7、MQTT优势,为什么物联网普遍采用该协议?(轻量级、QoS消息保证可靠、异步、跨平台、安全...)8、项目中的MQTT怎么实现的?Netty在其中的作用?9、rocketmq内部组件有什么?10、rocketmq保证消费有序,消费者组是如何保证有序消费的,以及不重复消费?(结合分区来回答)11、rocketmq如何提高吞吐量,例如生产者生产很多消息,消费者组这边要如何消费去平衡消息的堆积,并发消费问题等?12、tcp和udp区别?13、http的报文有哪些字段,包括请求报文和响应报文。14、http请求方式知道哪些?(get、post这些,有什么不同)15、osi七层模型和tcp/ip模型的区别?16、如何选择上面这两个模型?17、osi七层模型有哪些,分别对应tcp/ip模型的哪些层?18、DNS在哪一层?19、浏览器输入URL请求时,结合上面的两个模型,到网络层直接,会有哪些协议?(知道多少说多少)20、docker文件系统了解吗?面试官很耐心,告诉我下来可以再多看看计网、MQ这些基础,告诉我答得不好的点等等