AndryLeon

工作一年小结

从17年7月到现在工作了快1年了,工作后时间过得很快,在这一年中从入职–>阅读项目文档–>编写测试用例–>清理静态代码检测工具检查出来的报警–>根据设计方案负责代码实现–>根据需求负责方案设计,代码实现–>参与需求讨论,分析方案,也算是一步一步地融入到项目中。


工作

我是17年7月中旬到公司报道的。

入职后首先是进行大约10天的素质培训,大概内容就是培养对公司的认同感。正式工作后回想起来,那段时间大概是到公司报道后最轻松的一段时间。

素质培训完后就到部门报道。

部门报道后最初分配的导师性格比较孤僻,很难跟他交流,基本上跟他说话他能在三句话内把话说死。我活了这么久,第一次遇到这么难沟通的人。我一直觉得他这种性格是不适合当导师的,不应该让他当我导师(转正后我才知道,在这里老员工带新员工是可以给绩效增分的,所以会有人主动申请带新人,即使他并不是适合当老师)。 一个月后,我觉得这样呆下去自己会废掉,主动跟主管申请换导师。更换导师后,因为新导师的职级比较高,也没太多时间指导,但是新导师人很nice,沟通起来很顺利,也给了我很大的发挥空间,融入部门就变得简单了。

更换导师后,很快就开始负责特性开发任务了。

负责特性开发时,遇到过2个很有意思的坑,在此分享一下。

  1. 虚拟机上不同核的rdtsc读数不一定一致。在代码中使用rdtsc来计算时间间隔是一种很常见的做法,但是在多核时代的虚拟机上,因为前后两次读取rdtsc可能在不同的核上,存在后读的数比先读的数小的情况,具体是否是用rdtsc来进行时间计数需要根据实际运行环境的配置来看。
  2. 第一次遇到CPU Cache和Memory Ordering的坑。虽然读书的时候对CPU Cache和Memory Ordering有一定了解,但是直到工作后遇到伪共享,设置内存屏障这样的问题后才发现自己对CPU Cache和Memory Ordering的理解不够深刻。

展望

工作之后,自己看书的时间很少,或者说看书的时间很零碎,缺乏注重点和连续的阅读时间。在此定个小目标:

  1. 继续学习分布式系统的理论,加强实践,培养自己的系统工程能力。
  2. 学习机器学习的相关知识,技多不压身。