Bilibili-后端面经
一面
项目经历,相关问题- 用过go语言么?
- 介绍TCP三次握手?
- 数据库的三范式
- Redis用作分布式锁有什么问题?
- 微服务了解么,为什么使用微服务,有哪些应用场景,有什么好处?
二面
项目经历- 用过go语言么?
- 快排的时间空间复杂度
- 红黑树了解么?有什么特点?和平衡二叉树有什么区别?性能比较
- 进程通信方式有哪些?
- ARP协议
- TCP为什么是四次挥手?
- 数据库的三范式
- 平时对数据库的优化方式,会优先选择什么样的索引?比如一个表只有两个字段。
- 乐观锁悲观锁介绍一下
- 观察者模式
- Redis集群
- Redis有哪些常用数据结构
- Redis的list和set的区别?哪个可以有序存储?
- Redis的zset的数据结构,跳表的实现方式
- 假设一个场景,一个班级有很多学生,在redis中,可以使用set或list存储,班级名称作为key,班级内的学生组成value,可以优化存储空间,但是如果我们不选择使用这些集合数据结构,而使用String,相对来说存储空间消耗更大,为什么还要去使用String?(大概描述是这样,没有太听清楚,导致问题也没有很理解),后来面试官详细解答了一下,大致就是,String是key/value的形式,只有一个value对应key,可以对单独的value设置过期时间expire,但是set,list这些由于过期时间只能作用于key,过期后整个集合被移除。
总结
大致记得这些题目,看b站面经很少,写出来供大家参考。两次面试官都很和善,不会的时候面试官总是耐心详细得介绍。
因为没有用过go语言,所以面试官问其他知识比较多。#面经##哔哩哔哩##校招##Java工程师#