自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (3)
  • 收藏
  • 关注

原创 踩坑记:欲速则……达的 Frugal

众所皆知,「诸神之战」有云(宇宙条的梗):(这图真实得都包浆了)于是我们有了 Sonic[1],用 JIT 黑魔法实现的、宇宙条里最快的 Go JSON 编解码器;后来又有了 Frugal[2],也是用 JIT 黑魔法实现的、同样性能炸裂的 Go Thrift 编解码器。故事就发生在 Frugal 这里。- 起锅 -来自广告业务的胡同学遇到一个奇怪的现象,进程在启动时出现 fatal error:...

2023-11-08 21:01:25 222

原创 初到坡县

注:这是一篇流水账的记叙文,没有干货。在《踩坑记:gRPC 异常响应》中,有同学注意到文章的发布地点是新加坡。是的,我跑到新加坡来了。从 2022.12.9 到现在差不多 3 个月了,很多朋友问我感觉怎么样。如果简单用一句话来描述的话就是:除了贵,其他都还行。展开聊聊的话,就比较琐碎了,这篇先随便写点。# 落地过程总体很顺利:去年10月中旬勾搭了 Kitex 的同学,投简历、几轮面试,11月初拿到...

2023-03-05 10:30:54 153

原创 洗冤记:委屈的 Kitex

