记美团一面,凉凉~

1. 自我介绍

2. Oauth2原理

3. Redis数据结构

常见五种数据结构:字符串、哈希、列表、集合、有序集合

4. Redis集群模式及区别

5. 消息队列如何保证数据不丢失

6. 集合

常用的集合有ArrayList、LinkedList、HashSet、HashMap、LinkedHashMap

7. ArrayList与LinkedList区别

8. ArrayList如何扩容

9. 如何使用线程安全的集合

1.使用线程安全的集合类:ConcurrentHashMap、CopyOnWriteArrayList
2.使用静态方法创建集合 java.util.Collections#synchronizedMap

10. 分布式锁

11. 分布式锁设置了过期时间,锁的方法执行执行很长会出现什么问题

12. JVM分为几大区域

13. JVM垃圾回收器区别

14. 垃圾回收算法

15. Kafka原理

16. Kafka生产者组与消费者组

17. 线程池各个属性的含义

首先来看线程池的通用构造函数

public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue<Runnable> workQueue,
                              ThreadFactory threadFactory,
                              RejectedExecutionHandler handler) {
        if (corePoolSize < 0 ||
            maximumPoolSize <= 0 ||
            maximumPoolSize < corePoolSize ||
            keepAliveTime < 0)
            throw new IllegalArgumentException();
        if (workQueue == null || threadFactory == null || handler == null)
            throw new NullPointerException();
        this.acc = System.getSecurityManager() == null ?
                null :
                AccessController.getContext();
        this.corePoolSize = corePoolSize;
        this.maximumPoolSize = maximumPoolSize;
        this.workQueue = workQueue;
        this.keepAliveTime = unit.toNanos(keepAliveTime);
        this.threadFactory = threadFactory;
        this.handler = handler;
    }

可以看出,构造一个线程池需要以下7个参数:
1.corePoolSize :核心线程数。可以看作稳定的工作线程数量,当阻塞队列还未满载时,线程池将保持核心线程数。
2.maximumPoolSize :最大线程数。可以看作弹性的工作线程数量,当阻塞队列满载时,线程池将在核心线程数的基础上创建新线程来处理任务,直到最大线程数。
3.keepAliveTime :工作线程空闲时则保持存活的时间。
4.unit:keepAliveTime 参数的时间单位
5.workQueue:BlockingQueue类型接口,用来存储积压任务的阻塞队列。
6.threadFactory:线程工厂,用户可以自定义创建线程的工厂。
7.handler:拒绝策略,当workQueue满载时将会触发。

18. 请求伪造(CSRF)

19. RPC有没有使用过

20. Redis缓存穿透和缓存击穿的区别

缓存穿透

缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。
解决方案:
1.验证拦截
2.缓存空数据
3.使用布隆过滤器

21.做一道算法题

原文地址:https://www.cnblogs.com/ixan/p/14878684.html