虾皮Shopee日常实习一面面经
- 实习相关的业务和链路
- 线程池的主要参数有哪些?分别是什么作用?
- 如何从主线程向子线程传递参数或变量?
- 为什么使用 InheritableThreadLocal 就能让子线程获取到父线程的变量,它的实现原理是什么?
- 在子线程中,如果要修改父线程的变量,应该怎么做?
- 如何实现等待多个子线程都运行完毕后,主线程再继续执行的效果?
- 除了 CountDownLatch,还有其他方法可以实现这个功能吗?
- MySQL深度分页优化
- 为什么通过游标的思路进行分页会更有效率?
- 有用过 Elasticsearch 吗?
- 假设一台 Linux 主机的 CPU 使用率突然变得很高,你会如何排查这个问题?
- 你用过像雪花算法之类的分布式ID生成算法吗?
- 雪花算法的实现原理是怎样的?
- 除了雪花算法,还有其他生成唯一且趋势递增ID的方式吗?
- 如果使用 Redis 作为数据库缓存,如何保障缓存与数据库的一致性?
- 延迟双删具体是怎么做的?
- 你接触过布隆过滤器吗?
- 使用布隆过滤器进行判重时,如果它判断某个数据“不存在”,那么这个数据就一定不存在吗?它的误判是怎样的?
- 如何快速找出两个非常大的数组的交集?
- 如果不需要找出具体的交集,只是快速判断两个大数组有没有交集,该怎么做?
- 在判断时,对两个位图具体是做什么操作?
- 对于账户密码,从前端输入后,如何安全地进行传输和存储?
- 你还了解其他加密算法吗?
- 在编写 Java 的 SQL 相关代码时,如何预防 SQL 注入?
- (思维题)有两个杯子,一个2毫升,一个5毫升,如何得到4毫升的水?
- (手撕)一道简单SQL,group by + having即可
- (手撕)环形链表
- 如果用 Redis 实现滑动时间窗口限流,你会怎么做?
- 在这个滑动窗口限流的 Redis 数据结构里,你会存储什么内容?
- 反问,问了业务和对我的建议