喜马拉雅后端一面

1.自我介绍

2.项目拷打

2.1 为什么要用分布式锁?

2.2 用唯一索引能不能保证一人一单,和你的分布式锁比起来怎么用?

2.3 分布式锁是在事务开启前加还是事务开始后

2.4 讲讲你的布隆过滤器是怎么自定义实现的

2.5 讲讲你的Redis和数据库的数据一致性是怎么做到的

2.6 你的乐观锁是怎么实现的

2.7 你的异步处理能够提升多少性能?

八股

  1. 一般用什么IO流?

  2. 什么时候用ArrayList,什么时候用HashMap

  3. HashMap底层结构

  4. Set查询为什么快?

  5. HashMap为什么要从链表转换为红黑树

  6. 什么时候使用线程

  7. 使用线程池有什么好处?

  8. 给十个线程,添加到线程池里面,怎么判断他全部执行完毕?

  9. 为什么会存在线程安全问题,给出具体的例子

  10. sychronized锁住方法是锁住了对象还是锁住了什么

  11. git基本使用,你常用什么命令

  12. 算法拷打

14.1 数字反转:Long:1234->4321,不准转换为string

14.2 字符串反转:" hello world "->"world hello"

14.4 螺旋矩阵

  1. 一道sql

  2. left join和join

  3. String StringBulider StringBufffer

  4. 索引为什么能够加快查询速度?讲讲B+树

  5. 索引分类

  6. 你的事务是怎么实现的?

相关推荐
颜颜yan_4 分钟前
Python面向对象编程详解:从零开始掌握类的声明与使用
开发语言·redis·python
李永奉10 分钟前
C语言-流程控制语句:for循环语句、while和do…while循环语句;
c语言·开发语言·c++·算法
ankleless27 分钟前
C语言——关于指针(逐渐清晰版)
c语言·开发语言·指针·解引用操作符·c语言基础知识学习
打码农的篮球41 分钟前
STL——list
开发语言·c++·list
KNeeg_43 分钟前
Spring循环依赖以及三个级别缓存
java·spring·缓存
lkf197111 小时前
商品中心—1.B端建品和C端缓存
开发语言·后端·缓存
渣渣盟1 小时前
JavaScript核心概念全解析
开发语言·javascript·es6
AI_Gump2 小时前
【AI阅读】20250717阅读输入
java·spring boot·spring
ldj20202 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
java叶新东老师2 小时前
goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
开发语言·后端·golang