9 xindoo

尚未进行身份认证

微信公众号 xindoo 个人网站 https://zxs.io

等级
TA的排名 3k+

技术团队如何培养新人

文章目录对新人设立明确的阶段性目标提高新人培训的优先级和重视程度完善师徒体系增加理论知识的比重模拟实战经验分享定期培训题外话水一篇我17年写的内容。背景是我当时工作方向上的变化,但一直感觉上手很慢。刚工作时也有这种体会,当时纯觉得自己菜,但后来看了《Site Reliability Engineering》和《The effective engineer》之后发现不完全是自己菜,而是缺少正确的指引,很多东西完全靠自己踩坑才知道了,学习效率很低。这种状态下,除了被别人质疑能力外,还会逐渐产生自我怀疑,导致情

2020-05-18 21:50:50

面试题精选:循环队列

近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充一些java面试相关的题(比较本博主是java出身)。其实在此之前已经写过一些相关的文章了,已经整理到专栏里的,后续会持续更新,希望对大家有所帮助,有兴趣的旁友可以关注下。今天分享的面试题是循环队列,我对这道题记忆深刻,因为我在14年参加来校招面试的时候,二面面试官就问了这道题,当时我没有完全答上来(不过面试官居然给我过了),后来我当面试官的时候也

2020-05-10 17:06:57

从0到1打造正则表达式执行引擎

文章目录前置知识有限状态机状态机下的正则表达式串联匹配并连匹配 (正则表达式中的 **|**)重复匹配(正则表达式中的 **? + ***)重复0-1次 ?重复1次以上重复0次以上匹配指定次数特殊符号(正则表达式中的 **. \d \s……**)子表达式(正则表达式 **()**)练习题代码实现建图匹配下集预告功能完善化DFA引擎正则引擎优化今天是五一假期第一天,这里先给大家拜个晚年,咳咳!!我...

2020-05-01 17:28:42

面试题精选:求根号2简单?高级算法你肯定不会

前两天逛github看到一道很简单的面试题——如何不用库函数快速求出2\sqrt22​的值,精确到小数点后10位! 第一反应这不很简单嘛,大学数据结构课讲二分查找的时候老师还用这个做过示例。但转念一想,能作为大厂的面试题,背后绝对没有那么简单,于是我google了下,结果找到了更巧妙的数学方法,甚至发现了一件奇闻趣事…… 一道简简单单的面试题,不仅能考察到候选人的编程能力,还能间接考察到候选人的数...

2020-04-12 20:30:23

欢迎关注我的微信公众号

公众号注册n年了,但一直都没怎么发过文章,真是五年运营四年敷衍,去年年底在做自我年终总结的时候放下豪言说要开始重新运营公众号了,但一拖就拖到了3月底。这几个月想了好久的公众号定位,大概有些方向了(下文细说),所以决定摒弃我这间歇性踌躇满志持续性萎靡不振的毛病,硬着头皮开更了。自我介绍大家好 我是xindoo,这个id在我上高中的时候就被我创造出来了,也用了好久了,所以基本上你在全球各网站看到名...

2020-03-22 23:51:17

StampedLock源码分析

文章目录前言乐观锁 or 悲观锁源码分析构造函数读锁相关API乐观读锁的实现读锁的获取读锁的释放写锁相关API写锁的获取写锁的释放其他API读锁转写锁写锁转读锁转乐观锁ReadLockView和WriteLockView注意事项参考资料前言之前已经说过了ReentrantLock ReentrantReadWriteLock,可以参考之前的博客。在ReentrantReadWriteLock源...

2020-03-22 16:22:04

技术人必须知道的42个谷歌搜索技巧

前言作为一个技术人,经常会遇到自己不懂或不知道的东西,这个时候就必须使用搜索引擎搜索相关的资料,当然大部分人都逃不过google,google上的内容繁多,如何快速检索和筛选自己想要的信息却成了问题。其实google提供了高级搜索的方式,只是很多人都不太清楚,配合简单的google搜索表达式,可以让你的搜索事半功倍,这里我济源巧合看到国外一篇网站对google搜索命令总结比较完整,整理翻译如下,...

2020-03-15 22:31:11

Antlr实战之JSON解析器slowjson

最近一直在学习编译原理,然后就了解到了antlr4这个强大的工具,antlr的全称是(Another Tool for Language Recognition),是一款很强大的词法和语法分析工具,虽然是用java写成的,但它也能生成c++、go……等语言的代码。它的主要作用就是你可以用巴科斯范式来描述语法规则,然后它帮你生成对应的解析器。大家都知道实践是最好的学习方式,要快速深刻地理解antl...

2020-03-08 20:49:11

刘未鹏:为什么你应该(从现在开始就)写博客

今天转载一篇刘未鹏10多年前的一篇博客《为什么你应该(从现在开始就)写博客》,我觉得总结的非常好,上大学的时候我就看过了,因为这篇博客所以我从13年开始坚持写博客。刘未鹏最近博客也不更了,可能他的博客慢慢就沉下去了,但我觉得他很多优质的内容不能沉,就比如这篇文章,我觉得很适合初入CSDN、刚开始学技术的同学,所以特此转载一次。 原文地址http://mindhacks.cn/2009/02/1...

2020-03-01 18:33:20

Java volatile 关键词

文章目录变量可见性问题Java volatile可见性保证volatile 完全可见性保证指令重排序挑战Java volatile和有序性(Happens-Before)保证volatile还不够什么时候volatile就足够了?volatile的性能考量原文地址Java中的volatile关键词被用来将变量标记为“存储在内存中”。准确地的讲每次volatile变量的读取和写入都是直接操作内存,...

