永远要清晰的知道自己和别人的差距,而且一旦你努力了,才知道智商的差距更大。
我很清晰的认识到,我上面有无数牛人,牛人上面有无数牛人。但是很可惜,我见到无数小朋友刚刚毕业就牛逼哄哄的;当然,很多小朋友也更努力,所以老人也不能松懈。
下面要了解这几个方面:
1) 你了解你所依赖的平台不?
你了解你依赖的平台不?SQLAlchemy的文档仔细看了么?为嘛要这样设计?ZMQ呢?设计思想是什么?消息传递的优势是什么?Twisted、ZMQ等等乱七八糟的网络框架本质是什么?tornado、Django乱七八糟的Web框架呢?MySQL事务的隔离性你知道么?别说事务都没用过。CORBA、SOAP、RIM这些都听过么?优缺点是神马?
某天和某个小孩聊天,他说他做的东西没有任何意思,没有任何技术难度;我问了一句能说你们所用的框架的处理流程么?直接卡壳了。
2) 你的模块够稳定不?
你的模块做了单元测试么?功能测试呢?集成测试呢?有没有办法做到持续集成?自动部署呢?还有你如何管理你的依赖环境?知道Mock对象不?知道测试桩不?测试数据如何管理?
3) 可维护性呢?运维性呢?
表告诉我你发布程序就是哗啦哗啦拷贝一大堆脚本过去,然后就nohup挂在后台跑着了。
如何打包?如何管理依赖?如何发布?能不能做到零停机?如果出现问题了如何回滚?如果不能回滚如何处理?是不是脚本自动部署?你的日志如何打印?如何管理?如何及时预警?
4) 了解系统构架不?为神马要这样做?有没有神马问题?有问题有优化的余地么?
5) 能从大量的业务逻辑中抽象出来一个通用的流程、框架不?
6) 系统有没有单点?如何防止?如何备份数据?MySQL Replication有神马问题?如果有冗余,一致性又如何?有没有可能丢数据?
7) 能从大量的模块中,抽象出来一些中间件、基础设施不?
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有