自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

周沐子

混迹互联网多年,把自己从小白晋升高级技术管理者的技术和经验分享给大家,助力职场人成为优秀的技术领导者

  • 博客(39)
  • 收藏
  • 关注

原创 信不信,90%程序猿都不会正确使用分布式锁

大家好,我是 沐子。分布式锁的话题,很多文章已经写烂了,我为什么还要写这篇文章呢?因为我发现网上 90% 的文章,并没有把这个问题真正讲清楚。导致很多读者看了很多文章,依旧云里雾里。例如下面这些问题,你能清晰地回答上来吗?数据库通过乐观锁怎么实现分布式锁?基于 Redis 如何实现一个分布式锁?Redis 如何避免死锁?Redis 如何合理的设置超时时间?Zookeeper如何规避羊群效应?三种分布式锁的优缺点分别是什么?这篇文章,我就来把这些问题彻底讲清楚。读完这篇文章,你不仅可以彻

2021-11-03 11:34:36 6547 2

原创 发现上班有个奇特现象:你能在一个公司工作12年以上,无论你多忠诚,多卖力,一旦公司赚的少了,那你就成了“眼中钉,肉中刺”

公司只喜欢有价值的员工对他忠诚,当你的价值不足的时候,你对公司来说自然是可有可无。今日有媒体就报道,某电商平台,单方面辞退了职级p7 的员工,最主要是,这个员工不服气,就申请了仲裁,然后被判员工胜诉,员工可以回到自己的岗位上工作,然而三天后,再一次受到解除劳动合同书,可以说明的是,这个单位是铁了心的要辞退这个员工了。你很忠诚,能在一个公司工作12年以上,无论你态度多好,也无论你多卖力,就算你比任何人都有正义感,为了公司利益,一旦公司盈利不如预期,或者赚的少一点,那么你就是眼中钉,肉中刺。

2024-04-10 09:24:41 110

原创 XSS攻击原理及危害,说的太详细了!(值得收藏)

防范存储型和反射型 XSS 是后端的责任DOM 型 XSS 攻击不发生在后端,是前端的责任。不同的上下文,调用不同的转义规则如 HTML 属性、HTML 文字内容、HTML 注释、跳转链接、内联 JavaScript 字符串、内联 CSS 样式表等,所需要的转义规则不一致。业务 需要选取合适的转义库,并针对不同的上下文调用不同的转义规则。

2024-04-08 10:57:05 2244

原创 文件上传漏洞是什么?这么通俗易懂的讲解真的很难得!

1、什么是文件上传(1)定义文件上传漏洞是指用户上传了一个可以执行的脚本文件,并且可以通过该文件获得服务器的权限的一种漏洞。(2)原理网站Wb应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。

2024-04-02 09:58:16 1222

原创 真没想到,SQL注入漏洞的这么大,竟然导致1400万名俄罗斯大学毕业生信息泄露

SQL注入(SQL Injection)是一种常见的Web安全漏洞,形成的主要原因是web应用程序在接收相关数据参数时未做好过滤,将其直接带入到数据库中查询,导致攻击者可以拼接执行构造的SQL语句。即:注入产生的原因是后台服务器在接收相关参数时未做好过滤直接带入到数据库中查询,导致可以拼接执行构造的SQL语句。SQL注入的攻击流程1、判断注入类型(数字型or字符型)2、猜解SQL查询语句中的字段数:1’ or 1=1 order by 10。

2024-03-28 09:35:53 821

原创 被领导怼了,CSRF的危害及防御都不知道,你还做啥设计?

CSRF跨站请求伪造,全称Cross-site request forgery,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF是Web安全中最容易被忽略的一种攻击方式,但某些时候却能产生强大的破坏性。

2024-03-27 09:12:51 625

原创 Redis和MySQL如何保持数据一致性?

