虾皮日常一面7.14

1.A:能实习多久,能接受来深圳吗 Q:6个月,一线城市都可以接收 2.A:介绍一个你的项目,你的产出 Q:大众生活(黑马点评)。介绍了功能:如优惠券秒杀、共同好友、热门排行等。 3.Q:缓存三剑客 A:缓存穿透:布隆过滤器和缓存空值。用布隆过滤器替代了缓存空值,bitmap占内存少,但有一定误判率,可接受。缓存雪崩:TTL加一个随机值。缓存击穿:互斥锁,只有一个线程能访问数据库。(其实还有逻辑过期:设置永不过期,但增加一个过期时间字段,在读取时检查是否过期。可以解决) 4.Q:秒杀功能介绍 A:乐观锁:版本号+检查库存>0实现。 5.Q:redis自增命令和雪花算法生成全局id的区别 A:自增命令的id可被猜测,是连续的。雪花算法生成的id与时间有关,系统时间回拨可能导致相同id。 6.Q:分布式部署雪花算法怎么生成一样的id A:机器号+业务号+雪花算法 共同拼接生成id 7.Q:redis缓存淘汰策略 A:lfu、lru、random、默认 8.Q:超卖怎么解决 A:库存大于0才允许下单 9.Q:一人一单 A:给uid加锁 10.Q:lua脚本做了什么 A:加锁防止一人多单 11.Q:介绍Set、ZSet A:底层是压缩链表 12.Q:zset、set会有大key问题怎么解决 A:拆分到集群中 13.Q;k个有序list,每个有n个元素怎么找前m的数据,时间复杂度 A:遍历所有list维护一个m大小的小顶堆,knlogm 14.Q:redis分片了解吗? A:不了解 15.Q:消息队列怎么用的 A:流量削峰,将同步请求转为异步请求,防止某个时间请求过多压垮服务器 16.Q:消息队列顺序性、可靠性怎么保证 A:不知道 17.Q:MySQL引擎有哪些,区别 A: InnoDB MyIsAm 间隙锁 表级锁、行级锁 支持事务 不支持事务(还有别的我当时忘了) 18.Q:事务特性(ACID) A:原子性...然后自言自语说出ACID,面试官提醒了一下说就是这个。A:原子性 undoLog,C:一致性:是结果。I:隔离性MVCC D:持久性 redoLog 19.Q:索引分类 A:聚簇索引非聚簇索引(可能应该是聚簇索引和二级索引,太紧张答错了一些) 20.Q:介绍一下B+树 A:树矮IO少、查询稳定、叶子节点之间有双向链表连接 21.Q:一张表几个聚簇索引 A:1

22.Q:慢SQL优化

A:不正确使用索引、表结构不合理、业务不合理

23.Q:怎么判断一个SQL语句有没有走索引

A:查询日志 using WHERE就没有用索引 24.Q:redis是单线程多线程? A:以前是单线程,后来引入了多线程

25.Q:为什么redis引入多线程

A:因为redis的性能瓶颈在网络IO,解决了网络性能瓶颈

26.Q:redis引入多线程有没有什么别的问题 A:不知道

27.Q:redis的基础数据结构 A:string、hash、zset、set、bitmap、hyperloglog、还有一个和地理位置有关的忘了叫啥了

28.Q:redis的持久化方案

A:AOF和RDB。RDB:fork的时候会阻塞主进程,所有持久化的间隔不能太短,但这样宕机会损失更多数据。优点是可读性好,宕机后恢复快。AOF:恢复时逐条执行命令,宕机恢复速度慢。文件体积大,但可重写减小体积。两者混合使用更好。

29.手撕:旋转数组(不会让换了一道)->反转链表

#面试问题记录#
全部评论
挂了
点赞 回复 分享
发布于 07-16 16:12 贵州
点赞 回复 分享
发布于 07-15 20:36 贵州
兄弟,约二面了吗
点赞 回复 分享
发布于 07-15 14:14 山东
点赞 回复 分享
发布于 07-14 18:07 上海

相关推荐

码农索隆:你告诉他,你看他也一般
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

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