实习满月小结
来OPI实习一个月了。一个月前我放弃了考研,虽然已经报了名。
半个多月前,研究生入学考试的时候,我发现自己其实没有多大的遗憾。
在学校的时候,对未来方向有莫名的恐惧,怕选错了方向,怕走错一步。每天在读还是不读研,工作去哪个公司,作哪个方向的工作之间反复地考虑。以我当时的想法,如果是baidu和tencent,那就绝对应该去。felix到了baidu实习,sandy去了tencent,BFS只剩下我还在徘徊,而我发现我的徘徊并没有意义。因为我对外面并不了解,所以一些想法很天真,很偏颇。比如我之前以为系统运维就是那种困在机房,哪个硬件坏了换哪个,一周七天一天二十四小时随叫随到的,来了这里一个月,发现绝大部分工作并不是我想象中的,更多的是自动化监控和维护,系统和网络的性能优化。
来这里实习的一个月,我在自己的小地盘看看书,写写程序,中午睡会儿,周末出去转悠。对所做的工作有了初步的了解后,就没有那么担心方向了,所以之前的恐惧只是因为对于所要走的路没有一丁点的了解所致,这就跟有些人怕鬼一样,因为不了解,所以担心某一天一个人坐电梯的时候,身边会多出一个影子来。所以,现在很感谢felix,在我第一次来BJ的时候,畅谈了很久,坚定了我来实习的决心。
在这里的一个月,认识了很多同事,不过这里都喊同学。开始觉得直接喊名字不好意思,到现在已经习惯了。这种朋友间的称呼方式让我没有上级下级的区分,没有那么多的顾虑,我们只对我们所做的工作关心。所以休息的时候,我们一起讨论游戏,讨论某本书,讨论我们所做的工作。工作学习让每一天都很充实,闲下来就和同组的同学们,打桌球网球玩游戏,也忙的不亦乐乎。
知识的积累当然也是我最大的收获之一。最开始,了解了我们常用的工具,ganglia,nagios监控系统状态,rrdtool管理rrd数据库;紧接着BOSS给任务是能根据图形趋势自动报警,而不仅仅是阈值,所以,学了一次移动平滑法,一次移动平均,曲线拟合,使用octave和gnuplot,而gnuplot目前并没有好的接口,最后用管道实现,最后结合SMS,EMAIL,MSN报警。目前还没有结束的任务,模拟实际网络,对测试网络延时,抖动,丢包率等等对用户体验的影响。要考虑的因素很多,牵涉的知识更多。网卡转发的性能,服务器(Apache/Nginx),动态数据还是静态数据,压缩和非压缩,压力测试中并发连接数和服务器的配置。最让我记忆深刻的,是当时网络数据发送速率的问题,原则上千兆网卡发送数据包,64B的小包的PPS应该在1488100。但是怎么测试都没达到,最后wn看了网卡说明书,调整了网卡允许的中断数,才差不多符合理论值。当我们都卡在发送数据包大小的设置时,他却能去找到这个网卡驱动的源码,看了说明,才知道加载的时候有这么个参数,或许他会这么想跟他在IBM实习的经历有关吧。
还要继续再提的是,我很感谢现在的BOSS。我们在测试的时候,他能时常给提示,每晚的结果都给我们点建议,不是那种硬性的只要结果。而最让我觉得他非常值得感谢的地方在于,明明这个试验,如果他带头,很快就可以有结果,但他却让我们三个人讨论着做。而在一次聊天中,他不经意间说,让我们去摸索,去碰壁,去失败,比直接给我们结果要好得多,能锻炼人,思考问题的过程比直接得到一些TIPS要珍贵的多。要说我最开始觉得他很值得尊重,是因为觉得他是linux内核源码贡献者之一,平时很多人来问他问题,那么这个月下来,我再加一条理由,就是他这么努力的锻炼我们,给我们学习的时间和机会。我会特别提这点,其实是因为这么一个大环境,学习,工作,休息,让我不平静的心终能平静一段时间。在这一段时间,公司在选择我,我也在选择公司,双向选择的过程中,发现身边不仅有好的同事同学,更有好的BOSS,这种感觉很好。
到现在实习虽才一个月,不过也有些感触,希望给自己,给朋友们看看。
1。培养自己的学习方法,培养一些好的习惯。工作开始后,可能牵涉的知识很多很多,要考虑的问题更多。如何在有限的时间内,给出一步步的安排,如何能够快速了解一门语言(比如说你了解过一些面向对象和脚本的话,初步熟悉python就是一两天的事情),比如说要学php,为那些自己记住的几个函数沾沾自喜,而不去作几个项目,用用framework,这种学习方法只能让你停留在最浅显的层次。培养好的习惯,举个例子,不要张口就问问题,不要轻易承诺任务,不要在遇到困难的时候就放弃或者有意拖延或者给BOSS报告夸大难度。还有很重要的一点,就是要学着时间管理,不要做事不分轻重缓急,虽然努力,效果却不一定好。
2。尽量将安排的课程认真学好,尤其是数学,经常梳理自己所学的知识。其实,这话是我最应该去听去做的,只可惜没机会了。在学校的时候,逃课太多,虽然大多数逃课的时候,都是在写代码。但是缺乏了系列的课程学习,让我的知识很难梳理,系统的掌握,联想更困难。当然,不去上课或者不认真听讲,有可能是因为学的东西很空泛,比如网络课上分析网络源代码,当时的情况就是那老师讲得越生动,我就越容易睡着。而唯一的几次没有睡着听到的内容,在实习的时候都遇到了,比如设置网络转发时,可以将proc中的接口ip_forward设置为1。我觉得我上课的失误,在于努力记住一些tips,而不是努力将所学的知识都串起来,总觉得学得零零散散的。如果可以的话,还是努力得听课吧,努力把握实习的机会,找到适合的工作,你应该很快发现课堂的东西多么珍贵。特别提到数学,是因为很多工作都跟数学有关系,我们系统运维要作数学分析,产品的也要做。即使你的工作跟数学挂不上钩,但是思考数学问题的过程可以很锻炼逻辑思维。顺便推荐一个我经常看的网站:Matrix67(http://www.matrix67.com/blog/)。
3。多关注一些行业的信息,眼光要向前,看得长远。这条不多解释,一心只读圣贤书的时代早已不再,在瞬息万变的环境中,找到方向,少些彷徨,少些迷茫,多做事。
4。不要对硬件不闻不问。这条其实是针对我的。我之前对硬件很不关心,所以当sandy和felix讨论微机,讨论南桥北桥,讨论参数和配置的时候,我只能一边听一边记,但过后就忘记十之八九了。来了实习之后,发现没有谁是真正的完全脱离硬件工作的。我在上面提到实习期间的任务时,就提到了网卡网络驱动,可能大家更知道的是路由器,交换机,这里我仅仅用了“知道”,而不是熟悉,是有原因的。我在之前就仅仅停留在“知道”的层次上。这就引出了我下面要说的一点。
5。看待问题要多去从底层去找原因,刨根问底。好的程序员绝对不少,但真正优秀的程序员并不多,这是在Linux SA Notes上看到的一句话。理由并没有必要解释,大家都有感触应该。因此,应该庆幸我们的第一语言是C语言,还接触了汇编。当“知道”了路由器,交换机是干什么的,还应该去了解他们的工作原理;当中了一次ARP攻击的时候,应该去了解ARP协议,为什么会受ARP攻击;而你天天在用浏览器,有没有去了解过HTTP协议,浏览器的一些设置比如并发连接数,最大连接数等等是什么。
前天和BOSS讨论,要不要建立团队BLOG的时候,BOSS说BLOGS如果没有更新就没必要,而如果仅仅写成流水帐,或者很多TIPS,也没有必要,这种需求wiki足够了。如果要建立BLOG,希望文章大多数是从根本上找原因,把一些看似神秘的东西,从底层去分析认识它,让它变得不神秘。这种BLOG才有对外部公开的必要。在考虑网卡转发包的时候,我终于把一个包从发出,经由内核缓冲区,(排队,优先级,调度),网卡缓冲区,发包,TCP/UDP控制(滑动窗口,同步,丢包重发),到最后另一终端接受的过程,有个整体的认识。这种认识是很有必要的,再考虑这些问题的时候,就可以比较容易的判断出可能是那些地方的问题。
下面是关于人人网的。人人的用户量在提升,服务器的压力肯定越来越大,而用户量需求的持续提升,一定需要在一段时间后,架构上能变革,服务器性能随之提升,当然成本也要加大,希望能尽早提升整个服务质量。还有一些我的看法,当然仅仅是自己以为的,如果站在其他人的角度,比如管理者可能就不这么看了。
1。提升用户体验,WEB服务器的改善和架构的改善是需要慢慢来的,但是有些却可以很快改善。比如界面可以更友好,更简洁。那个搜索框,明明可以通过ID,通过拼音,搜索好友,搜索PAGE,但是一点提示都没有,点开“高级搜索”,只能看到“名字”等输入框。之前抱怨说这个搜索框功能好简单阿,为什么连个通过ID搜人的功能都没有,现在才知道功能是有,只是没让大家知道。再说第三方的应用,开放平台,是非常好的决定,截至目前看来,效果也非常好,为人人网开发的应用具体数目我不知道,不过前天人人网最佳应用评选中,看到报道说有上万。但是,我觉得要注意一点,大多数人会把这些应用有些不好的地方归咎于人人网。如果一锅汤里有好几个坏鸡蛋,足以将一锅汤坏掉。所以,要对第三方服务的质量严格把关,金牌认证应用的做法很不错。但还有一些应用,比如“好读书,读好书”,积累了那么多用户后,却没有人维护了。最后一次管理员发言是09年7月,讨论区好多人问,是不是管理员停止维护了,都得不到响应。这种应用,我觉得第三方就应该承担责任,我们提供了平台,钱也放在桌子上,一起分享,但他们得到一部分用户后,却不能长久负责任。这种做法很严重损害人人网的形象。还有广告商,那种明显会引起反感,侵犯隐私的敏感做法,当然会给人人网带来很负面的影响。今天就看到专挑刺的楚天都市报,报道说 人人网鼓励举报汗臭5万人上榜 涉侵犯隐私。稍微了解下,应该是广告商为了推广产品,推出的行动,但是,SNS的劣势也在这里,太真实,很容易触犯大家的隐私和底线。
2。在提升服务质量的时候,一定会积累一些经验,做好记录,最好总结,最好能够共享这些经验。简单的说,就是要有[大家风范],成为大家心目中的“大家”,而不仅仅是一个赚钱的公司。就我个人而言,我喜欢那些知识共享的公司,比如Google,YAHOO(网络优化的那几条军规,应该是绝大多数网站优化的标准了)。这种大家风范一旦深入人心,自然会吸引最优秀的人才,在这里的工作的每一个人,将自己的青春和事业寄托的我们,自然会有责任感,荣誉感。
3。SNS有其独到的优势,所以应该尽早发掘商机,要能够一直领跑。国内的SNS竞争可谓激烈,我们虽然暂时领先,但是谁知道哪些大的软件公司,比如tencent会使出什么杀手锏。他们都有相当强大的开发队伍,这点决不可轻视。我们可以在服务质量上,不断提升档次。虽说很多评论说,tencent一直在模仿,但是tencent的软件,用户体验的确很好,这才是能吸引住大量用户最大的原因。
4。现在应用的定位大部分是网页游戏,但我认为,这股网游热不会长久。居安思危,如果从某段时间开始,网游不能带来很大的收益,我们将何以应对?多关注实用的服务,作真正惠及人心的服务,才能将用户抓牢。
我想站在管理者的角度看,上面提到的应该都想到了。说出来这些一孔之见,只是与好友分享我的想法,有些可能认识不够,了解不多,冒然下了结论。
对于将来,我会在摸索中前进。felix和sandy,还有我,BFS的明天会更好! 同时也祝所有的朋友们,能够心想事成^/^
5 Comments are ready?
体会很深,这篇blog也写得非常深刻。
好好加油~
ps:关于口碑这一点,renren确实应该下苦功夫,早点处理相关的问题,形象好才能立足。
[回复]
boluor 回复 于 二月 1st, 2010 at 16:31
恩。大家一起加油 !! 明天OPI年会,期待阿。
[回复]
已阅。。很少见你写这种超长的文章。。呵呵
[回复]
boluor 回复 于 二月 1st, 2010 at 17:45
被一些想法纠缠很久了,不如写下来舒畅。
[回复]
嗯 还是实习的时候更有动力去学习啊。
[回复]
boluor 回复 于 二月 1st, 2010 at 21:11
恩~~还是要培养自我激励和自制力,不能依赖这种压力。
[回复]
嗯,受益…..祝工作顺利
[回复]
受益良多啊,俺也是实习生
[回复]
boluor 回复 于 二月 2nd, 2010 at 23:45
加油 ! !
[回复]