3、读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。3、其实这种机制,很类似MySQL的主从备份机制,因为MySQL的主备也是通过binlog来实现的数据一致性。在高并发应用场景下,如果是对数据一致性要求高的情况下,要定位好导致数据和缓存不一致的原因。3、因为写和读是并发的,没法保证顺序,就会出现缓存和数据库的数据不一致的问题。1、如果先写了库,然后再删除缓存,不幸的写库的线程挂了,导致了缓存没有删除。

2024-03-26 09:56:43 795

原创 36岁大龄程序员被裁,找了2个月工作,年包从100万降到50万,要不要接?

工资并不能代表综合能力的高低,往往是供需关系所决定罢了,人生有无限的可能,别给自己设限,多学习,多成长,提升视野,相信会有改变的。最后,如果我的文章对你有所帮助或者有所启发,欢迎关注公众号(微信搜索公众号:首席架构师专栏),里面有许多技术干货,也有我对技术的思考和感悟,还有作为架构师的验验分享;如果存款还够支撑一段时间,生活压力不大,又不愿意自降身价,担心影响未来的职业生涯,可以多花点时间充电,之后再找找看,也许能找到更理想的工作。“很火的哈利在短跑”的网友说,不接,再等,降到70w可以,除非方向很喜欢。

2023-07-05 11:17:06 120

原创 优雅的接口防刷处理方案,值得收藏!!!

这防刷处理方案写的太好了,值得收藏

2023-05-16 11:19:26 147

原创 Spring Boot 分片上传、断点续传、大文件上传、秒传,建议收藏!

不会做大文件上传或者文件上传比较久的问题,该篇文章解决你的问题

2023-05-05 10:50:03 431 1

原创 面试官,不要再问我三次握手和四次挥手

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。

2023-04-18 14:52:10 86

原创 支付宝二面:使用 try-catch 捕获异常会影响性能吗?90%都会答错

不知道从何时起,传出了这么一句话:Java中使用try catch 会严重影响性能。然而,事实真的如此么?我们对try catch 应该畏之如猛虎么?看完本篇文章后,让人彻底明白原理

2023-03-16 15:02:55 135

原创 MySQL允许字段为null会导致5个问题,个个致命!

很多小知识点,我以为自己懂了,实际没搞透。数据库字段允许空值(null)的问题,你遇到过吗?如果不注意这些缺点,可能会引起严重的问题

2023-03-07 11:08:01 1121

原创 架构师告诉你22条API设计的最佳实践

曾经因为一个糟糕的API而感到沮丧吗?在这个微服务的世界里,后端API的一致性设计是必不可少的。本章告诉你22条API设计的最佳实践。

2022-09-28 20:23:13 109

原创 使用uuid做MySQL主键,被领导爆怼一顿

在MySQL中设计表的时候,MySQL官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇我们就来分析这个问题,探讨一下内部的原因。...

2022-08-29 10:32:15 390

原创 如何给老婆解释什么是微服务

本文用通俗易懂的语言解释什么是微服务

2022-08-01 20:09:32 86

原创 SpringCloud 优雅下线+灰度发布

本文通过介绍springcloud的优雅下线+灰度发布的方法,相信对工作中起到一定的价值。

2022-06-29 20:17:44 824

原创 面试官问:MySQL的自增 ID 用完了,怎么办?

如果你用过或了解过MySQL,那你一定知道自增主键了。每个自增id都是定义了初始值,然后按照指定步长增长(默认步长是1)。虽然,自然数是没有上限的,但是我们在设计表结构的时候,通常都会指定字段长度,那么,这时候id就有上限了。既然有上限,就总有被用完的时候,如果id用完了,怎么办呢?...

2022-06-12 21:39:47 347

原创 如果让你做技术负责人,你会如何从0搭建公司后端技术栈

如何您是一名创业公司的负责人,如何从0搭建公司的后端技术栈。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操作系统等等。

2022-05-19 21:44:55 255

原创 Redis 16 大应用场景