委屈Kitex 作为一款性能优秀的 RPC 框架,它在各业务中任劳任怨的同时,也不可避免地频繁出没在 panic 的 stack trace 里,因此承受了一些它这个年龄本不该承受的质疑和压力。为洗 Kitex 的不白之冤,下面介绍两个典型案例。Case 1: Client Panic业务同学遇到 panic 监控报警,查日志中发现:[KITEX: panic, to_service=XXX, t...

2023-03-05 10:30:54 189

原创 踩坑记:gRPC 异常响应

- 起 -前些天接到一个 Oncall,来自 Lark 的胡同学反馈,用 gRPC 官方的 python 客户端请求 Kitex gRPC Server,有时收到的 response 为 None。请求的代码大致如下:stub = xx_grpc.XXXServiceStub(channel)resp = stub.SomeMethod(req)logger.info("resp = {}"....

2023-02-11 19:59:57 687

原创 讲一个故事说明使用汇编语言的必要性

- 1 -有一天,有一个程序员叫做 Bob,他写了一个用 Go 语言实现的阶乘函数。但是,当数据规模变大时,运行速度非常慢。于是,他的老板让他改成用汇编语言实现。Bob 很不情愿,但还是学习了汇编语言,并写出了一个能跑得飞快的阶乘函数。最后,Bob 成为了一名出色的汇编程序员,并因为他的阶乘函数而获得了巨大的成功。他明白,汇编语言可以让他的程序更快、更简洁。所以,如果你想写出高效、简洁的程序,就要...

2022-12-26 09:18:38 125

原创 「懒」是第一生产力

在工作中,我发现很多同学对如何「提高自己的工作效率」这件事情,缺乏足够的关注。比如某同学在登录服务器时,总是手动输入密码,看得我心急火燎的。我的观点是,必须想方设法提高自己的工作效率,才能留出更多的时间偷懒放羊。今天心血来潮,整理一些自己的经验,抛砖引玉,也希望看到各位分享自己的经验,互相学习如何才能更懒。动态规划有N件物品和一个容量为V的背包。第i件物品的费用是 c[i...

2022-03-26 11:00:00 250

原创 一张证书引发的噱案

- 引 -我也没想到在神策数据这大半年能遇到好几次和证书相关的问题。- 起 -2021年9月3号,一个新客户接入到我们的 SaaS 系统。在某个环节,我们会给客户发个 HTTPS 请求,没...

2022-03-13 16:31:32 3921

原创 单元测试 ——「简单」的乐趣

- 忍受简单的能力-知乎大V李松蔚讲了个和女儿互动的故事,很有意思:我关上灯,对女儿说:「闭上眼睛,别乱动了。」女儿立刻大声抗议:「可是我睡不着!」我只好又强调了一遍:「我只是请你闭...

2021-08-03 12:00:00 241

原创 让Macbook的喇叭在公司自动静音

(题图无关,卢塞恩·狮子纪念碑)没想好写啥,水一篇,周末愉快。- 1-可能有些同学遇到了类似的困扰:晚上把 macbook 带回家用,开了外放听音乐;第二天到公司忘了关,但戴着蓝牙耳机没...

2021-02-06 22:44:31 654

原创 实战:+65行Go实现低延迟隧道

在违法的边缘继续整点活。1. 槽点尽管上篇我已经反复强调,但是一位不愿意透露姓名的王先生还是不顾劝阻,执意以身试法。不仅如此,王先生试探以后还吐槽说,虽然上上篇搭上上篇能上了,但是延迟和...

2021-01-23 12:18:34 701

原创 实战:150行Go实现高性能加密隧道

2021第一篇,继续写点有意思的小东西。1. 质疑上篇《实战:150行Go实现高性能socks5代理》发出来后,有同学提出了一些问题,比如说测试机配置太高,结果“不太具有说服力”、“是在...

2021-01-08 21:30:00 2616

原创 实战:150行Go实现高性能socks5代理

光说不练假把式,不如上手试试,这篇来写个有点卵用的东西。- TCPServer -用 Go 实现一个 TCP Server 实在是太简单了,什么c10k problem、select...

2020-11-21 17:29:45 4717 2

原创 Google Foobar Challenge

- 引子 -这几年因为招聘的需要,筛过很多简历,也因此看到了很多很有意思的简历。比如有两个印度老哥在简历里特地写上“Father's Name”,用 Google 搜到了其中一...

2020-11-14 13:47:24 1083

原创 聊聊监控

之前说要聊聊监控,这篇来填坑了。指标《踩坑记:Goroutine泄漏》开篇那张截图,展示了单个服务进程启动的 Goroutine 数量;除此之外,我们的服务进程在后台还采集了很多其他指标...

2020-10-24 16:11:51 319

原创 千万级广告定向

在穿山甲,我们需要在很短(100ms级别)的时间里从千万级的广告中选择出(我们认为)最合适的广告,因此在每个环节都需要对性能进行充分的优化。这篇我们讲讲其中一个环节。- 定向 -广告系统...

2020-10-19 12:00:00 591 6

原创 踩坑记:Goroutine泄漏

这个系列第五篇,感觉坑越来越浅了,不过还算新鲜,将就着下饭吧。- 1 -那是一个月以前,一个令人愉快的周五晚上,我在收工前扫了一眼监控看板,看到了点不太好的迹象:稍微解释一下,图中骚动的...

2020-09-29 21:00:00 830

原创 leetcode题解:秋叶收藏集

鄙厂和leetcode联合搞了个秋季编程大赛,上周六(9月12号)是个人赛。奖金很丰厚(一等奖 1w CNY),看着眼馋,不过和打榜的大神们差距太大,也只能看着了。比赛一共5题,前两题太...

2020-09-19 23:45:35 541

原创 踩坑记:一知半解protobuf

本篇写个小坑,别期望太高…在广告系统里,对延迟是毫秒必争(毕竟省下来的每一毫秒都可以用在后端优化效果),因此我们和外部媒体之间的通信往往使用 protobuf 。相比 json、xml,...

2020-09-13 23:33:50 323

原创 一个“简单”的C++问题

作为一个没有正经用 C++ 写过项目的码农,在面试到 C++ 候选人时,尽管心虚,但我也只能鼓起勇气,假装自己很熟 C++ 。不过每当在简历上看到说自己 “精通” C++ 的时候,还是免...

2020-09-05 23:54:13 209

原创 一个日志问题,和一个沟通问题

[摸不着头脑.JPG]== 1 ==说来也巧,7月6号在这里发了一篇Linux 下删点日志也能搞死人,讲了下删文件可能存在的一些坑,到了第二周、12号,一个 B 厂(此 B 厂非鄙厂)...

2020-08-23 12:00:00 171

原创 搞事:代码找茬

最近老是想起陈芝麻烂谷子的事情,说明工龄所剩无几了。- 1 -又是在那遥远的 2009 年,那个“杯具”已经不是杯具的年头,度厂办个算法比赛,办出了点儿杯具的味道。比赛的名字叫“百度之星...

2020-08-08 10:30:00 281

原创 又是面试题?对,合并有序序列。

题图无关,因为想到鹅厂,就想到企鹅,然后就想到打企鹅(非洲版),然后就暴露年龄了- 鹅厂-在遥远的2009年,那时候“呵呵”还没有奇怪的意思,我笑呵呵地去参加了鹅厂的实习招聘。面试被安...

2020-08-01 14:49:05 282

原创 Go: 关于锁的1234

在上一篇《踩坑记:Go服务灵异panic》里我们提到了 mutex 和 atomic ,感觉意犹未尽,这篇再展开一点。-锁-前面我们讲过好多面试题了,其实锁也很适合用来做套题,比如可...

2020-07-25 15:01:17 265

原创 踩坑记:Go服务灵异panic

这个坑比较新鲜,周一刚填完,还冒着冷气。- 1-在字节跳动,我们服务的所有 log 都通过统一的日志库采集到流式日志服务、落地 ES 集群,配上字节云超(sang)级(xin)强(bi...

2020-07-18 10:00:00 1008 2

原创 生人勿近之Linux里养僵尸

Linux里养僵尸是怎么回事呢?Linux相信大家都很熟悉,但是Linux里养僵尸是怎么回事呢,下面就让小编带大家一起了解吧。- 1-上一篇挖了个 SIGHUP 的坑,这篇试着填一下。...

2020-07-11 11:00:00 144

原创 Linux下删点日志也能搞死人

想了十天十夜不知道写些什么,那就写写面试题吧。== 1 ==在面试应聘者的时候,我常常会问:在 Linux 下,如何删除一个目录下的所有 log 文件?不知道是不是我人畜无害的围笑给了应...

2020-07-04 11:00:00 203

原创 踩坑记#2:Go服务锁死

再挖个坟,讲讲去年踩的另一个坑。== 前方低能 ==那是去年7月的一天,被透过落地玻璃的宇宙中心五道口的夕阳照着的正在工位搬砖的我,突然听到一阵骚乱,转头一看,收到夺命连环call的D同...

2020-06-25 11:00:00 251

转载 [译] C程序员该知道的内存知识 (4)

续上篇:[译] C程序员该知道的内存知识 (1)[译] C程序员该知道的内存知识 (2)[译] C程序员该知道的内存知识 (3)这是本系列的第4篇,也是最后一篇,含泪填完这个坑不容易,感...

2020-05-22 22:30:00 326

转载 [译] C程序员该知道的内存知识 (3)

续上篇:[译] C程序员该知道的内存知识 (1)[译] C程序员该知道的内存知识 (2)这是本系列的第3篇,预计还会有1篇,感兴趣的同学记得关注,以便接收推送,等不及的推荐阅读原文。照例...

2020-05-16 11:00:00 392

转载 [译] C程序员该知道的内存知识 (2)

续上篇:[译] C程序员该知道的内存知识 (1)这是本系列的第二篇,预计还会有2篇,感兴趣的同学记得关注,以便接收推送,等不及的推荐阅读原文。先放图镇楼:来源:Linux地址空间布局 -...

2020-05-05 10:24:11 368

转载 [译] C程序员该知道的内存知识 (1)

上篇 《踩坑记:go服务内存暴涨》好像还挺受欢迎的。虽然文中的核心内容很少,但是为了让大多数人能读懂,中间花了很大的篇幅来解释。尽管如此,我仍然觉得讲得不够透,思来想去觉得还是文中提到的...

2020-05-02 14:28:46 272

原创 踩坑记:go服务内存暴涨

这周换换口味,记录一下去年踩的一个大坑。==起==大概是去年8月份,那会儿我们还在用着64GB的“小内存”机器。由于升级一次版本需要较长的时间(1~2小时),因此我们每天只发一次车,...

2020-04-26 12:05:00 3510

原创 TCP#2: 西厢记和西厢计划

自那日听琴之后,多日不见莺莺,张生害了相思病,趁红娘探病之机会,托她捎信给莺莺,莺莺回信约张生月下相会。夜晚,小姐莺莺在后花园弹琴,张生听到琴声,攀上墙头一看,是莺莺在弹琴。急欲与小姐相...

2020-04-20 12:05:00 535

原创 TCP:学得越多越不懂

本文一共3366字,要读多久我也不知道,反正我写了好久周末小课堂又开张了,这次我们来聊一聊TCP协议。== 握手 ==多少有点令人意外的是,大多数程序员对TCP协议的印象仅限于在创建连接...

2020-04-06 11:26:03 246

原创 UTF-8:一些好像没什么用的冷知识

本文一共 3023 字,阅读时间自己算。在乔纳森·斯威夫特的著名讽刺小说《格列夫游记》中,小人国内部分裂成Big-endian和Little-endian两派,区别在于一派要求从鸡蛋的大...

2020-03-29 12:34:00 302

原创 关于RSA的一些趣事

文章有点长(一共2300字)但最后一个故事最有意思看不完的话可以直接拉到底== 1 ==从面试题说起好了。在考察到网络这一块的时候,可能会问问http协议,聊安全相关问题时,就顺便聊聊...

2020-03-22 11:30:00 269

转载 双重检查锁(double-checked locking)

在软件工程中,双重检查锁(double-checked locking[1])是一种设计模式,通过在加锁前检查锁标志(criterion),可以减少加锁的开销。只有当标志显示需要的时候才...

2020-03-14 11:30:00 3362

原创 程序员面试指北:面试官视角

== 结构化面试 ==在字节跳动,我学到了如何使用结构化面试法来考查应聘者的技能。所谓结构化,指的是将各种知识技能做好划分,例如编程语言,操作系统,数据库,网络,算法,工程/架构设计,并...

2020-02-14 23:02:33 337

原创 使用pprof和go-torch排查golang的性能问题

最近线上服务压力很大,api的p99有点扛不住。广告业务对延时的要求普遍比较严格,有些adx设置的超时时间低至100ms,因此亟需找出性能热点。根据对目前系统情况的估计(和metrics...

2019-09-22 00:32:10 358

原创 以太坊区块链长什么样?

之前接触以太坊的时候,确实能搜到很多资料,还有一个看起来很丰富的 Homestead Documentation,但这些材料都太不接地气了,看完还是不知道以太坊区块链到底长什么样,因此整...

2018-04-03 15:05:00 230

MS-DOS 3.31

  1987年,MS-DOS 3.3 支持了IBM PS/2设备及1.44M的3寸软盘,并支持其他语言的字符集。

2012-08-08

28套超强空白个人简历模板

28套超强空白个人简历模板.doc,自己看看是不是需要的吧。。。

2010-01-08

空空如也

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

TA关注的人

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