深圳某互联网公司一面
发面经涨人品
讲讲你对mysql的认识(索引 b+树等)
为什么mysql表主键字段推荐使用唯一主键索引而不是联合索引(只答了性能方面、减少回表):在 聚集索引(主键索引)下,数据的存储顺序和索引顺序一致,这样在检索数据时,B+ 树能够更加高效地定位到目标数据行。因为数据本身就是按主键排序的,查找时可以减少对磁盘或内存的访问。在 非聚集索引(联合索引)下,B+ 树中的叶子节点存储的是索引的列值和指向数据行的指针。查询时,系统需要通过索引查找到叶子节点,然后通过指针访问数据行,这样会增加额外的 I/O 操作和时间开销,尤其是在复杂查询或数据量较大的情况下。
索引覆盖、下推
项目:为什么要做开源项目,看到了你将单体项目迁移到了微服务为什么,模块是如何拆分的
如果让你做一个博客系统你会设计哪些模块?
如果是类似csdn这种多人使用的博客呢?
上面两个问题提到了搜索模块,所以接下来问用什么实现:es
如果需要es与mysql同步数据 采用哪种方案:canal+kafka
数据同步采用增量还是全量?:增量
增量全量是否可以同时进行?:可以
如果我现在需要全量同步数据 采用哪种方案:定时同步比如每天晚上
看你项目中提到了订单模块,讲讲订单表如何设计:主要是订单id 使用雪花算法生成
用过redis吗,使用程度如何?
讲讲redis几种基本类型
string底层是如何实现的:动态数组
为什么使用 REST API 而不是传统的其他通信方式:简单易用性能好,基于http协议 无状态等golang
#golang实习##面经#