① 程序员积累什么东西才是真正的实力
姚冬回答的非常好,我狗尾续貂的说几句。
我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长?
我之前微博说了一个笼统的概念,什么是能力? 对待问题的态度,以及处理问题的思路和方法。
先说态度
你服务器偶尔出501错误,也许比例不高(知乎也出现过很多次),很多程序员,没错,是很多,假装看不见,不在乎,或者归咎于人品问题。 这就是态度问题。
再往后,负载高了或者其他什么原因,突然频繁出现501错误,不去追寻深入的原因,而是找各种借口, 什么IDC服务商不好,服务器品牌不好,操作系统不好,数据库不好,CDN不好,网络状况不好,web server不好,甚至,直接对Boss说我们被DDOS啦!(遇到过,帮他Boss找过多个安全专家会诊,最后发现根本不是DDOS,是程序员太烂。)
这就是态度,触目惊心,如果能对问题有敏感性,能知道对任何小的,轻微的问题有足够的敏锐度,你就有了一个快速成长的基础。对问题的敏锐度是非常重要的。很多性能或程序逻辑上非致命的bug,在不够敏锐的时候是发现不了的,但是一旦进入特殊场景就会骤然爆发,你多一点敏锐度,就会减少这种危机的风险。
第二个态度是解决问题的态度,有人对自己的解决方案信心满满,认为万无一失,但有的人就会多留一条后路;就好比你说我服务器要不要做安全加固,肯定要做对不对,要做到尽可能严谨和周全,但是你数据库保存密码的时候是不是还要加密?而且要随机salt,不就是防止万一依然有漏洞被人拿库怎么办么。程序也一样,以前写的一些服务端守护进程,有bug,会莫名其妙的终止,这个bug当然要定位,要修复,但是同时,写一个cron检查这个守护进程状态,一旦遇到终止给予自动恢复,这就是第二手准备,即便你多么不希望他执行,这个准备还是要做的。对问题 做两手甚至三手准备,也是优秀程序员,架构师的关键素质。
第三个态度是基于沟通与理解的态度,产品或运营提了一个不靠谱需求,一句话打回去当然很爽很威风,但是有没有仔细沟通分析过,这个需求基于怎样的实际诉求,这个实际诉求有没有更合理的实现途径,一句话“这个没法做,这个实现成本太高”,不是正确的沟通态度,而且,最优秀的产品,往往是实现了那些原本人们认为无法实现的诉求。
这样的态度,才有了一个持续进步的基础,下面说思路和方法。
优秀 的程序员和平庸的程序员,如果只看敲打代码的速度,我觉得是分不出来的,也许每人都可以一天写很多行代码,但是遇到问题后,平庸的程序员的解决效率,和优秀程序员相比就会有天壤之别。 所谓解决效率,不外乎对bug的分析、定位,以及 思考。
最基本的一条,看执行日志,看各种日志,web server的日志,数据库 的日志,慢查询日志,binlog日志,php的错误日志,等等等等,线上出问题瞎猜连日志都不看的大有人在。看日志不仔细不完整的也大有人在,你能去认真研究日志已经超越很多人了。
第二条,模块测试和断点分析,程序员一个坏习惯就是上来就写很大一坨代码然后再执行,不知道一个模块一个模块来写来测试,执行出了问题不知道设置断点,缩小范围逐步分析。断点分析非常简单,将整个代码中插几个中间输出,观察哪个环节出了问题,或者观察每个环节的系统开销,对调错和性能优化都非常重要,高手们大概认为这是ABC的东西,但是就这玩意我看到的大部分程序员都没有这个习惯。
第三条,错误信息 的理解和搜索,搜索引擎上有各种丰富的技术资料和技术问答,你所遇到的错误信息和错误提示,通常都能在网上搜索到,当然,搜索到后要结合你的场景认真思考,并理解透彻,而不是照猫画虎的去处理,否则可能这次运气好就蒙对了,下次运气不好又不知道怎么回事了。
第四条,不断总结归纳,对一个问题,一类问题,以及不同类型的问题,善于归纳整理,不断反思自己的问题,即便是不出bug的代码,你经过一段时间去回头看,也有很多思考不正确不合理的地方,有很多优化点,如果你觉得自己的代码一向牛逼,毫无破绽,那你一定是原地踏步,毫无进展。
关于 归纳总结,我说个案例
以前我们有个系统,请求量非常大,负载非常高,有个不错的技术经理来处理,他列了几个升级计划,都很靠谱,去执行了,效果非常好,然后我们跟进汇报的时候他来讲,做了几项升级,整体效果如何,然后我就批评了他。
我批评了什么呢?他是一起做的升级,然后一起观测的效果,那么这几个方案里,具体每个方案的实际效果怎样,对提升的帮助多大,他没有任何数据。所以对具体每个升级方案的价值和重要性,他没有任何概念。你正确的解决了问题,却没有认真的去归纳整理,你的收获是有限的。一起做升级不能说是错的,但是效果评估需要单独去做,而这个数据是非常有价值的,知识积累,不是你处理过的就一定有积累,而是整理过的。
大概就这些
最后重述一遍
什么是能力?
遇到问题的态度
处理问题的思路和方法
这就是能力
点赞的那么多,答谢各位,补充几条思路吧,是上面几个方法的具体扩充
补充1:善于提问,你能得到怎样的答案,取决于你提出怎样的问题。
你遇到问题,你应该知道,从哪里去问,去问什么。
我常见的一个测试题是这样的。
数据库目前挂了,我就是服务器,我不知道为什么挂了,你是一个优秀的分析师,现在我来做响应,你问我问题,你问一个问题,我回答一个指标,然后看你能不能定位问题。(当然,我会根据所假设的问题回答所有数据指标),比如你问我数据库连接数多少,问我系统i/o压力多少,或者问我慢查询日志里有什么,等等,善于提问的人就可以快速得到答案,而不善于提问的人,就会猜测一堆可能,最终却一无所获。
有个真实好玩的案例,有个兄弟公司(前段时间新闻出来,卖了好像十个亿的样子),开始的时候服务端数据库不够强壮,负载起来的时候会出现一些问题,就请我去把脉,我一看windows服务器,SQLserver (不要猜了,那是几年前,现在应该改了),我说这个我不会啊,然后人家那么热忱当我是专家,只好硬着头皮上,我连基本操作都不会怎么办,我就坐在那里问问题,开始他们说是不是这样,是不是那样,我说你们不要盲目下结论,你们要是知道结论就别来问我了,我问什么指标,什么日志你们就给我查什么,我就一样样的问,他们现场操作去查数据,我问一个他们查一个给我看,查着查着,他们的工程师说,知道原因了!果然和他们开始的假设完全不同。其实关键就是问问题的思路,他们一开始没有提出正确的问题。提出了正确的问题,他们很快自己就找到了原因。
补充2:善于划定范围,缩小问题区间。
前面提到的断点分析是一个非常常见的分析方法,但是很多场景,你甚至不知道是哪个程序出的问题,善于将问题范围化,也是一种归纳和分类的能力。
我曾在某个技术群出过一个经典测试,还记得以前微博上提到的一个经典面试题么。“从浏览器输入url到打开网页,中间经历了什么”,这是一个经典的综合认知的题目,基于这个题目,出一个更实战的场景测试是(这个场景其实90%的网站站长和游戏运营商都遇到过),”目前有用户反映网站或游戏卡,请问如何分析原因,以及当前优先级步骤。“。结果在这个群里,只有我徒弟说出了完全正确的答案(09年带过的)。优先级第一步是看在线用户数和当前访问数,对比历史,得到该问题目前的影响程度,来决定后续的优先级,以及减少分析范围。(这是意识问题)分析思路,分成三大块,前端,网络层,服务端。当然这三块可以继续延伸下去非常多细节,但是至少,能先把问题分成三大块,然后基于一些显见的分析方式快速排除其中几个部分,再逐步细化问题,而大部分人只是从一个局部去思考,讲了很多局部细节却没有完整的纲领,所以这就是差距。
先想到这些,咳咳。
转自知乎 曹政
② 帮我设计一句程序员的人生格言吧
学习,修养,毅力是成功的保证
③ 有关程序员的经典名言都有哪些
程序员是IT专业人才的代名词,他们往往沉迷电脑包不可自拔,甚至很多时候造成了忽视生活“返还原始社会"的现象,因此也被戏称”程序猿“很多时候,人们对于程序员的世界充满了好奇,那么,对于程序员来说有那些经典语录呢?
关于程序员的有关话题和程序员的段子还有更多呢,对于程序员而言他们更是出色的段子手啊!
④ 普通的程序员和大神级的程序员有什么区别
普通程序员没有编程思想,不懂得在工作中思考,工作十年也是个普通程序员,没有学习路线,不会用Git,命名不规范,结构不规范,不知道如何解决BUG,不会用搜索引擎,如果拥有科学上网的能力,可以使用搜索引擎进行搜索,效率更高,答案更准确。
⑤ 程序员界有什么经典的笑话
女神:你能让这个论坛的人都吵起来,我今晚就跟你走。
程序猿:PHP语言是最好的语言!
论坛炸锅了,各种吵架。
女神:服了你了,我们走吧,你想干啥都行。
程序猿:今天不行,我一定要说服他们,PHP语言是最好的语言。
完了,今天好像偏心了,只黑了PHP。。。
更多IT趣闻,可以关注智游教育官方微博!
⑥ 乔布斯的经典语录和名言有哪些
1、领袖和跟风者的区别就在于创新。
2、成为卓越的代名词,很多人并不能适合需要杰出素质的环境。
3、成就一番伟业的唯一途径就是热爱自己的事业。如果你还没能找到让自己热爱的事业,继续寻找,不要放弃。跟随自己的心,总有一天你会找到的。
4、并不是每个人都需要种植自己的粮食,也不是每个人都需要做自己穿的衣服,我们说着别人发明的语言,使用别人发明的数学…我们一直在使用别人的成果。使用人类的已有经验和知识来进行发明创造是一件很了不起的事情。
5、佛教中有一句话:初学者的心态;拥有初学者的心态是件了不起的事情。
6、我们认为看电视的时候,人的大脑基本停止工作,打开电脑的时候,大脑才开始运转。
7、我是我所知唯一一个在一年中失去2.5亿美元的人…这对我的成长很有帮助。
9、我愿意把我所有的科技去换取和苏格拉底相处的一个下午。
10、活着就是为了改变世界,难道还有其他原因吗?
11、你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
12、不要按照用户的坏习惯去设计,也不要按照程序员的思维去设计!
13、有好的想法要坚持,不要被其他人的观点的噪声掩盖你真正的内心的声音。当你的想法站不住时,立即大度的丢弃,这其实是更是一种坚持。
14、任何一款产品都不应该带着BUG去见用户,那怕失信于媒体推迟发布时间。
15、产品一定是让人感觉最新,但坚决不做小白鼠去尝试前无古人的新产品。
16、把标志画那么大干吗?苹果的产品要在任何时候都让人一眼认出是苹果的产品而非是苹果的标志。
17、比别人少用一条线获得更低的工艺成本,比别人提供多一种价值认同并获得更高的利润,这就是苹果。
18、所有的产品一定会离开苹果商店但不能离开苹果系统,我们要帮助客户持续使用苹果产品,直到寿终正寝。
20、让团队中那些说“不可能”的人感到实现不了是可耻的。
21、品牌不是打上苹果的标志就是苹果的品质,打上苹果的标志也需要信心和对客户的承诺。
22、不要为别人而活,也不要为今天的自己而活,把今天的工作做好了,明天自然属于你,薪水自然比别人高。
23、产品设计时的所有功能都是一个整体,不应该有任何理由去砍功能,破坏整体性。
24、领袖和跟风者的区别就在于创新,你的时间有限,所以不要像亚洲人那样,浪费在模仿别人这种事上。
25、团队中那些想用Keynote(苹果的PPT)来证明自己的人只能说明你不行,请拿出解决方案。
26、成为卓越的代名词并不是因为他有多么聪明,而在于他有多么勤劳。
27、东方佛学中有一句话:永远保持初学者的心态;拥有初学者的心态是件了不起的事情。
28、不要小看ipod上的一颗按钮,它和别人不一样的是我们做了21个方案、84000次测试、57次改进,用户的满意源于不必要的坚持。
⑦ 程序员面试自我介绍的经典范文
我的理解是:在这三分钟之内让对方知道你的特长,还有你的工作经历,还有做过哪些项目,以及参加过什么样的大型比赛!大多数都是在三分钟之内让对方(面试官)对你产生好感,如何让对方不熟悉不了解你的情况下对你产生好感,你要自我发挥了!从谈吐上面来讲,讲话时的语气、语速、语调、声音的大小,从眼神方面要给对方一种肯定,从着装方面要大方得体,对面试官问的问题要做到肯定回答,表现出你是位很爱交朋友的人,主要还是以一种充分的自信以及自我展示为主!
⑧ 陈安之经典语录
陈安之经典语录: 一. 过去不等于未来,没有失败,只有暂时停止成功. 二. 要成功,需要跟成功者在一起. 三. 每一分私下的努力,都会有倍增的回收,在公众面前被表扬出来. 四. 要成功,不要与马赛跑,要骑在马上,马上成功. 五. 要跟成功者有同样的结果,就必须采取同样的行动. 六. 成功就是简单的事情不断地重复做. 七. 成功者不是比你聪明,只是在最短的时间采取最大的行动. 八. 成功者,做别人不愿意做的事情,别人不敢做的事情,做不到的事情. 九. 只有全力以赴,梦想才能起飞. 十. 领导力不是训练人,是选对人. 名人评价 ---------------------------------------------------------------------------------------- “陈安之是最棒的炎黄子孙!” ---高安明(世界第一心理创富学大师) ---------------------------------------------------------------------------------------- “陈安之是世界第一推销员!” ---安东尼·罗宾(世界第一潜能大师) ---------------------------------------------------------------------------------------- “在我所参加过的研讨会中,陈安之是最好的。” ---赖兹(世界第一名行销大师) ---------------------------------------------------------------------------------------- “1到10级,我不能给他评10级。他得12级!” ---哈维·麦凯(世界第一人脉专家) ---------------------------------------------------------------------------------------- “在我过去35年里300万学生中,陈安之是最优秀的。” ---汤姆·霍普金斯(世界第一名销售冠军) ---------------------------------------------------------------------------------------- 国内媒体名人评论 “陈安之所讲的内容是最好的公益广告,顺应了中央提倡的科教兴国,以德治国的精神。” --- 中国国际电视总公司 总经理助理、中央电视台广告部主任 郑加强 “从来没有一张VCD能让我从头到尾连看两遍的!陈安之让我震撼了!” --- 香港凤凰卫视中文台 节目总监 黄东文 “陈安之的理论吻合了中国现今的大趋势,做他的栏目一定可以超过300家电视台播放!” --- 深圳电视台青春频道 台长 夏枫 “陈安之我们请了无数次,就是请不到,他为什么这么忙?” --- 湖南卫视 总制片人 杨晖 “陈安之是个不可思议的超人,做他的栏目一定能火起来!”