天津小公司面经

一面

1.自我介绍

2.项目websocket 优化 方案

3.websocket 的链接信息如何存储

**直接在代码中存储到 **ConcurrentHashMap中,后续用户访问量上来了,再存储到 redis 中

4.短链接的缓存是干什么的

大量未知用户的访问不至于落到 mysql 中。同时在缓存外面,套了一层布隆过滤器(引诱面试官提问)

5.外面套一层的布隆过滤器是怎么做的

正常思路-> redis 没找到->mysql->分片键没有命中->全库扫描

优化思路->布隆过滤器->有直接放行

------------------>没有就存一个空值->原则:能不进 mysql 就不进 mysql

**6.**mysql 索引优化问题

联合索引+最左匹配+索引下推(开始吟唱八股魔法)

7.场景题:有一个分类需求:如(促销商品-今日畅销-电器-手机-苹果)如何创建 mysql 的表,以及索引如何创建

树表(父 ID,名称,type(区分几级分类),status(状态),排序字段))

索引:父 ID,排序字段。联合索引

反问:

1.你们主要做什么

2.招的这个岗位要做什么

3.公司常用技术栈是什么

4.(通过希望挺大,就没问什么了)

二面:

苹果手机倒扣上,没有录上音。╮(╯▽╰)╭

1.java 有 thread 为什么还要有 future 等

没想到,就说,thread 不太好控制,暂停什么的,要用 sleap
解答:因为 thread 是黑盒,无法观测状态

2.springboot 的 starter 怎么写

说了半天也没背出来。

3.场景题,期末要查看考试结果,排名,怎么做这个需求。

我想的是,这种复合表大概率应该要很多 join。

我的回答:查一次,然后存储到 redis 中,用 zset 来做排名,应为频繁的查询需求,大概率只有一段时间。最后流量少了,就直接落库到 mysql。(存到 redis,最后拉回到 mysql)

哥们对答案很不满意,又说,动态积分排序呢?

还用那一套啊。
哥们很不满意**(;一_一)**

你知道用 mysql 就能解决吗,还还还

相关推荐
Wang's Blog几秒前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
找方案12 分钟前
AI+人力资源:AI招聘面试的兴起与争议
人工智能·面试·职场和发展
讳疾忌医丶19 分钟前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
M78佐菲31 分钟前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
郑州光合科技余经理42 分钟前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
毅炼43 分钟前
Rover-Suite 开源发布:轻量服务注册中心与网关一体化方案
java·后端·系统架构·gateway
高亦真44 分钟前
今天是学习嵌入式的第37天
linux·学习·算法
梦想平凡1 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
sunshine22 girl2 小时前
Idea中如何搜索
java·ide·intellij-idea
猫吻鱼3 小时前
【AI 01】【Spring AI 基础使用】
java·spring·spring ai