先说结果,面完秒挂。
没问实习和项目,也没让做题,狠狠的拷打了三十分钟的面经。
自我介绍
Java内存结构
这个答得很完美,每个部分都介绍了相应的功能
HTTP1.0和HTTP2.0的区别,
HTTP1.0每次传输都要断开和建立连接,HTTP2.0使用了多路复用,然后面试官又让我回答多路复用的具体场景,回答上来后又问我还有什么新的区别,这次没回答上来,面试官接着问下一个问题了。
HTTPS加密原理
TLS/SSL+证书,答上来后又让我描述一下用户登录到web时客户端到服务端的过程,这个简单描述一下,然后面试官又问的深了一点(TLS加密的具体过程),就又不会了。
TCP和UDP的区别以及TCP为什么稳定
老生常谈的话题
TCP重传机制、流量控制
了解不深,磕磕绊绊还是没答上来。
然后面试官问我类的加载过程,先说完后他手写了一个类似死锁的场景,(类B调用类A,然后问我类B能不能运行)
我说可以,因为看着像spring的三级缓存,就说了。然后他细问我三级缓存是怎么实现的,回答上来了。
然后他让我手写一个消费者-订阅者模型,我说不会,然后他让我手写一个单例。
撕出来后让我回答双检索单例模式中第二个null有什么功能。
思考了一会儿说可以保证线程安全,然后他让我指出如果去掉第二个null,代码执行时哪行代码可能会带来线程不安全,答错了。
Spring的IOC和AOP,以及AOP的底层原理(回答代理模式),然后又问代理模式的基本原理(反射),然后问反射是怎么实现的,回答spring通过配置文件来实现。
反问
1.没有算法环节吗?
没有,我估计前面八股还是手撕的不好,不想浪费时间。
2.这个难度大吗?(其实想问可以给我一点评价吗,但是被面傻了)
面试官评价我什么都懂一点,但是对技术深究的不够,没有一个深究的很彻底的问题可以让面试官满意,哪怕一个也没有。(亲口说的,当时就感觉凉了,结果不出意外面完秒挂)我说昨天还在考试,没有好好准备(没错面试前一天我们考试),但是面试官说这不是考试的原因,从这点可以看的出来我的表现让面试官不太满意。
总结:确实没有彻底深究过一些问题,要把之前的面经得重复看看。不过其实我想说那个双检索还是了解过的,但是因为专心应付考试的原因忘了很多东西(其实还是记得不深而且不太服气),所以就要狠狠沉淀。
以上就是全过程,想请牛友们锐评一下我的水平,不玻璃心,谢谢。