- 博客(462)
- 资源 (1)
- 收藏
- 关注
原创 “三次握手,四次挥手”这么讲,保证你忘不了
面试高频考点,“三次握手,四次挥手”讲解,不仅有精美的图解,还有生动形象的例子,保证看了之后你就忘不了。
2021-05-24 01:44:55 8994 64
原创 高并发,我把握不住啊!
超长文警告!建议收藏!本文从零开始,介绍高并发是什么,详解高并发指标。从淘宝的架构演进来看一个高并发架构的产生。根据一个典型的高并发架构,从顶层到最底层,一步步揭秘高并发系统的架构实现。
2021-05-11 22:49:00 6888 11
原创 如何准备技术面试?
大家好,我是老三,好久没更新了,翻出之前的一篇旧稿,是一篇总纲性质的文章——如何准备一场技术面试。这篇文章原本的开头是写给金三银四的,转眼就“金九银十”了,每一年都是最差的一年,又是未来最好的一年,不知道大家今年的面试情况如何,希望这篇文章能对大家有所帮助。
2024-09-14 20:11:38 3159
原创 如何阅读?从阅读中学阅读—《海绵阅读法》
重点醒目,聚焦新知和最有启发的内容提炼底层框架,对书籍有系统性把握具备好用的索引系统,便于查找内容保留阅读过程中的思考和感受,帮助回顾固化读书收获,让阅读输出更顺畅简单说,好的读书笔记,不止停留于对书籍内容的整理,同样也要输出自己的理解,和自己的感受紧密联系,不仅和书有关,也和自己有关。
2024-06-15 00:08:15 1468
原创 PlantUML画时序图,真香!
PlantUML是一个多功能组件,可快速、直接地创建图表。用户可以使用简单直观的语言起草各种图表。PlantUML是一个开源工具,它允许我们用简单的文本描述来创建UML图,包括序列图、用例图、类图、对象图、活动图、组件图、部署图、状态图,以及我们今天要讲的时序图。除了UML图之外,PlantUML 还支持一系列其他图表,例如JSON数据、YAML数据、EBNF图表、架构图等等。
2024-05-17 08:30:24 1140
原创 读《被讨厌的勇气》
大家好,我是老三,最近读了《被讨厌的勇气:“自我启发之父”阿德勒的哲学课》,读书笔记整理如下。这是一本阿德勒心理学的入门科普,先来了解一下阿德勒其人,阿德勒曾是大名鼎鼎的弗洛伊德的门徒,也是第一个出走“弗门”的弟子。他出生在一个富裕的家庭,但是童年并不幸福,自幼多病,4岁才学会走路,长的又矮又丑,5岁差点因为肺炎去世,成年后身高也没超过160厘米,并且还有一个各方面都很优秀的哥哥比对。他和弗洛伊德的决裂,在于他的个性心理学和弗洛伊德的理论有很多尖锐的冲突:弗洛伊德重视过去的影响,阿德勒看重未来;
2024-04-15 05:33:49 1428
原创 2024Q1,盘点我看过的54本书!
说真的,我也没想到Q1,我竟然会看这么多书,单单这篇总结盘点,就投入了超过十个小时。当然看书多不代表什么,重点是看的书对我自己有没有带来什么触动,带来什么影响。我是一个不太聪明,甚至有点鲁钝的人,身边很多人能做到举一反三,而我,常常只能做到举三反一,那怎么办呢?我只能多看、多想、多做,也与大家共勉!
2024-04-07 13:00:00 1834
原创 非暴力沟通!
非暴力沟通(Nonviolent Communication,简称NVC)是由美国心理学家马歇尔·卢森堡(Marshall B. Rosenberg)博士创立的一套沟通方式。非暴力沟通认为,每个人的行为都是想要满足自己的某些需求,而这些需求是普遍的,和文化背景无关。在非暴力沟通里,我们要做的理解并关注这些需求,这样才能够促进更真诚和有效的沟通。首先,是要沟通,这个世界没有读心术,我们要对自己的感受负责,也要挖掘别人的感受,而这个途径就是沟通,只有打开的天窗,才能照进“亮话”。其次,是非暴力。
2024-02-26 13:07:57 1175
原创 年后面试,最好不要有这几种心态
大家好,我是老三,大家新年好,我在朋友圈看到有朋友已经在大张旗鼓地“内卷”,为年后的面试做准备。成功的面试常常是源于实力+运气,失败的面试可能会有各种各样的原因,知识点的盲区、和面试官不对眼、经验不匹配……很多东西我们是没法控制的,只能尽量做好自己能做的——八股更熟一点、算法多刷一刷,硬技能相关的暂且不多聊,我们今天聊一聊,心态相关的,哪些心态,是求职面试中最好不要有的。
2024-02-15 08:37:45 1056
原创 刷了四百道算法题,我在项目里用过哪几道呢?
大家好,我是老三,今天和大家聊一个话题:项目中用到的力扣算法。不知道从什么时候起,算法已经成为了互联网面试的标配,在十年前,哪怕如日中天的百度,面试也最多考个冒泡排序。后来,互联网越来越热,涌进来的人越来越多,整个行业越来越内卷的,算法也慢慢成了大小互联网公司面试的标配,力扣现在已经超过3000题了,那么这些题目有多少进入了面试的考察呢?
2024-01-08 13:02:53 1277
原创 再见2023,你好2024!
大家好,我是老三,本来今天晚上打算出去转一转,陆家嘴打车实在太艰难了,一公里多的路,司机走了四十分钟,还没到,再加上身体不适,咳嗽地比较厉害,所以还是宅在酒店里,左右无事,写篇文章聊聊2023,畅想2024。
2024-01-01 19:52:44 1592
原创 四战美团,终拿Offer!
大家好,我是老三,2023年是个不平凡的一年,三年疫情结束,经济形势下行,对于我个人而言,也发生了一些变动——我跳槽了。面试的艰难,和我想象中的如出一辙,美团,历经四战,才拿到Offer。
2023-12-27 10:14:56 1593
原创 编码相关的软技能,我看了这些书
大家好,我是老三,作为一个开发工程师,写代码是我们安身立命的根本,但是代码相关,代码之外,一些软技能也很重要,写代码很多时候决定能不能干活,软技能决定能不能干好活。老三的编码还算凑合,软技能比较一般,最近也看了一些书,给大家分享一下,顺便水一期文章(主要目的)。
2023-12-03 11:27:37 409
原创 听我的,日志还是得好好打!
日志,维基百科中对其的定义是一个或多个由服务器自动创建和维护的日志文件,其中包含其所执行活动的列表。作为开发,我们都熟悉日志的重要性,良好的日志,能帮助我们快速定位到错误发生的详情和原因,并快速解决问题。摘要日志是一种标准化的日志文件,主要用于监控系统配置和进行离线日志分析。调用时间:记录了日志产生的具体时间。日志链路 id:包括traceId和rpcId,用于追踪请求的完整路径。线程名:记录了产生日志的线程名称。接口名:记录了被调用的接口名称。方法名:记录了被调用的方法名称。
2023-11-14 13:42:20 442
原创 接口请求重试的8种写法,你用哪种?
如果说我们不想在项目里额外地引入一些重试的框架,自己定义一个重试工具类也是可以的,这是我在某个第三方提供的client-sdk里发现的一套重试工具类,比较轻量级,给大家分享一下。首先,定义一个实现了Callback抽象类的具体回调类,实现其中的方法来执行需要重试的逻辑。回调类的方法返回一个对象,表示重试的结果。然后,定义一个类,用于封装重试的结果。类包含一个isRetry属性表示是否需要进行重试,以及一个obj属性表示重试的结果对象。// 构造方法和getter方法省略最后,定义一个。
2023-11-01 08:14:00 598
原创 面渣逆袭:微服务三十三问,两万字图文详解,速收藏
微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可维护。在微服务的架构演进中,一般可能会存在这样的演进方向:单体式–>服务化–>微服务。单体服务(Monolithic Service)是一种传统的软件架构方式,将整个应用程序作为一个单一的、紧耦合的单元进行开发和部署。
2023-09-15 09:49:35 999
原创 海外有哪些流行的支付方式?
我们先来看下两个主流电商产品的美国站的支付方式:在国内,想必大家都习惯了支付宝和微信支付二分天下,这两种支付方式基本上覆盖了90%的支付需求,但是在海外,支付方式就要丰富很多了。编号支付类型支付产品1信用卡/借记卡2电子钱包E-Wallet3网银转账/银行转账4预付卡5现金/到付/线下付款现金、货到付款、POS机支付6数字货币/加密货币7运营商计费话费支付、手机账单支付8直接代付代扣自动扣款、直接存款。
2023-09-02 16:48:09 2699
原创 Aviator这么丝滑,怎么实现的呢?
这篇文章,我们跟着一个简单的Aviator脚本的例子,一步步深入挖掘了一下Aviator的实现原理。一:编译:经历词法分析、表达式解析、字节码生成,最终产出可以执行的Java字节码二:执行:执行相对简单一些,就是调用生成的字节码的过程。当然,这篇文章只是梳理了大体的脉络,对于很多细节都没有深入地去探究,只是做到了观其大略。我觉得对于一个开源项目,真正说地上熟悉原理的话,就得看能不能给开源项目提交PR。
2023-08-10 22:44:52 1578 1
原创 这款轻量级规则引擎,真香!
是一门高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言。它起源于2010年,作者对当时已有的一些产品不是很满意,所以自己撸了一个,它是Groovy的一个定制化的子集。相比较一些传统的规则引擎,比如DroolsJessJRules,它更加轻量级,而且性能更好,同时能力开放,扩展很方便。它支持数字、字符串、正则表达式、布尔值等基本类型,并且可以使用所有 Java 运算符进行运算。还有一个内置的东西叫做bigint和decimal,可以处理超大整数和高精度运算。
2023-08-01 15:11:42 616
原创 假如互联网人都很懂冒犯
看(抄)不到的我只能自己想,想破头也写不不来像样的段子,这个系列就不了了之,今天又偶尔来了灵感,写下一篇,也顺带缅怀一下光哥带来的快乐。Leader:“好了,我们这次顺便来对齐一下双月OKR,你们OKR都写的太保守了,一看就是能完成的,往大里吹啊。我:“没啥,你吹牛皮像狼,催进度像狗,做需求像羊,就这需求文档,还没擦屁股纸字多,没啥好对的。前端:“没啥好聊的,后端大哥看着写吧,反正你们那破接口,套的比裹脚布还厚,没事还老出BUG。看到一段代码,我皱起了眉头,同事写的,我顺手写下了这样一段注释:。
2023-07-24 11:19:54 232
原创 四种常见分布式限流算法实现!
在这篇文章里,我们对四并发处理采用了分布式锁,高并发情况下,对性能有一定损耗,逻辑最好还是直接采用Lua脚本实现,来提高性能可以提供更加优雅的调用方式,比如利用aop实现注解式调用,代码设计也可以更加优雅,继承体系可以完善一下没有实现限流的拒绝策略,比如抛异常、缓存、丢进MQ打散……限流是一种方法,最终的目的还是尽可能保证系统平稳如果后面有机会,希望可以继续完善这个简单的Demo,达到工程级的应用。Guava RateLimiter ,基于令牌桶算法限流,当然是单机的;
2023-07-11 09:34:38 1343
原创 面对AI,要(能)当“杜兰特”吗?
大家好,我是老三,先说一下这篇文章没什么干货,就是一篇随笔。今天闲来无事,在掘金上刷到一篇文章:GPT-4都来了,我们还需要刷算法题和背八股文吗?:https://juejin.cn/post/7211120847787098171,文章还行,但是亮点出现在了评论区!在一个技术社区的评论区,看到了杜小帅,足球迷无处不在,篮球迷也不差啊。
2023-06-25 10:23:52 265
原创 盘点五种最常用加密算法!
用户的密码不能明文存储,要存储加密后的密文用户的银行卡号、身份证号之类的敏感数据,需要加密传输还有一些重要接口,比如支付,客户端要对请求生成一个签名,服务端要对签名进行验证……那么上面提到的这些能力,我们都可以利用哪些加密算法来实现呢?咱们接着往下看。这一期就给大家简单盘点了一下最常用的5种加密算法。其实,论到加密解密算法的应用,有一个东西,可以说是应用到了极致,它是什么呢?——HTTPS客户端发起HTTPS请求:用户使用浏览器输入网址访问HTTPS站点,准备发起HTTPS请求。
2023-06-15 12:06:57 1429
原创 玩转Netty,从“Hello World”开始
Netty官方是这么定义Netty的:Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty是一个开源的、单线程模型的 Java 网络编程框架。Netty基于 NIO ,被广泛应用于各种网络应用程序开发。Netty支持多种协议,包括但不限于 HTTP、WebSocket、TCP、UDP 和 SSL/TLS 协议等。Netty 是非阻塞的,事件驱动的框架。Netty具有高性能、可扩展和易于使用的优点。
2023-05-19 11:42:37 695
原创 Java 3种IO模型,一次搞懂
大家好,我是老三,上一节我们讨论了,接下来,我们从Java语言层面,来看看对IO的实现。在Java中,一共有三种IO模型,分别是阻塞IO(BIO)非阻塞IO(NIO)和异步IO(AIO)。
2023-05-11 09:00:01 1680
原创 一顿饭的事儿,搞懂了Linux5种IO模型
大家好,我是老三,人生有三大难题,事业、爱情,和——这顿吃什么!人在家中躺,肚子饿得响,又到了不得不吃的时候,这顿饭该怎么吃?吃什么呢?阻塞IO非阻塞IO多路复用IO信号驱动式IO和异步IO,我发现这五种IO模型,其实能和吃饭这件事关联起来。
2023-05-09 08:29:42 823 1
原创 Python快速入门,看这一篇就够了
Python是一门解释性编程语言,既年长又年轻的语言,它诞生于1989年,近些年,人工智能的复兴,给它注入了新的活力。“Python”的中文翻译“蟒蛇”,因为Python之父Guido van Rossum,就是这位头发浓密的大叔,喜欢蟒蛇。Python的主流版本又分为2.X和3.X,2.X已经停止维护,目前Python已经发布到了3.11.2版本。
2023-04-29 11:43:21 579
原创 关于ChatGPT的一些随笔
completions接口:https://platform.openai.com/docs/api-reference/completions/create这个接口是openai核心接口,输入里有个参数prompt,可以简单理解为问,响应里有个参数completion,可以简单理解为答。
2023-04-06 10:11:33 8802 1
原创 面渣逆袭:分布式十二问,万字图文详解
分布式事务是相对本地事务而言的,对于本地事务,利用数据库本身的事务机制,就可以保证事务的ACID特性。而在分布式环境下,会涉及到多个数据库。分布式事务其实就是将对同一库事务的概念扩大到了对多个库的事务。目的是为了保证分布式系统中的数据一致性。需要记录事务在任何节点所做的所有动作;事务进行的所有操作要么全部提交,要么全部回滚。什么是幂等性?同一个接口,多次发出同一个请求,请求的结果是一致的。简单说,就是多次调用如一次。什么是幂等性问题?用户在填写某些form表单。
2023-02-22 19:15:56 2156
原创 MySQL数据同步ES的4种方法,你能想到几种?
大家好,我是老三,这期给大家分享一个电商中常见的场景——MySQL数据同步Elasticsearch。大家应该都在各种电商网站检索过商品,那么检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢?
2023-01-14 10:12:50 2876 8
原创 团队的技术专家回老家了,留下的技术设计模板贼好用
转眼间,团队的技术专家B哥,已经离职一年了,我还时不时会想起他,因为他留下的j技术设计模版,我觉得真的很好用,基本上涵盖了设计需要考虑的方方面面。
2023-01-05 09:08:38 704 1
原创 SpringBoot项目实现发布订阅模式,真的很简单
}} }} }PlaceOrderEvent:继承ApplicationEvent,并重写构造函数。ApplicationEvent是Spring提供的所有应用程序事件扩展类。} }PlaceOrderEventMessage:事件消息,定义了事件的消息体。/*** 订单号/*** 订单状态/*** 下单用户ID//…… }异步执行也非常简单,使用Spring的异步注解@Async就可以了。} }
2022-11-19 14:57:21 1171 1
原创 韩国程序员面试考什么?
大家可以理解为韩国的微信就行了,怎么说呢,有点离谱,他们的支付每天大概九点多到十点多要停服维护,你能想象微信支付每天有一个小时不可用吗?这个仓库,让我来评价评价,好,但不是特别好,为什么呢?和国内的相比,这个仓库还是单薄了一些——当然也可能是韩国的IT环境没那么卷,这些就够用了。大家好,我是老三,在G站闲逛的时候,从每日热门上,看到一个韩国的技术面试项目,感觉有点好奇,忍不住点进去看看。也有同事对接过Kakao的登录,很简单的一个Oauth2,预估两三天搞定,结果也是各种状况,搞了差不多两周。
2022-11-06 09:32:26 2105
原创 初探支付对账
有个男人叫小帅,娶了个老婆,叫小美,早上,小美给小帅二十块钱买早餐,小帅买了包子、油条、豆浆回来,并说钱已经花完了,小美不信,拉着小帅到了早餐铺,拉着老板的账单对了一下,发现还剩两块钱……用户在电商平台下单,支付支付服务向外部支付渠道发起支付请求支付渠道扣减用户余额,或者请求银行扣款完成支付后,支付服务同步支付状态,电商平台开始履约(发货)到这就完了吗?还没有,支付渠道还要做清结算,把交易的余额结算到商户账户。
2022-11-01 13:38:40 1529
原创 CRUD有啥用?关注需求收益,聊聊电商的数据体系
电商平台,主线业务的指标,差不多就是这些了,其实还有很多其它维度的指标,比如商品、物流、营销、风控、会员、满意度等等,以后有机会再讨论吧。数据很重要,但不能迷信数据,比如海外的一些电商平台,数据很好看,市场占有率很高,但是用过之后,真心觉得不好用。这里就小声比比一下,做跨境电商的产品和运营,你们能不能不要盯着竞品抄?做的都不怎么样,去抄淘宝、京东啊!我的读者应该基本都是开发,为什么我还会写这一篇数据的文章呢?...
2022-08-16 13:47:17 1898 3
design-pattern-java.pdf
2020-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人