(10.15)字节后端开发一面凉经
1.上来一道算法题,算鱼缸的最大高度h,找不到原题了,暴力解解了一个小时才解出来,面试官很有耐心的提示。
2.说一个你最熟悉的项目,介绍一下有啥改进点和优化。
3.有用过redis做分布式锁吗,用redis会出现什么问题?
4.如果redis单机崩溃了,分布式锁还没持久化到磁盘中,要如何解决?
5.redis的持久化方式有哪些?
6.redis使用的是哪种,各有啥优缺点?
7.Redis中的AOF是如何把数据持久化到磁盘中的?
8.AOF如何重写压缩持久化到磁盘中的流式文件?
9.Mysql索引的数据结构是什么?
10.b+树如何实现插入和删除结点操作?
10.Mysql的性能瓶颈是什么?
11.Mysql中的主键为什么是自增的?
12.Mysql中的事务隔离级别了解吗?Mysql默认的事务隔离级别是?
13.了解幻读吗?
反问
1.如何提升自己的能力?
面试官回答:1.多进行编程题的训练,能锻炼编程思维和代码实现能力。2.多去深入了解Mysql,redis,Elaticsearch和kafaka等开源中间件框架对各种问题的解决方案,会发现他们的精妙之处,并将其应用于项目中加以熟练。3.对于服务端开发人员开始深入熟读ddia《数据密集型应用系统设计》这本书,目前很多大厂都是应用这本书里的设计。4.完美的组件是不存在的,要熟悉不同组件适合的场景,明白不同组件的优缺点,知道在特定场景下该使用什么组件。