2020-02-23 19:41:58

如何做好一个面试官

找到了我17年写的一篇关于面试官的思考,没有发在csdn上,经过三年的时间,今天看来某些想法不够成熟,所以整理修改后重新发出来。首先声明一点,我没怎么面试过别人,只是参加过几场面试,经历的面试官只有小20个吧,所以根本没有资格去评判某个面试官是不是合格的面试官。但经过我最近的一些经历,以及朋友做面试官的体会,再加上自己对面试的思考,形成了一个自己对面试官好坏评判的标准。其实也算是最自己将来面...

2020-02-20 21:42:56

10行命令60秒快速定位性能瓶颈

文章目录总述1. uptime2. dmesg|tail3. vmstat 1每列的含义4. mpstat -P ALL 15. pidstat 16. iostat -xz 17. free -m8. sar -n DEV 19. sar -n TCP,ETCP 110. top后续分析今天为大家翻译一篇来自Netflix技术博客的Linux Performance Analysis in ...

2020-02-05 14:56:32

ReentrantReadWriteLock源码解析

上回说到ReentrantLock,今天来谈谈读写锁(ReentrantLock)和其具体实现ReentrantReadWriteLock。看这篇文章前,强烈建议你回到先读懂ReentrantLock,因为ReentrantReadWriteLock其实是在ReentrantLock的基础上实现的,可以参考我之前的博客ReentrantLock源码解析既然有了锁,为什么还需要读写锁?我们来想象下...

2020-02-03 20:54:50

我的2019年终总结

时光荏苒,岁月如梭,不知不觉一年又过去了。19年的互联网格外的不景气,到处充斥着暴雷、裁员,然而这些都和我无关,但这些都让深刻认识到了困难时期抱着大厂大腿的好处(还好我18年没跳槽去小厂,哈哈)。 回到年终总结,这已经是我连续第七年写年终总结了(文末可以看到其他年份的),首先我们来回顾下去年立的flag。没错,和大多数人一样,去年的flag都白立了。不过和大多数人不一样的是,我的19年不算是...

2020-01-11 22:02:59

Web服务压测神器wrk

wrk是一款开源的高性能http压测工具(也支持https),非常小巧,可以执行文件只有3M(其中主要是luajit和openssl占用绝大多数空间),别看核心代码3-5年没更新了,但依旧非常好用。虽然很早之前我就知道有这么个工具了,当时学习这个工具的时候我还拿它压测了我们的个人网站xindoo.me,发现mysql性能不行后加了wp-cache,通过cache把我网站的承载能力提升了10多倍。但...

2019-12-29 16:29:04

ReentrantLock源码解析

谈到多线程,就不避开锁(Lock),jdk中已经为我们提供了好几种锁的实现,已经足以满足我们大部分的需求了,今天我们就来看下最常用的ReentrantLock的实现。其实最开始是想写一篇关于StampedLock的源码分析的,但发现写StampedLock前避不开ReentrantReadWriteLock,写ReentrantReadWriteLock又避不开ReentrantLock,他们仨...

2019-12-20 19:19:37

布隆过滤器(BloomFilter)原理 实现和性能测试

布隆过滤器是一种大家在学校没怎么学过,但在计算机很多领域非常常用的数据结构,它可以用来高效判断某个key是否属于一个集合,有极高的插入和查询效率(O(1)),也非常省存储空间。当然它也不是完美无缺,它也有自己的缺点,接下来跟随我一起详细了解下BloomFilter的实现原理,以及它优缺点、应用场景,最后再看下Google guava包中BloomFilter的实现,并对比下它和HashSet在不同...

2019-11-21 19:28:08

Google是如何做Code Review的

听说今天发原创有徽章,先占个坑,等周末有空补上内容。本篇博客内容我和几个小伙伴一起翻译了google前一段时间放出来的Google’s Engineering Practices documentation,之后我会整理一下放在这里。翻译后的github仓库https://github.com/xindoo/eng-practices-cn,目前只是翻译完了,因为译者水平有限,还需要审校。另...

2019-10-24 10:18:40

用正则表达式匹配3的任意倍数

正则表达式能匹配3的任意倍数?(注意是任意倍数) ,我曾经也很震惊,但确实可以。我5年多前练习正则表达式,在Regex Golf这个正则表达式测试网站上发现了这个题,当时完全没有任何头绪,于是我在知乎提问正则表达式如何匹配 3 的倍数 ,但是得到了好多知乎大佬的关注,也上了当天的热榜。 排名第一的答主已经给出了答案和思路,但这么多年来我一直都没看懂,最近学习编译原理,看到正则表达式和DFA,于是仔...

2019-10-19 21:21:43

一文告诉你CPU分支预测对性能影响有多大

来源于stackoverflow上的一个问题为什么处理有序数组比处理无需数组快,原文中已经有了一些探讨,这里我们首先来复现下结果,然后再解释下为什么!我们有如下两段代码,代码看起来都是差不多的,实际上逻辑也是一样的,都是统计数组中小于THRESHOLD数的个数,唯一的区别是一个是在无序数组中统计,另一个是在有序数组中统计。如果两个数组数据源是一致的(数组大小、数据都是一致的),只是一个无序一个有...

2019-09-30 12:02:26

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 精彩红人
    精彩红人
    发布高质量Blink获得高赞和评论,进入精彩栏目即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力计划专属勋章
    原力计划专属勋章
    2019年《原力计划【第一季】》专属勋章,现已经开启第二季活动啦,小伙伴们快去参加吧
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 原力突破
    原力突破
    参与《原力计划【第二季】— 打卡挑战》的文章入选【打卡挑战周榜】的博主,即可获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。