补个面经,运气++,希望后面的暑期有机会面试,整个三月没动静
之前实习的,现在补一个。
笔试
三道算法,第一道dp,第二道贪心,第三道不会。 过了两道,隔天约面
2024-02-22 一面(1h)
面试官是我后来的组长,水平很高,但是没怎么和组长聊(没什么深度的问题),只在周会上汇报工作,主要和mt聊了。
- 自我介绍
- 问项目
- 介绍项目
- 项目细节
- 你这个布隆过滤器怎么实现的
- 布隆过滤器原理是什么, 它的底层结构是什么,是bitmap还是字符串
- 为什么要做这个项目
- MQ 消息队列怎么用的
- lua脚本怎么用的
- 自定义分布式锁怎么实现的,(回答redis的setnx,然后各种问题 + redisson分布式锁)
- 那你怎么解决锁误删 (当时没想过,后来学了一下)
- Gateway用来干嘛的
- Bitmap怎么统计签到的,你这个 bitmap 是怎么设置的, 一天一个嘛 (一个用户一个月一个, 每一位算一天),统计1的个数原理是什么,是不是都遍历一遍 (当时没看过实现原理,后来学了统计方法)
- 看你redis用的挺多,讲一下持久化吧,( 扯了一下RDB和AOF ),你觉得哪种方式好 (讲了数据完整性方面的)
- 有没有用到这种场景,一批大量的 redis 请求都过来, 怎么优化。 (想一会憋了个多线程), 不能减少执行次数啊 (把对同一条数据的修改聚合为一个命令, 类似AOF ,预处理一下). 可以是可以, 但是没什么必要, 如果把一千条放到一次通信中怎么样. (可能会丢失吧, 词穷了), 你下去看看吧。
- 联合索引建立有什么要求嘛 (别违反最左前缀原则). 在磁盘中同一个 B+树节点内部的字段是怎么存储的 (当时没这么深入节点的存储)
- Docker的原理是什么? (wtf ? ?)
- 消息队列与数据库怎么保证数据库事务消费的顺序的, 是先提交事务再发送消息, 还是提交事务后发送消息, (先扯事务后, 因为事务前的话, 可能回滚嘛, 那消息就多消费了). 消息发送失败了怎么办, (消息队列有重试机制), 一直重试嘛 (可以设置限制次数).
- HTTP 协议格式. (真忘了哥, 不会)
- GET/POST/PUT 区别 (终于会了, 幂等性和适用场景)
- GIT 用过嘛, merge 和 rebase 原理是什么 (??? 不会, 瞎扯)
- 做项目的时候, 遇到的最难的问题, 收获最大的.
- 平时怎么学习新知识的. DONE
2024-02-xx 二面电话面(40min)
具体忘掉了,没录音,二面是 CTO 电话面。
公司氛围很不错,这次面试也有很大收获,感谢
#实习##面经##小黑盒#