2019.9面试的,补上一面:你说下动态代理和静态代理的区分?哪些场景会用到这两种?答:创建代理主要是两个步骤,1.获取增强方法advices以及增强器Adviser;2.根据获取的增强进行代理目标对象。在spring中如果目标对象实现了接口,默认用JDK动态代理。可以强制使用CGLIB实现AOP。如果没有则必须采用cglib,spring会在两者之间转换。
二面:你说下使用dubbo可能会出现什么问题?现在如果要你设计一种协议,应该如何考虑保证延迟低丢包少?答:考虑到滑动窗口的大小是取决于客户端和服务端的buffer大小的,所以如果要控制延迟低,那么就要使包写入buffer的大小尽可能小。除此之外,对于传输中的某些大对象。为避免tcp拥塞控制带来的影响,我们应该设置MSS最大报文长度,分包尽可能小。降低丢包率可以考虑用心跳+空闲检测,带客户端恢复正常后配合tcp自身的FEC向前纠错机制保证因丢包产生的数据不一致问题。入职后需要做业务分享,需要一定的流程图,时序图,职能图的绘制能力,或者你自己表达能力ok也可以。
...查看更多