在腾讯实习的那段日子:不要在难受的时候选择 '逃避/离开'

时间过得很快,从2014.6.5入职实习到2015.1.5已经是7个月的时间了,在这边还是学到了很多东西,遇到的人大多数比较nice。中间拿到了留任offer,本来也是想来深圳,也就没有再去找工作。实习过程做了不少事,也遇到一些坑,犯过几个小错误。此篇不会记录流水账,也不会写技术细节,关于生活经历可能会在空间写写吧,在这里就是做些总结,和摸索以后要走的路。

工作、为人处事、心态篇

1. 尽量用低权限用户操作,特别是涉及数据库表的删除和目录文件的删除,需要特别小心!

2. 涉及组外的工作,如果不是立马能搞定的,尽量拉上组长,让leader知道你在做什么。

3. 工作时间尽量不要上qq! 午间和晚间休息时间可以查看下消息

4. 工作中遇到的技术问题google半小时如果还没解决,再去咨询同事,把自己做过的尝试和猜想讲出来

5. 对待工作不要抱着侥幸心里,认真对待,偷懒换来的可能是反复的整改。

6. 说明问题尽量用数据说话,需要先明确需求是什么,进而预研技术设计是否能够实现,再着手开展。

7. 遇到业务投诉问题,先回复安抚下,再根据情况排期解决,rtx 回复及语气也是需要非常注意的!

8. 遇到完全不会的开发语言或者环境,先找篇tutorial了解下基本语法,慢慢可以在查看别人代码和修改中提高。

9. 跟同事或者leader开玩笑要注意场合和话题。

10.不要在难受的时候选择 '逃避/离开' : 冲突 à 难受 à 倒空情绪 à 分析问题 à寻找解决方案 à 化解冲突 à 再分析问题 à ……

11. 测试包括功能测试和性能测试,功能测试要覆盖到位,性能测试要一个进程均匀发包带时间戳Ext,另一个进程异步收包gettimeofday()-Ext=响应时间,计算丢包率,平均响应时间等。需要server支持测试命令回包。

12. 编写高性能c/c++服务器程序,对于调用的系统api耗时要有比较清晰的认识,比如解一个很大的包,可以先init(把结构体每个字段,如果是字符串则首字符设'\0',数值则设0),解包后再在字符串字段后append '\0' 。

海量服务,一切尽在掌握,你才敢说满足性能要求。

13. shell/perl/python操作文本之类需要非常注意各种空格问题,regex时出现的问题很多。还有一些并行and or的操作需要想清楚逻辑,别笑,你也许正在犯这个错误。

14. 对于动态语言如python 来说,在语法正确的前提下,也可能产生如 int + string 这样的运行时错误,或者因为同名函数覆盖产生的逻辑错误,而这些在静态编译语言c/c++/go 中都不会出现,因为这些错误在编译时就能够被发现。

15. 调试程序,有时真是心态问题,实在没思路就出去溜达一圈,也许会有新的想法。淡定,最能诠释在调试Bug时需要的心境要求了,特别是项目比较急的时候。

16. 一般的服务器程序需要做到支持平滑扩容,一些配置尽量写在配置文件里,代码也不要出现魔鬼数字,如果需要重新加载新配置,搞个命令客户端发命令即可。各种异常监控也要到位,记住,异常总是会有的,网络抽风了?有人恶意攻击你?雪崩了?流量穿透?

17. 关于网络协议包结构,看需求而定,有传统的定长结构体,长度+body结构,TLV变长数组等等。你需要明白的是,网络传输底层永远是字节流,只是说多字节的变量需要hton一下,无论你本来想发送的是什么类型的数据,所以如果结构体有填充字段而直接send(&struct, sizeof(struct)),如果按字节数分别解析成员变量时可能会出现问题。此外注意protobuf 序列化成string时,string大小要用size(),不要strlen,中间可能有'\0',踩过的坑,其实这涉及到 string("aa\0a")和string("aa\0aa", 5)两种初始化方式的不同。

【实际工作中一般是将网络结构体的每个字段按顺序memcpy(多字节变量先hton)到一个字符串数组,在接收端按顺序解析字段变量到结构体成员中(多字节变量先ntoh),比如包头+包体tlv打包+包尾】

顺便提下“后台开发”这个宽泛的概念,很多语言 java,python,c/c++,go...都可以做后台,可以认为不同的应用层协议区分了不同种类的后台开发。http服务器 apache/nginx 之类也是一个后台软件,它遵循的是http 协议,ftp 服务器同理,而我们一般开发的后台软件都有自己的协议,可以理解为网络数据包结构体定义和打包解包函数集合。

18. firefox f12可以直接调试js,一些基本的前端调试需求是可以满足了。

19.模仿,尽量地模仿,有可用的框架就用,现成的工具修改就用,模仿优秀的人做事方式,比如导师说:不可忍受原则。面对重复手工劳作你不搞个自动化工具?机器老是告警你只是重启而不去深究?用别人的框架而不先学习?..., 这些都是不可以忍受的!跨出自己的舒适区很难,但跨出去了就是成长。

