小滴课堂后端面试题(3)~持续更新中

一、说说Dubbo的运行机制、整体架构

这种题目,最好能在草稿纸上画出上面的图,并结合上面的图说明整个流程

Dubbo基于生产者、消费者的模式,

首先服务容器负责启动,加载,运行服务提供者。

服务提供者在启动时,向注册中心注册自己提供的服务。

服务消费者在启动时,向注册中心订阅自己所需的服务。

注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

二、背景:在公司上班时,时常因为内网与外网之间的切换烦恼,该如何解决?

公司来了一位新的女同事,不懂网络,领导想让你帮她的笔记本电脑设置一下网络,使得能够内外网通,请问怎么设置?

备注:

公司内网 子网192.168.43.0

剩余可分配ip地址 192.168.43.30 ~ 192.168.43.60

内网网关ip地址:192.168.43.1  

外网路由器的子网 192.168.1.0

网关ip地址:192.168.190.1
复制代码

答案:

第一步:先设置有线网卡的ip地址与网关,ip设置为192.168.43.30 ~ 192.168.43.60中的

其中一个,网关192.168.43.1,子网掩码:255.255.255.0

第二步:无线网卡的ip地址设置自动获取ip即可

第三步:route delete 0.0.0.0   "删除所有0.0.0.0的路由"

第四步:route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.1   "添加0.0.0.0网络路

由"

第五步:route add -p 192.168.43.0 mask 255.255.255.0 192.168.43.1 "添加

192.168.43.0网络路由

三、背景:互联网企业,或者游戏公司,拥有上千台服务器是正常不过,那么他们是如何管理这些服务器的呢?下面以安装zabbix客户端为例子

公司有上千台服务器,想做批量安装zabbix客户端服务,请简述实现过程?

答案:

利用ansible playbook(剧本)

第一步:使用命令生成密钥。

第二步:将公钥发送到所有安装zabbix客户端的主机。

第三步:安装 ansible 软件,(修改配置文件,将zabbix 客户机添加进组)。

第四步:创建一个安装zabbix客户端的剧本。

第五步:执行该剧本。

第六步:验证

复制代码

四、手写懒汉式单例

public class Singleton {

   // 必须使用volatile关键字

   private static volatile Singleton instance = null;

   //构造必须私有化

   private Singleton(){}

   public static Singleton getInstance() {

   //双重检查

   if (instance == null) {

synchronized (Singleton.class) {

 if (instance == null) {

 instance = new Singleton();

}

}

  }

   return instance;

  }

}
复制代码

一般,写完单例之后,面试官都会根据你写的代码提问问题,比如: 为什么要使用volatile关键字?

答:可以避免指令重排序,即使使用双重检锁,但是如果不用volatile关键字修饰,在运行过程中,可 能因为指令重排序而导致系统产生多个实例

五、说说CAP原理

CAP原理指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、 Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。

一致性指:在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态

可用性是指:系统提供的服务必须一直处于可用的状态,对于用户的每一个操作请求总是能够在 有限的时间内返回结果

分区容错性指:分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一 致性和可用性的服务,除非是整个网络环境都发生了故障

此类题目不要只回答CAP原理,这种即使是背诵都能背诵出来,要适当延伸,举例说明

如:zk集群保证了CP,redis集群保证了AP,因此在实现分布式锁的时候,如果使用zk实现,那 么当master宕机之后,集群需要重新进行选举,此时集群短暂不可用。而如果使用redis实现分布 式锁,因为redis保证AP,所有当master宕机之后,如果master数据没同步,可能会产生数据一 致性的问题,导致有多个应用获取到分布式锁。经过这样一回答,又可以将话题引向分布式锁,当然了,前提是你必须熟悉分布式锁,否则这可能是搬起石头砸自己的脚


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值