小红书JAVA后端一面汇总总结

小红书 2 年社招 Java 后端一面的面经,面试的风格是从一个知识一层一层深入问到底层。

从 Java IO,问到 socket 底层。从 Java 内存,问到操作系统内存。所以学习知识的时候,不要只

看八股文,还是需要从点到面一层层去掌握, 才能比较好应对这类的面试场景。

问题记录

  1. 自我介绍

  2. 讲一下BIO,NIO,AIO的区别

    1. 回答:IO分为两个阶段:数据准备阶段和数据拷贝阶段;BIO需要等待数据准备和数据拷贝;NIO会轮询数据是否准备完成,需要等待数据拷贝;AIO会在数据准备完成和数据拷贝完成后收到通知,然后执行异步处理逻辑

  3. 了解Ngnix原理吗,Ngnix IO模型是什么

    1. Review:Reactor模型包含单Reactor单进程/线程,单Reactor多进程/多线程,多Reactor多进程/多线程

    2. 回答:这块讲得比较乱,讲了一下Reactor模型,把多Reactor和多进程搞混了

    3. 追问:Reactor和NIO的关系

    4. 回答:。。。

    5. 追问:为什么netty要拆成boss和worker,把accept和read/write分开的好处是什么

    6. 回答:对于单线程模型,read事件需要等待IO,会阻塞后续连接的建立;

    7. 追问:A进程建立连接后怎么交给B进程去读

你可能感兴趣的:(面试汇总,java,开发语言,面试)