得物后端三面

一张两千万的基于innodb的表,自增id,select * where id = 123 ,要查询几次
(2~3次 1~2次io,2000行和2000w行的区别是什么
(b+树高度差1,实际命中缓存仅多一次索引页查询,命中缓存几乎无感) (但是批量查会变慢)
mysql的buffer pool
(缓存数据页和索引页 提高读写性能多page 高效页缓存  lru机制 young(热数据0+old(冷数据)写入机制 脏页刷盘)
Mysql宕机断电情况怎么保证不丢数据
(redolog + wal日志先行)
如果表数据量大导致crud比较慢,如何优化
(sql 索引和查询优化表结构 分表分区 冷热数据 存储引擎层 缓存池 系统架构 读写分离 引入redis 异步化和队列)
如何保证redis缓存的都是热点数据
(冷热分离 应用层统计热点key 商品预测数据 淘汰策略 lru/lfu ttl 多级缓存架构) 
redis和sql的数据一致性
(旁路缓存 写操作先写后删 延迟双删 最终一致性 消息队列辅助 兜底)
golang singleflight
(防止重复请求 一个key的多个并发调用只执行一次)
缓存击穿原理
(热点key失效)
一个http请求 没收到响应可以发新请求吗
(请求是否幂等 post不行)
http的client怎么保证接受相应完整性
(tcp协议 分片重组 ack 校验和http 响应头content length /chunked)
零拷贝
(优化数据传输路径)
数据从磁盘到用户内存经过几次拷贝操作
(传统io 2 内核页缓存内存映射mmap 1 零拷贝 1dma)
如何保证消息队列无重复消息
(去重+幂等消费&发送 offset docid )
如何防止消息队列重复消费
rocketmq原理
消息队列topic分区数可以增加吗
消费者的分区重平衡原理
(消费者数量或订阅关系发生变化 topic重分配)
golang里gomodule作用
(包管理和依赖版本控制 Go.mod go.sum go build)
golang里import和require区别
(require在gomodules里用 构建时 import编译时)
全部评论
这八股看着都头大
点赞 回复 分享
发布于 10-17 13:12 广东
同学,瞅瞅我司,校招刚开,点击就送,我的主页最新动态,绿灯直达
点赞 回复 分享
发布于 10-17 12:56 湖北
为啥你三面这么多八股,我全程问实习
点赞 回复 分享
发布于 10-16 19:56 广东
为什么得物还不给我面试
点赞 回复 分享
发布于 10-16 12:47 湖北

相关推荐

12-08 22:35
门头沟学院 Java
1.常见的垃圾回收器有哪些?CMS 垃圾回收器的回收过程是什么,它存在哪些痛点,比如浮动垃圾问题该如何理解?2.G1垃圾回收器是如何实现可预测的停顿时间的?3.Java 中哪些对象可以作为 GC Root?垃圾碎片严重的情况下,有什么兜底措施?4.CMS 的重新标记阶段解决了什么问题?需要重新标记的对象可以归为哪些类别?5.缓存击穿、穿透和雪崩的区别是什么?区分它们的核心依据是什么,对应的解决方案各有哪些?6.布隆过滤器的原理是什么?如何用它解决黑客用不同无效 ID 攻击数据库导致的缓存穿透问题?7.用消息队列实现异步领券时,若消息未消费用户就再次发请求该怎么处理?消费队列消费失败又该如何兜底?8.如何保证数据库与 Redis 的数据一致性?比如得物优惠券发放场景中,库存变动时怎么同步两者数据?9.对于查询语句wherea=land b>landc=1,联合索引(a,b,c)会如何生效?结合 B+树结构说明查找过程。10.若A是主键,查询SELECT*FROMtable WHERE A=0 FOR UPDATE加的是record 锁还是 next-key锁?若A是非唯一索引呢?11.当A是非唯一索引,表中仅有 A=1和A=10两条数据时,SELECT*FROMWHERE A=5 FOR UPDATE和SELECTFROM ...WHERE A=6 FOR UPDATE会互斥吗?12.什么是索引下推?这种优化方式具体是怎样实现的?
查看12道真题和解析
点赞 评论 收藏
分享
评论
2
26
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务