面试官: 看你简历写的不错,先简单自我介绍下?
我: 大佬好!我是小程,工作时长五年半,喜欢唱、 跳、rap,打篮球,目前负责在公司打杂,啊不 ,负责维护公司的两个项目…
面试官: hmmm,看你简历上写着 “ 精通spring ”,“ 精通 NIO/SELECT/Epoll底层思想 ” , 你们 项目中Spring用的多么?
我: 还可以,基本上都用得到。 (平时都是百度用用啊)
面试官: 那你讲讲使用Spring的AOP具体是指什么?
我: (这个我背过答案!) AOP是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。
面试官: 嗯,理解的很棒啊, 那你知道有哪些Spring的扩展点吗?
我: 扩展点?BeanDefinition?BeanFactory?
面试官: 还有呢?
我: 没了呀。
面试官: 好吧,你知道市面上哪些主流框架扩展了Spring,如何扩展?
我: 我知道MyBatis扩展了Spring!如何扩展的…呃,不太清楚,其他的没怎么接触过,不太了解。我也…
面试官: 我懂了,那你简单阐述一下Spring bean的生命周期。
我: 这个,我只记得过程有点复杂,具体的,记不清了…
面试官:
Spring 是否支持循环依赖;哪些情况下支持?
Spring体系中的beanDefinition怎么理解?
讲讲 Spring在处理循环依赖为什么需要使用三级缓存?
Spring体系中有些后置处理器?能讲讲主要作用不?
我: 这个…
面试官: 术业有专攻,Spring可能不是你最擅长的。
我: 对对对!
面试官: 那再问你一点别的吧,你讲讲BIO/NIO底层机制吧?
我: 我只了解一点点,不知道该怎么说…
面试官: 那Java多线程动态追踪技术? 能解读一下select/Epoll机制吗?
我:
面试官 看了看手上的劳力士:哟,已经3点了,这么晚了啊?今天就到这里吧,你有什么问题要问我吗?
我: 我挂了吗?
面试官: 没没没,你先回去等通知吧!
Spring 是什么?
有一个工地,几百号人在用铁锹铲子挖坑。
如果开一辆挖掘机来,用一天时间干的活就相当于一个工人一个月的工作量。而且这个挖掘机是免费开源的,不用花钱买,仅仅需要学习掌握如何操作。
BIO/NIO/select/Epoll是什么?
多个 socket 客户端与操作系统 kernel 建立 tcp 3次握手后, 连接上了服务端, 那么这些socket客户端有没有发送数据给服务端呢? 很难猜测, 但操作系统kernel提供了select/epoll系统调用, 主动感知socket客户端有没有IO流数据发送过来, 这就是多路复用机制。
多路复用机制
表面上看epoll的性能最好,但是在连接数少并且连接都十分活跃的情况下,select和poll的性能可能比epoll好,毕竟epoll的通知机制需要很多函数回调。同时BIO/NIO的区别底层原理一直是Java程序员的一个难点、重点,值得学习,也必须要学习。
为了让大家深刻理解Spring框架与NIO/SELECT/Epoll底层思想,我特邀前华南谷歌Spring资深专家子路老师和阿里大神James,带你学会如何阅读Spring的源码、对Spring做二次开发、扩展Spring,实战讲解BIO/NIO底层机制、Java多线程动态追踪技术,P8专家级面试题你也能听懂!
全网顶级技术PK直播秀
阿里大神James
华南谷歌子路
PK
跟着两位大神, 掌握P8级别面试技巧!
James老师:
享学课堂创始人,前阿里、携程资深架构师,10余年java经验。
专精领域:软件架构设计、高并发、高性能服务;
子路老师
前华南谷歌资深工程师 Spring金牌讲师;
专精领域: 分布式、微服务、高并 发、高可用等技术架构;
适合人群
1. 有java架构开发经验基础;
2. 具备一定自学能 力;
3. 立志于成为高级程序员、架构师;
4. 期待获得薪资和职场突破。
课程介绍:
4.27
路神霸气解读Spring源码, 强撸Spring特异插件
1、Spring源码如何从入门到弃 ?
2、精讲Spring Bean生命周期源码;
3、面试一招制敌Spring扩展点引读;
4、Java开源框架如何扩展Spring揭秘;
4.28
1、Java实现BIO/NIO底层机制;
2、Java多线程动态追踪技术;
3、多维度分析Kernel System calls;
4、一听就懂的select/Epoll机制解读;
java进阶必备资料限时领取
附赠7.8G的 Java架构进阶 资料和阿里面试题目及答案
扫码添 加依娜 老师报名
“神仙打架,来不来看? ”