杭州希秀泛在计算技术-java

复盘
对IOC的理解
1.ioc又叫控制反转,顾名思义就是将对象的控制权(对象生命周期的管理:初始化、赋值、销毁)转交给ioc容器管理本身而不是程序员,ioc和aop一样是作为spring的两大特点。
2.降低了类与类之间的耦合,简化了对对象生命周期的管理,spring可以自己去扫描bean对象,进行依赖注入,要使用的时候可以很方便的使用注解注入就可以使用了。
3.一般通过DI依赖注入,有三种方式字段注入(@注解),构造函数注入,set方法注入。
public class PaymentService {
        private PaymentGateway gateway;

        @Autowiredpublic
        void setGateway(PaymentGateway gateway) {
            this.gateway = gateway;
        }
}
如何设计一个可靠的分布式锁
如何设计一个可靠的分布式锁
一个可靠的分布式锁需要具备几个特点,我一个个说:
互斥性:在同一时间内只有一个线程能拿到锁。
可重入性:拿到锁的线程可以再次拿到锁不受限制。
非阻塞式获取锁的特性:setnx天然就有这个特性。
不会发生锁的误删情况:所以可以存储线程id+uuid。
保证解锁前业务代码要执行完成:锁续期机制。
锁失效策略避免死锁发生:给一个过期时间。
说一下RABC

Role based access controll 基于角色的访问控制
角色、用户、权限,角色-用户,权限-用户关联。
就比如说公文模块,普通角色是没有权限修改和删除的。

这里就用到了@Sahasperson注解,
如果后续有很多复杂的权限、角色校验呢?
satoken提供了sarouter以路由方式进行拦截,并且可以使用lambda表达式还有链式调用,再搭配注解校验还有自定义方法,一般都可以解决复杂的权限校验问题。
docker容器和镜像的区别
镜像可以看成类,而容器可以看出类的实例对象。
docker容器上的服务宕机如何排查
使用docker logs -f 容器名 实时输出日志

耗时20分钟
#面试问题记录#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务