小红书-Java开发工程师-一面
岗位:Java开发工程师
时间:8.19
问题:
算法
实现类,类中visit(String key, int N)方法,查询过去N秒内对key的访问(visit)次数。
一开始每个key设计一个时间链表/rbtree,提示查询的细粒度可以粗一点,就为每个key设计一个数组,记录每秒的查询次数;被指出数组只扩张不收缩,又加入删除头部的方法。整体做的没有让面试官太满意
实习
数据库表设计
分库,事务怎么保证一致性,不能回滚(没答出来,面试官最后说要首先记录上下文信息,包含xxx,重复提交,幂等性(分布式锁))
分布式锁细节
Redis在项目中的体现,缓存的作用
扫码登录,接口信息
JWT,负载不安全怎么办
整个项目的挑战
总结
面试官迟到20分钟,并拷打一小时,算法和场景设计不说刁难吧,但跟我面的其他公司相比很“独特”。面完15min收到通知挂。值得一提的是曾经在该部门实习过很长一段时间,所以在秋招开始这场面试给我造成了一个很沉重的打击,有缘再见
TaylorSwift13面经 文章被收录于专栏
24后端开发面筋