字节后端,日常实习一面
为什么就我的面试这么难,只记录我没答上或者答得不太好的问题。
- 类似黑马点评项目,用了caffeine做本地缓存,问:你知道本地缓存可以用那个谷歌的guava cache吧,这二者有什么区别,为什么用caffeine,它解决了guava的什么问题?
- 本地缓存的缓存一致性保证?删本地缓存失败了怎么办?(为什么不问我redis。。。)
- 用了kafka消息队列,如何保证顺序消费和消息不丢失?
- 数据库里的几张表怎么建的索引?
- 缓存穿透解决方案,你说了可以防止一个用户频繁发送恶意请求,那你说说这个咋实现,怎么记录判断这个用户ip。
- 另一个项目做了rag相关。问:如果公司的大模型要和spring ai适配,应该做些什么,来让别人能通过spirng ai框架调用?
- spirng ai的chat memory的逻辑上的数据结构?chat memory怎么实现的?除了数据库存储之外,还有哪些持久化方式?
- 文档处理有图片表格怎么办?
- 工具调用是用注解实现的吧,这个注解的底层原理?
- embedding模型多少维的?你用到的大模型的参数量是多少?为什么不用别的模型?为什么用spring ai框架?
- 怎么判断rag效果的?
- 八股:分布式锁的实现方式?你说除了redis之外用zookeeper也能实现分布式锁是吧,那你说说zookeeper咋实现的。
- synchronize锁静态方法和非静态方法的时候,锁对象的不同?
- elastic search用过没?transformer原理了解不?
- 手撕倒是挺简单的。