第三次面试

1、HashMap和HashTable的区别?

        hashMap的key是无序、唯一的,value是无序、不唯一的,且允许key和value为null;hashTable的key和value都不允许为null;

        补充:TreeMap仅允许value为null,且是有序的;LinkedHashMap,有序的hashMap,速度快。

2、HashSet与TreeSet的区别?

        hashSet采用HashTbale哈希表存储结构,操作速度快,但是无序的;treeSet采用二叉树(红黑树)的存储结构,有序,查询速度比hashSet慢一些。

        补充:LinkedHashSet采用哈希表的存储结构,同时采用链表维护次序。

3、springcloud的核心组件和功能

        微服务注册中心(Eureka,nacos,zookeeper):在服务启动时,进行服务注册。

        声明式web服务客户端(Feign):根据注解和选择的机器进行URL地址拼接

        负载均衡(Ribbon):做负载均衡,选择一个服务机器。

        熔断,降级和隔断(Hystrix):实现不同服务调用的隔离,避免服务雪崩问题

        微服务网关(Zuul):前端调用后端需要通关网关

4、当kafka产生数据积压,消费速度慢,我们该如何解决?

        ·增加消费者数量

        ·调整消费者配置:优化缓存,增加批量拉取大小等

        ·增加分区数量

        ·使用kafka副本,防止数据丢失

5、java的二叉树的实现

        public int data;//数据

        public Node leftNode;//左节点

        public Node rightNode;//右节点

6、单例模式懒汉式和饿汉式的实现

        懒汉式:

                pubic class Singleton {

                        private static Singleton instance =  null;

                        private Singleton(){

                        }

                        public static synchronized Singleton getInstance(){

                                if(instance == null){

                                        instance = new Singleton();

                                }

                                return instance;

                        }

                }

        饿汉式:

                public class Sinleton{

                        private static Singleton instance = new Singleton();

                        private Singleton(){

                        }

                        public static Singleton getInstance(){

                                return instance;

                        }

                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值