闲侃两句“白板面试”

“白板面试”是一个老生常谈的问题了,关于它的利弊仁者见仁,智者见智。下面这些仅代表我个人观点:

(1)像GoogleFacebookAmazon这些公司对“白板面试”还是有很高要求的。如果目标是进入这些公司,那么没其它的选择,就得接受现实,刻苦“刷题”。
(2)有些公司连一句话都不和你说,直接发给你一个链接让你先做题,这种做法很不尊重人。
(3)安排“白板面试”的公司应该想清楚自己的需求是什么,可以从“白板面试”中考察到应聘者那些技能,“白板面试”是否真的适合自己公司?
(4)花时间练习“白板面试”对工程师有好处,但是“性价比”不太高。
(5)我参加过一些“白板面试”,失败居多。我记性不好,很多算法一段时间不用就忘了。在工作中我遇到忘记或不懂的算法就上网查,好像也从来没因为这个影响工作。

总结一下,如果“白板面试”是你心仪公司的“硬性要求”,或者你觉得花在“刷题”上的时间值得,那就多多练习;否则还是把时间用在其它的事情上面,比如读一本小说。

关于编写英文技术教程的一些总结

我从2016年中旬起开始尝试撰写英文技术教程,当时花了小半年写了一本Go语言的入门读物。2017年没动笔;2018年写了三本小册子,内容涉及并发编程,网络通讯等等。今年截至目前又完成一篇有关Linux操作系统性能监控的“小儿书”。现在回想起来,花在编写这些文档上的时间和精力还是相当值得的,我会把这项工作坚持下去。

当初开始这项工作的初衷是我这个人记性不好,学的东西过一段时间就忘了,因此我就打算以笔记的形式保存下来。使用英文的原因除了想锻炼一下自己的英语能力以外,也在想这些文字说不定也可以帮到别人。现在回头看看,收益最多的其实是我自己,比如这一年多来我经常在工作中参考我自己编写的OpenMP手册,:-);此外也很高兴自己的教程有时会被引用为stackoverflow答案。这项工作的另外一个“副产品”是为了弄懂一个知识点,我常常需要去阅读源码,也就会顺便发现bug并贡献patch,算是为开源社区尽自己一点微薄之力。

接下来我会继续编写一些英文技术教程,因为不是写小说,所以定的目标就是力求做到言简意赅,不拖泥带水,争取让读者们花最短的时间得到最核心的内容。

P.S.,我编写的英文教程链接

 

2018年终总结

这一年没有离开过这座城市,也没有休过什么长假,基本都在工作。

工作上主要是C++/CUDA编程,一年做了两个大版本,也对modern C++有了更深入的了解。

业余时间写了三本教程:
OpenMP Little Book:介绍OpenMP并发编程;
Boost.Asio network programming little book:介绍C++网络编程;
OpenBSD netcat demystified:介绍netcat命令和Unix socket编程。

实现了三个开源小项目:
freeOpenBSD上的free命令;
ump:一个通用的线程安全的内存池;
libtlscpplibtlsC++封装。

上半年看了newlisp,下半年主要看Rust。此外,securityHigh Performance computing也关注的比较多。

这一年也看了不少和工作无关的书:从古典小说《红楼梦》,日本的悬疑小说,再到国产的爱情小说,都看了一些。

英文博客更新的还可以,中文写的有点少,明年争取多写一些。

技术会议参加的有点少,看看明年能不能多参加一些,自费也可以考虑。

生活上还是老样子,没什么变化。

就是这样了,看看明年自己有没有什么突破。

2017年终总结

2017年走到了最后一天,是时候回顾一下了。

去年年底来到了新的公司,加入了一个全新的团队。总体来讲,感觉很不错。一方面团队成员关系很好,另一方面做的东西是我工作这么多年从未接触过的领域。能不断有机会尝试新事物,也是一件很“幸福”的事。

这一年自己研究过的技术领域包括:OpenMPperfRusteBPF还有OpenBSD。此外日常工作主要用C++,也算是有机会好好学习学习这门经典语言。

DTrace的文章写得不多,主要是工作中基本没机会使用了。Unix微信公众号写了14篇。

工作10年来第一次出差,去了伦敦,看到了本初子午线和参观了大英博物馆。

生活中波澜不惊,平平淡淡,除了偶尔和朋友们一起聚聚,也没什么特别的事情。

逐渐摆脱“手机依赖症”了,好像不天天捧着手机了解各种信息,对自己也没什么影响。

就这样吧,看看明年的今天会发生什么。

2016年终总结

2016年就这样过去了,它真的是令我难忘的一年。在这一年中我经历了太多的“第一次”,也有了很多新收获。在2017年的第一天,我再好好地回忆一下这“跌宕起伏”的一年吧。

首先,我在自己的个人博客上开辟了“每月简讯”这个专栏,用来总结每个月的经历。这样可以更清楚地了解自己过去一个月的状态,知道该从哪些方面改进和提高自己。

1月份的时候,我开通了一个微信新公众号:Unix。开始的时候,是每天发一个小tip,后来感觉这种形式其实对人们的帮助并不大。所以在停办一段时间后,又走到发原创文章这条路上。目前发表了不到10篇作品,不敢说写的多好,只能说都是自己用心之作。

DTrace这个公众号这一年并没有写什么的有价值的文章,主要是现在工作中基本不会用到DTrace,所以也没有什么好的材料用来分享。

7月份参加了人生第一次的IELTS考试。

今年写了两个初级教程:一个是关于Go语言:Go 101 Hacks;一个是关于FreeBSDFreeBSD 101 Hacks

