土木哥的得物Java秋招
TimeLine:
- 8/16 投递
- 8/23 笔试
- 8/27 一面
Update:
- 已挂,真没道理,面评非常不错,真怀疑是挂错人了
一面:
(1)八股:
- 生产场景下什么时候用 ArrayList ,什么时候用 LinkedList
- 创建线程的方式
- 为什么 volatile 能保证多线程可见
- 在并发量特别高的情况下是使用 synchronized 还是 ReentrantLock
- 说一下 ConcurrentHashMap 中并发安全的实现
- 你说高并发下 ReentrantLock 性能比 synchronized 高,那为什么 ConcurrentHashMap 在 JDK 1.7 中要用 ReentrantLock,而 ConcurrentHashMap 在 JDK 1.8 要用 Synchronized
- 有哪些并发安全的实现方式(简单讲了下 JUC)
(2)场景题:
- 不用 ThreadLocal 你会想用什么方式存用户信息
- 有千万级数据,如何判断一个整数是否存在(布隆过滤器)
- 如何理解:布隆过滤器说某个元素存在,则大概率在。布隆过滤器说某个元素不在,则一定不在
- 千万级数据用布隆过滤器初始化的时候 redis 太慢了,有没有什么好方法(RDB 的 bgsave)
- 多线程间如何传值(volatile修饰共享变量、阻塞队列、ThreadLocal)
- 如何设计登陆黑名单
(3)手撕:面试官说看我笔试AK了,就不出手撕了
#得物##得物面试#