虾皮 10.12 二面

虾皮 10.12 二面

base 上海,部门国际,搞东南亚外卖

14:01 - 14:54

  1. 面试官自我介绍

  2. 自我介绍

  3. 实验室项目背景

  4. 实验室项目 MySQL 和 redis 怎么用的

  5. Redis 的数据过期策略

  6. ES 倒排索引怎么实现的, 数据怎么存储的

  7. ConcurrentHashMap 的原理

  8. 从零设计一个缓存, 你会用什么数据结构,ConcurrentHashMap 能做吗?为什么

手撕:

  1. 对一个有序的链表,实现时间复杂度小于O(N) 的查询接口;

  2. 用非递归的方式实现快排

反问:部门业务,什么时候出结果

作者:青山___

链接:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网

来源:牛客网

Redis 的数据过期策略

定时删除 惰性删除 定期删除 以及结合使用的策略 听都没听过,,,纯寄

ES 倒排索引怎么实现的, 数据怎么存储的

倒排通过高效分词和优化的存储结构 (词典 倒排列表 压缩技术) 以及分片和副本策略实现快速且准确的搜索功能

ConcurrentHashMap 的原理

JDK1.7 使用了锁分段技术保证线程安全 1.8取消了分段锁 采用CAS和synchronizede来保证并发安全 数据结构采用数组+链表/红黑树

CAS(Compare And Swap): 比较并替换,是一种无锁算法。在不使用锁的情况下实现多线程之间的变量同步。

从零设计一个缓存, 你会用什么数据结构,ConcurrentHashMap 能做吗?为什么

设计一个缓存系统时,虽然ConcurrentHashMap可以作为存储组件因其高效的并发处理能力,但还需结合其他机制来实现缓存淘汰策略、过期时间管理以及统计监控等功能。

手撕:

1. 对一个有序的链表,实现时间复杂度小于O(N) 的查询接口;

二分查找 哈希

块索引 加缓存

(根据下标查询?)

2. 用非递归的方式实现快排

使用栈操作 写一个分区函数

然后依次把所有的左右边界压栈

太核心了 寄

相关推荐
m0_5873830027 分钟前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·42 分钟前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
代码不停2 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金4 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
paopaokaka_luck4 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
Wang's Blog5 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog5 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友
蜗牛互联网5 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
SL_staff6 小时前
当规则引擎开始‘懂业务’:JVS-Rules金融风控四大原生能力拆解
java·python·全栈
Shaoshing6 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分