使用场景在程序猿眼里可能就觉得redis主要作为缓存使用,对redis的其它功能知之甚少,为了让大家更多的了解redis,沐子总结了它的16大应用场景:缓存、2. 数据共享分布式、3. 分布式锁、4. 全局ID、5. 计数器、6. 限流、7. 位统计、8. 购物车、9. 用户消息时间线timeline、10. 消息队列、11. 抽奖、12. 点赞、签到、打卡、13. 商品标签、14. 商品筛选、15. 用户关注、推荐模型、16. 排行榜1、缓存String类型例如:热点数据缓存(例如报表、明星

2022-03-20 21:36:03 2098

原创 参考后端API接口设计

在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,更需要设计更规范、更便捷的后端API,本文主要介绍怎么设计优雅的API。

2022-03-06 20:36:35 1159

原创 2022年Java高级架构师面试技术标准手册(对标阿里P7架构师)

一份2022年阿里巴巴Java高级架构师面试标准手册(对标P7+)的面试参考指南,如果有的小伙伴想在今年进行尝试跳槽,可以刷刷!

2022-02-22 20:57:05 587

原创 程序员只能吃青春饭?看看阿里资深架构师是怎么说的

网络上一直流传这么一个段子:码农:25岁软件工程师->28岁高级软件工程师->32岁架构师->35岁外卖骑手产品:25岁产品经理->28岁高级产品经理->32岁产品总监->35岁滴滴专车运维:25岁运维工程师->28岁高级运维工程师->32岁运维总监->35岁淘宝店主市场:25岁市场专员->28岁市场经理->32岁市场总监->35岁保险销售运营:25岁运营专员->28岁运营经理->32岁运营总监->35岁微商

2022-01-13 15:35:58 300

原创 关于秒杀系统中订单库存扣减的实践

如何在高并发下高效的处理库存数据, 要保证高性能和高可用,大部分方案并不满足,今天就来聊聊高并发下库存加减那些事儿。

2021-12-31 20:55:02 3368

原创 脑裂问题(面试必备),值得收藏

转眼间再过一个月就到2022年了,临近年底有不少小伙伴问沐子,自己想要换工作,但是不知道是年前换好,还是年后换比较好呢?沐子一直的观点都是,换工作的时候只要你想清楚了,在现在的公司已经无法成长或者看不到希望时,到了非换不可的地步,那么只要有合适的下家的前提下,随时都可以换。从沐子多年的工作经验,以及跟身边一些资深HR沟通后,总结出来一些经验,那就是年前和年后都各有一个找工作的好时机,主要看求职者自身为换工作准备得是否充分。我们在工作中可能很少碰到脑裂问题,但是面试官想要了解面试者的经历和解决复杂问题的能

2021-12-16 17:48:25 3516

原创 面试官杠上消息队列?别慌,现在就来找找重复消费、消息堆积、消息丢失、顺序消息的解决方案

面试官杠上消息队列?重复消费、消息堆积、消息丢失、顺序消息…什么,这么多问题啊!别慌,现在就来找找解决方案。

2021-12-09 15:05:31 2369 2

原创 缓存穿透、缓存击穿、缓存雪崩问题的常见解决方案

以前我一个QPS不到100的项目,天天问我缓存穿透、缓存击穿、缓存雪崩,我是真滴难。这种感受,但是只要是面试要问的题目,就算用不上,我们也要去学习和了解,谁叫我们穷了。最近在互联网公司工作的这几年中,由于公司经常搞一些活动,在活动期发现会有大量请求直接落到数据库,导致数据库资源占满,偶尔引起数据库故障。经过线上故障的事情后,我们通过分析日志发现,大量的请求从Redis中查询不到数据,转而把请求落到数据库中,主要是缓存失效引起的问题。为了后续大家能够迅速解决这类问题,或者在面试中能够从容面对缓存失效的问题,

2021-11-30 14:24:58 107

原创 理解这篇分布式事务文章,可以做到吊打面试官

大家好,我是沐子。不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的,这说明了事务在生活中的一些重要性。我们无论在工作或者在面试中,都会碰到分布式事务相关问题。近几年我在面试开发工程师们,都发现大都存在一个共同的问题,对分布式事务一知半解,且也仅仅停留在初级的使用层面,基于上述情况,小篇给你彻底讲清楚分布式事务,在面试时争取可以吊打面试官。![在这里

2021-11-18 15:08:04 473

原创 沐子带你深入理解一致性Hash算法

近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多技术的支持。例如系统访问层的负载均衡,缓存层的多实例主从复制备份,数据层的分库分表等。我们以负载均衡为例,常见的负载均衡方法有很多,但是它们的优缺点也都很明显:随机访问策略。系统随机访问,缺点:可能造成服务器负载压力不均衡,俗话讲就是撑的撑死,饿的饿死。轮询策略。请求均匀分配,如果服务器有性能差异,则无法实现性能好的服务器能够多承担

2021-11-12 10:23:20 587

原创 聊聊Spring事务失效的10种场景,太坑人了

前言最近在看spring事务源码,时不时回想起前几年面试YY的场景,面试官拿出下面的一道面试题问我,updateStatus方法会不会生成事务。我心想,这么简单的问题还要问我,这是瞧不起我的水平吗?但是我仔细看了看,想了想,这道题还真不容易回答,如果以前没有特别注意或者研究过,很容易掉坑里。还好我当时认真想了想,回答了不会生成事务,但后面面试官继续追问为什么不产生事务,我就把具体的原因说明了一下,事后回到家我再想了想这个问题,发现我回答的并不是很好。@Service public class User

2021-10-26 15:01:30 472

原创 工作三年,百度面经分享,已拿Offer

计科大三学生,无实习无项目经历成绩普通一面3.9:40minHashMap和ConcurrentHashMap的区别vector,listC++多态,虚函数机制进程通信进程线程差异TCP三次握手四次挥手细节算法题:最长不重复字串(HashTable,O(N))面试官人非常好,有一些遗漏的知识点会给你指出来并且讲解,也很耐心。二面3.15:1hJava多态(看程序说结果,比较复杂,还考察了override和overwrite)二叉搜索树B树b+树红黑树删除算法用互斥锁实现读写锁,

2021-10-21 18:46:20 363

原创 深入解析JVM之虚拟机栈(面试必备)

一.虚拟机栈概念1.概念Java虚拟机栈是什么?每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(stack Frame) ,对应着一次次的Java方法调用。其中栈的特点如下:栈是一种快速有效的分配存储方式,访问速度仪次于程序计数器JVM直接对Java栈的操作只有两个:每个方法执行伴随着进栈(入栈、压栈) 和 执行结束后的出栈工作3)对于栈来说不存在垃圾回收问题GC,但存在内存溢出问题OOM(程序猿易搞错)2.栈的存储结构和运行原理1) 栈中存储什么每个线程都有自己的

