2021-03-15 美团优选面试总结

牛客网答题

练习题:力扣网

1.找到字符串的最长无重复字符子串

import java.util.*;

public class Solution {
    /**
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        // write code here
    }
}
  1. 翻转单向链表,并输出新的Head

  1. ThreadLocal为什么要用弱引用?
  2. 插入意向锁

MySQL中的锁

  1. 覆盖索引
  2. @Autowired和@Resource区别
  3. Redis网络请求
  4. 缓存击穿 缓存雪崩
  1. 斐波那契数列的两种写法
    传统写法:
public static long fibonacci(long number) {
        if ((number == 0) || (number == 1))
            return number;
        else
            return fibonacci(number - 1) + fibonacci(number - 2);
}

高效写法:

//更好的解法(提高时间效率)

public int  fibonacci(int n){
    if (n < 2){
        return n;
    }
    int fibN = 0;
    int fibOne = 0;
    int fibTwo = 1;
    for (int i = 2; i <= n ; i++){
        fibN = fibOne + fibTwo;
        fibOne = fibTwo;
        fibTwo = fibN;
    }
    return fibN;
}

int a = 0, b = 1, c = 0;
for(int i = 2; i <=n; i++) {
  c = a + b;
  a = b;
  b = c;
}
return c;

白龙马面试题:

btree和b+tree的区别

  1. java8 hashmap的扩容
  2. ConcurrentHashMap的扩容
  3. 讲一讲ConcurrentHashMap的安全机制
  4. redis RDB、AOF
  5. CMS 三色算法、垃圾回收算法。(标记清除,之后再整理)不是标记整理
  6. JVM的内存结构。默认的对象的年龄为什么设置为15?
  7. JVM的区间都存储哪些信息?
  8. B-Tree 和 B+Tree的区别?

金康面试

  1. ReentrantLock 加锁的原理:(AQS)
  2. Redis String底层用了哪些编码格式?
    https://www.cnblogs.com/yangmingxianshen/p/8054094.html

你可能感兴趣的:(2021-03-15 美团优选面试总结)