从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 Linus 大神。
出来混总是要还的,前些天就遇到了 Git 里一种十分糟心的场景,并为之前没有深入理解 Git 命令付出了一下午时间的代价。
先介绍一下这种场景,我们一个项目从 N 版本升到 A 版本时引入了另一项目的 jar 包,又陆续发布了 B、C 版本,但在 C 版本后忽然发现了 A 版本引入的 jar 包有极大的性能问题,B、C 版本都是基于 A 版本发布的,要修复 jar 包性能问题,等 jar 包再发版还得几天,可此时线上又有紧急的 Bug 要修,于是就陷入了进退两难的境地。
最后决定先将代码回退到 A 版本之前,再基于旧版本修复 Bug,也就开始了五个小时的受苦之路。
最近面试大厂的人,不被问到几个Redis相关的问题,就好像没有参加过面试一样。
我最近在后台也收到了不少相关的提问,干脆整理了一下在面试里常常碰到的Redis问题。
如果你能轻松搞定这些问题,大厂面试不过是小场面!
1.Redis支持的数据类型?
2.什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?
3.Redis 有哪些架构模式?讲讲各自的特点
4.使用过Redis分布式锁么,它是怎么实现的?
5.使用过Redis做异步队列么,你是怎么用的?有什么缺点?
6.什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
7.Redis常用命令
8.为什么Redis 单线程却能支撑高并发?
9.说说Redis的内存淘汰策略
10.Redis的并发竞争问题如何解决?
当然,很多读者也给我留言,说这些问题虽然在网上就可以搜到答案,但是因为平时没有真实的生产环境,面试官问的稍微深入些,自己就踩了很多坑!然后就没有然后了…
毕竟绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,基本是用哪学哪,对 Redis 缺乏了一个整体认知。
那么如何才能正确的掌握Redis呢?
为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题
并发编程面试题汇总
JVM面试题汇总
Netty常被问到的那些面试题汇总
Tomcat面试题整理汇总
Mysql面试题汇总
Spring源码深度解析
Mybatis常见面试题汇总
Nginx那些面试题汇总
Zookeeper面试题汇总
RabbitMQ常见面试题汇总
部分面试题截图:
JVM常频面试:
Mysql面试题汇总(一)
Mysql面试题汇总(二)
Redis常见面试题汇总(300+题)
分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。
需要这份文档的朋友可以点击蓝色传送门即可免费获取!
资料整理不易,点个关注再走吧
[外链图片转存中…(img-4J62JsGb-1619263337342)]
需要这份文档的朋友可以点击蓝色传送门即可免费获取!
资料整理不易,点个关注再走吧