2021-10-19 22:51:12 234

原创 腾讯三面:哨兵挂了,Redis还能正常工作吗?

上次跟学弟学妹们聊完了mysql相关的一些知识点,学弟学妹们还是挺开心的,但是上次有学弟在跟我留言,在腾讯三面的时候被面试官问了个一脸蒙逼急的问题:哨兵挂了,Redis还能正常工作吗?为了对的起学弟学妹们的信赖这次跟大家具体聊聊Redis的哨兵模式。redis哨兵都干了什么redis哨兵是一个运行的特殊的redis进程,他主要有三个使命:监控选主通知监控的是什么哨兵主要是监听主库和从库是否存活,怎么进行监控?哨兵会定期的给从库发送PING命令,如果从库没有在设定的时间内回复哨兵,那么就会

2021-10-14 16:21:04 139

原创 架构师大型项目实战视频和面试题

大家好,我是小编沐子。沐子,我连日加班好多天,终于整理好了《面试题、架构视频和技术资料》。1. 整理的面试题69份,内容列表2. 整理的架构视频20份,内容列表由于视频资料太多,其中截取部分视频的详情图如下所示:3. 整理的技术资料82份,内容列表包括Dubbo,SpringCloud, Mybatis, Redis, Solr, Nginx, SSM,ActiveMQ, Kafka, netty, Memcached, Lvs, Zookeeper, Mycat, Storm等技术栈!也