20. 需求分析--概要设计--详细设计--开发--测试--部署上线--运营。需要能把握节奏,总周期最好能精确到工作日,不要低估测试的时间,约占开发的1/4左右。最好给自己留几天预备突发插入的其他事情,避免项目延期。

21. 在做python之类的开发时可以用一些enum配置文件写好不同环境的配置,如开发/测试/正式 环境的数据库连接配置,在调试/测试时只需要修改当前配置项的值即可适应环境。本地开发环境可以是eclipse+pydev。

22. 每个python模块(文件)最好先做函数的单元测试,善用 if __name__ == "__main__":

巩固基础篇:

1. 《操作系统教程》第4版,孙钟秀著,陈怀临注解。主要多了解一些基本概念。

2. 重读《linux c编程一站式学习》。重点关注关于编译链接动态库调试等方面的内容。

3. 阅读《C学习笔记》。内容难度比较大,对于makefile&gdb要做相关延伸,一定要完全掌握。

4. svn 的操作还要再熟悉下,最好同时补下git 的知识,包括打分支branch,svn软链接等常用技能。

5. 对于数据库基本概念的事务ACID属性,索引等概念深入了解下。

6. Linux Performance Tools.ppt 需要大致了解一遍linux可用的工具。

7. 阅读《effective c++》 和《more effective c++》。c++进阶好书,有一定开发经验再读效果好些。

8. 阅读《web前端黑客技术揭秘》和《白帽子讲web安全》。争取对web安全有比较清晰的了解。

9. 阅读《python 学习笔记》。结合《python源码剖析》,内容涉及源码级别,难度比较大,多少看点东西。

10. 阅读《go 学习笔记》。学习一门新的语言go,争取有个框架性的认识,至少看完第一部分。

长远进阶篇

1. 重新阅读自己的博客和evernote 笔记,修正错误,巩固已有知识等。

2. 每个程序员都需要读的论文,有三个版本共31篇paper,尽量都读一下并做笔记。

3. 《11 Articles Every Programmer Must Read》系列,尽量都读一下并做笔记。

4. what every programmer should know about ... 系列,尽量都读一下并做笔记。

5. 参考 http://dirlt.com/#sec-1 源码阅读指引,多看经典开源设计与实现,多思考并做笔记。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门到实战

开发工具总结(7)之多年珍藏的Android开发必备网站和工具

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/781c1b56bc5b

1372
来自专栏程序员互动联盟

程序员如何显著提高效率

曾经有很长的一段时间一直在学习和探索提升工作效率&身心健康的方法。讲讲我个人的经历吧! ? 加速度(一个电脑的有用程度和它里面装的软件数成反比) 给电脑换上SS...

2697
来自专栏大数据挖掘DT机器学习

如何用R语言从网上读取多样格式数据

第一部分:数据信息 生活中,我们面临着各种各样的数据:比如你的成绩单,比如公司的财务报表,比如朋友圈的一些状态,比如微信里的一段语音……我们生活的大数据时代的一...

2925
来自专栏钱曙光的专栏

一周极客热文:3月,献给程序员们的技术书

北京的雾霾刚刚过去,小编便开始埋头做三月书讯了。 《算法谜题》 经典算法谜题的合集 Google、Facebook等一流IT公司算法面试必备 《Hadoop实战...

1718
来自专栏企鹅号快讯

大话云存储

1、云存储的官方定义 云存储是一个以数据存储和管理为核心的云计算系统 即是指通过集群应用、网格技术或分布式文机房集中监控系统件系统等功能,将网络中大量各种不同类...

2256
来自专栏程序人生

程序员效率指南

最近很多朋友都是春节前后看了知乎日报的「年度热门·能花钱的,就不要花时间」关注「程序人生」的,所以寂静了很长一段时间的后台消息,随着新读者的加入,又活跃了起来。...

3496
来自专栏自然语言处理

微博话题爬取与存储分析(下)

本文基于python以新浪微博为数据平台,从数据采集、关键字提取、数据存储三个角度,用最简单的策略来挖掘我们的“黄金”。

772
来自专栏程序人生

分布式系统中的监工:Overseer

最近从无趣的工作中发现了有趣的事情,工作和业余时间都扑了些精力上去,本待上周末最终的成果出来后再写文章的,无奈事情太多,代码还没写完,二月上旬已过,再不写文章春...

3157
来自专栏杨建荣的学习笔记

最近让我焦灼的四个问题(有解) (r7笔记第76天)

之前写了一篇 《最近让我焦灼的四个问题》,既是感慨,也是无奈,既是记录问题,也是鞭策自己,当然只是吐槽,抱怨是没有任何意义的,所以我更新第二篇,这些问题在近些天...

3516
来自专栏CSDN技术头条

WEB前端 :“懒人”养成计划

何为懒? 懒在人一开始的印象中,总是给人一种不好的感觉,勤奋一直是传统美德,懒是坏东西。然而事实真是这样吗?最近看过一篇关于懒人科技的文章,觉得很有道理,文章有...

1838

扫码关注云+社区