1月份至9月份,我在H公司工作。工作主要侧重在两部分:Docker性能测试和Swarm/Swarmkit的功能开发。很遗憾,9月份的时候,公司结构调整,我们整个部门被裁掉了。但是H公司还是很厚道的,给了足够的补偿。在这个时候,才能体现一家公司是否真的是“人性化”。

9月中旬到12月份,我一直处于失业状态,也是我第一次失业。整天过得浑浑噩噩。以前每天上班很辛苦,但是并不觉得有多累。现在闲下来了,反而每天无精打采,还生了病。看来人真的是要折腾的。

12月份来到了当前的公司,开始了新的工作。目前感觉还好,没有什么不适应。

中英文博客这一年中还是坚持更新。中文博客更多的是记一些笔记,英文博客倒是写了一些个人还比较满意的文章。

年初的时候第一次出国,去了新加坡,感受了一下“异国他乡”是什么样子。

好了,就这样吧。新年新开始!

再见,H公司

今天是我在H公司工作的最后一天。从20081月毕业以来,这是我第三家公司。与前两次离职是我主动寻求改变不同,这次是由于公司调整,把整个部门关掉了。

我在H公司工作了20个月,是我工作过的三家公司里时间最短的,但是收获却不少。H公司的确是一家很不错的公司,做事厚道,充分尊重员工并给予员工很大的自由度。而我所在的部门更像是一个大学实验室,同事之间关系融洽,有充足的资源和世界上性能最强大的服务器供我学习和使用。现在回头看看,这20个月自身的收获主要有以下几个方面:
(1)Performnace tuning的知识;
(2)操作系统相关知识:主要是Linux kernel开发,此外也接触和使用了FreeBSD
(3)Container技术:学习了DockerMesos的使用,以及Docker SwarmSwarmkit的源代码;
(4)函数式编程的相关知识。

最后,希望H公司可以越来越好!

P.S.,如果您有合适的system/performance software engineer的工作职位,欢迎联系我(nan#chinadtrace.org,把#换成@),谢谢!

2015年终总结

2015年转眼就过去了,是时候总结一下了:
1.今年是我2008年正式工作以来,工作上最动荡的一年。之前在M和A公司,工作上几乎很平淡,就是一个版本一个版本地做feature。而今年工作上发生了太多的事,估计可以拍成一部电影。等将来找个时间,再细细描述这段经历。
2.生活上没有太多变化,分别去天津和南京旅游了一趟,仅此而已。
3.chinadtrace网站和英文博客都坚持下来了。中文博客并没有发表太多有价值的文章,更多地是记录了工作上的一些笔记。
4.阅读了一些自己感兴趣的书。
5.见到了自己的偶像,自由斗士——RMS先生。
6.为一些公益网站和项目捐了一点钱,尽管不是很多,一点心意。
7.做了自己的第一件T恤衫。
8.儿时的好友们难得的来了一次大聚会。
9.做了Using DTrace stories这个开源项目。

最孤独的人?最幸福的人?

上周看到一篇报道,讲的是一名俄罗斯气象员独自一人在极地附近工作和生活的故事。看完以后,我还特意找到了这则消息最原始的英文文章出处,详细地读了一下。有人说,他是世界上最孤独的人,不过在我看来,他同时也是最幸福的人。他可以把整个世俗抛在身后,每天专心致志地从事自己想做的事情,过着一种几乎“与世无争”的生活,在自己的“桃花源”中尽情地享受着。在当下这个世界,有几个能像他这般“幸福”?真是让人羡慕不已。。。

开博两周年纪念

一眨眼,坚持写博客整整两年了。今天特发小文,总结一下。

这一年来博客发表的笔记偏多。原因是我这几年学习过很多知识,但是由于当时没有什么笔记,所以很多内容过一段时间就完全忘了,又要重头开始学。记一些笔记可以方便自己需要的时候能很快地把这些知识捡起来。如果又能恰巧帮助别人,则更好。

此外,一度中断的英文博客也重新开张了。毕竟英文是目前的“世界语言”,写一些英文文章可以更好地和世界朋友们进行交流。

就这样吧,期待博客可以一直写下去。 Keep moving!

 

2015南京之行暨参加Linux kernel开发者大会

10月15日~19日,第一次去了南京,参加了第十次Linux kernel开发者大会,也顺便游览了一下这个六朝古都。

我是10月15日下午出发的,到了南京已是晚上,感觉晚上南京地铁人不是很多。经过一番周折,找到网上预订的酒店,结果一推门一股烟味扑面而来,很是呛人,于是赶紧开窗通风。房间其它还好,就是卫生间没门,让人不大习惯。安顿以后,出外面随便吃了点东西,就早早休息了。

16日早上到附近的“狮子桥”步行街吃了汤包,因为以前在电影中看到过南京汤包,所以这次一定要尝尝。接下来一天去了总统府,六朝古都博物馆,中山陵。因为我个人对历史比较感兴趣,所以就侧重逛一下这些历史气息比较浓厚的地方。总体感觉不错,民国气息比较浓。

10月17日和18日这两天全部用来参加Linux kernel开发者大会。这次大会在南京大学举行,不仅不收门票,而且中午也在南大食堂提供免费午餐。与现在门票动辄几百元甚至几千元的技术大会相比,真的算是“良心办会”了。当然,现在很多技术大会需要费用租用场地和提供午餐,而南大有现成的场地和食堂,这是一个优势。但是不排除现在有些技术大会的确“变了味”。总体来说,两天参会还是有点收获。

19日早上退了房,由于背着行李不方便,所以就简单地逛了逛雨花台,然后就启程回京。南京之行结束。