2021-10-13 17:57:52 989 2

原创 mysql锁(面试必备),值得收藏!

因为现在还处在疫情期间,找工作也不是那么容易, 最近有粉丝和我聊到他找工作面试时被问到Mysql的锁机制就比较懵了,因为平时没有关注Mysql的锁机制,当被问到高并发场景下锁机制是怎么保证数据的一致性的和事务隔离性时,他一脸茫然。的确Mysql的锁机制确实非常重要且相对有些难理解,所以在这里做一个全面的总结整理,便于以后的查阅,也分享给各位读者大大们。Mysql中锁的分类按照不同类型的划分可以分成不同的锁,按照「锁的粒度」划分可以分成:表锁、页锁、行锁;按照思想的划分:「乐观锁」和「悲观锁」。下面我们对

2021-10-12 22:25:59 239

原创 80后的我们怎么了?

大家好,我是沐子,一名普普通通的80后,经过30多年的岁月,我感觉国家一直在跟我们这一辈开玩笑。我想说:“祖国啊,咱能换一代人坑不,不能只盯着我们80后啊!”上小学时候父母告诉我:乖孩子,你好好上学,等你上大学了就不用交学费了。上高中的时候发现:九年义务教育不收学费了!我还没工作的时候,长辈也一直教导我们好好读书,以后国家包分工作,就会出人头地,一辈子就不用愁了!于是乎我听取长辈们的忠告,努力读书,考上大学,读本科,读研究生。曾经是父母的天之骄子,曾经带着美好的憧憬走进大学的课堂,但等我快毕业找工作的

2021-10-12 18:39:12 88

原创 数据库高可用架构设计,看这篇就够了!

你好,我是沐子。又赶上一年一度的金九银十的日子,这段期间的招聘岗位相对前几个月会多些,如果在目前公司没有进步、没有前途时,这段时间可以准备一下,去外面看看机会。不过在外面找工作时,可以提前在网上看看招聘信息,看看自己是否达到公司要求。如果多看下高薪资的技术人员招聘要求时,就会发现对三高都有一定的要求,比如下面一家公司的要求就对高并发、高负载和高可用性系统设计要有开发经验。现实是我们大部分的公司都很少会遇到三高的场景,即很少有这方面的设计开发经验,不过我们可以提前学习三高的方案,尽量把这些方案用在工作上

2021-10-12 14:55:45 721 1

原创 架构师大型项目实战视频

大家好,我是沐子。最近又赶上跳槽的高峰期,好多粉丝,都问我有没有大型项目视频,我连日加班好多天,终于收集好了架构师大型项目实战视频,总共收集了14套视频,项目简介如下!架构师大型项目实战视频涉及到的技术点非常全面包括Dubbo,Mybatis, Redis, Solr, Nginx, SSM,ActiveMQ, Kafka, netty, Memcached, Lvs, Zookeeper, Mycat, Storm等技术栈!也涉及到高并发、高可用、高安全性等架构实战,相信对大家会有一定的帮助作用。

2021-09-27 21:52:34 926 1

原创 想拿高薪的看过来

不知道从什么时候起,35 岁变成了一个很“残酷”的年龄,35 岁的中浪,稍不留神,就可能被前浪和后浪拍打在沙滩上,连浪花都不剩。中年危机已是一个普遍的社会问题,但对程序员这个群体来说,35 岁的危机感似乎格外重一些。“因为程序员的工资普遍高于其他行业,一旦这个行业不要你了,(薪资)可能会面临断崖式下跌,所以才会有危机”。随着年龄的逐渐增大,沐子曾几何时也开始出现了焦虑,不仅要考虑面临失业和淘汰的风险,又要承担家庭的重任,种种压力让我感觉人生的价值何在。但生活在这个世界上,我也别无选择,只能迎难而上,这段期间

2021-09-25 20:55:30 180 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除