虾皮 10.12 二面
base 上海,部门国际,搞东南亚外卖
14:01 - 14:54
-
面试官自我介绍
-
自我介绍
-
实验室项目背景
-
实验室项目 MySQL 和 redis 怎么用的
-
Redis 的数据过期策略
-
ES 倒排索引怎么实现的, 数据怎么存储的
-
ConcurrentHashMap 的原理
-
从零设计一个缓存, 你会用什么数据结构,ConcurrentHashMap 能做吗?为什么
手撕:
-
对一个有序的链表,实现时间复杂度小于O(N) 的查询接口;
-
用非递归的方式实现快排
反问:部门业务,什么时候出结果
作者:青山___
链接:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
来源:牛客网
Redis 的数据过期策略
定时删除 惰性删除 定期删除 以及结合使用的策略 听都没听过,,,纯寄
ES 倒排索引怎么实现的, 数据怎么存储的
倒排通过高效分词和优化的存储结构 (词典 倒排列表 压缩技术) 以及分片和副本策略实现快速且准确的搜索功能
ConcurrentHashMap 的原理
JDK1.7 使用了锁分段技术保证线程安全 1.8取消了分段锁 采用CAS和synchronizede来保证并发安全 数据结构采用数组+链表/红黑树
CAS(Compare And Swap): 比较并替换,是一种无锁算法。在不使用锁的情况下实现多线程之间的变量同步。
从零设计一个缓存, 你会用什么数据结构,ConcurrentHashMap 能做吗?为什么
设计一个缓存系统时,虽然ConcurrentHashMap可以作为存储组件因其高效的并发处理能力,但还需结合其他机制来实现缓存淘汰策略、过期时间管理以及统计监控等功能。
手撕:
1. 对一个有序的链表,实现时间复杂度小于O(N) 的查询接口;
二分查找 哈希
块索引 加缓存
(根据下标查询?)
2. 用非递归的方式实现快排
使用栈操作 写一个分区函数
然后依次把所有的左右边界压栈
太核心了 寄