每天更新最新的资源,请记住我们的网站:www.520yanqin.cn 

2016.11.4 广告位置出租

「程序员笑话知乎」知乎上有哪些有趣的程序员

作者:东东笑话网2021-03-15 05:20类型:爆笑男女笑话 已有127人围观 点击提交给百度收录

知乎上有哪些有趣的程序员

知乎上那个程序员winter是谁

winter,本名程劭非,花名寒泉,前端工程师,JavaScript 专家。江湖人称“计算机之子”。先后在微软,盛大,阿里巴巴工作,目前是手机淘宝前端 leader。 winter 出生于 1985 年10月24日。母亲年轻时曾用机器码,打孔纸带写程序。因受家庭影响,winter 从小喜欢计算机,高中时在文曲星上编写小游戏。2004年进入哈尔滨工程大学。大学时代参加 ACM/ICPC 比赛,获得过黑龙江省赛一等奖,东北四省赛一等奖。从大二开始学习 Web 前端开发。winter 接触前端是因为当初混黑白棋社区,给黑白棋界面写插件,后来又混 51js 社区。他曾经看到周爱民老师的文章,觉得不服,于是与其讨论,很有收获。后来又被月影拉进一个群,认识不少人,学到不少东西。毕业时拿到百度和微软的 offer。那一年,腾讯给出的月薪是 7k,百度是 9k,而微软是 13k,winter 最终加入微软亚洲工程院。7 年后的 2015年,对于普通应届生,阿里给出的是 13k,百度给出的是 14k。由此可以看出,winter 本科毕业时已然实力超群。由于是校内第一个拿到微软 offer 的学生,哈尔滨工程大学还对其进行了专访。winter 在微软主要从事 Windows CE上的 IE 浏览器开发。2010年开始在盛大创新院做电子书和基于Web的操作系统,认识了老赵等人。当时霍炬(virushuo),郝培强(tinyfool),余晟也在盛大创新院。2011年时,大城小胖也来到盛大创新院,他说winter 虽然比他小5岁,但却教会了他很多。winter 老师毕业三年后,月工资达到了 25k。2012年12月加入阿里,在无线事业部前端团队工作。伴随着阿里的上市,winter 老师的身家想必水涨船高。 winter 老师虽然平时插科打诨,没个正经,但是一谈到技术问题,就变得认真严肃起来。 在技术方面,winter 老师非常注重基础。他想起当年他在 51js 认识的那些人,基础好的几年之后都立于行业顶点,而只知道“顺应潮流”的已经泯然众人。对编译原理,winter 老师开始觉得相对其它知识,编译原理不是那么重要,但是后来发现,除了微软系的语言,其它语言想要透彻的了解,都需要阅读给开发者用的语言标准。winter 老师自己也研习过龙书,但是觉得龙书过于学术。另外,winter 老师对算法,标准等也非常重视,他觉得当一个程序员对算法、语言标准、底层、原生、英文文档这些词汇产生恐惧感的时候他的技术生命已经走到尽头。winter 老师推荐过《程序设计实践》这本书,他认为这本书可以让一个掌握一门编程语言基础的人成为一个合格的程序员。另外,身为 JavaScript 专家,winter 老师当年学 JavaScript 的时候,每次从图书馆借五本书,然后根据实际经验选择靠谱的细读,winter 老师提到此事时说道,对于一个新手而言,不崇拜,不盲信,保持怀疑精神是很重要的。另外,对于框架和库,winter 老师也有自己的看法:库/框架都不应该致力于解决用户15分钟之内可以搞定的事情;库/框架的命名应该如同文档,见文知意,且与原生的类库风格统一;库/框架的API应该职责单一、与命名相匹配;库/框架应当可拆可合,粒度适中。 在工程方面,winter 老师认为工程当是布道、技术方案、落地业务三者一体,任何一环没做好,实施都会变成失败的工程实践。而工程师的核心竞争力是工程能力,工程是承认现实和追求可行性的,工程高手懂得在不同的环境下使用不同的工程手段来提高价值转化,逐步建立理想的组织结构和实施流程。然而,现实总是比理想骨感太多。网上到处吵着MVC、架构内聚耦合,而最需要解决的问题却是代码发布、版本管理、依赖关系和复用。开发工作量往往不在实现功能,而是每次上线的冗长流程和心理压力。从学会技术到工程实施,犹如万里长征迈出第一步。 在人才选拔方面,winter 老师认为,简历应该多看经历、作品,而面试则应多考察基础知识和实际编码,可以出一些覆盖知识点范围很大的题目,例如常用的HTML标签、CSS属性、CSS选择器,并简述它们的特性和使用场景。另外,面试过程中,重要的是面试官如何跟应聘者讨论题目,如何根据回答情况灵活决策后续问题和沟通方式,以及对面试者回答的评判方式。而工程师的能力,主要体现在三个方面,算法能力解决单点问题,架构能力应对代码规模,工程能力则负责人的协同和前两者能力的沉淀。根据 winter 老师的经验,面试挂掉的人,主要有三类:第一,是恐惧,不敢看标准,不敢学算法,不敢参与社区等等。第二,是封闭,在小圈子,自己觉得自己很强,没交流,闷头做不看别人。第三,是安逸,能实现就不管原理,做管理了就懒得碰技术,老技术够用就不学新技术。 2015年五月底,winter 老师因不满知乎友善度判定,离开知乎,并在 GitHub 上建立 dog-fucked-zhihu 项目,用于备份自己的答案,取消所有点赞,批量替换所有答案。 工作以后,winter 老师还迷恋上了网络小说,后来去盛大工作,还给阅读网文的 bambook 写排版算法。winter 老师不但自己看,还将网络小说推荐给自己的父母,导致年轻时身为文艺女青年,看《莎士比亚全集》,《神曲》,《雪国》的母亲,开始看《凡人修仙传》,《斗破苍穹》等网络文学作品。而 winter 老师自己,最爱看的是《罗罗娜的异世之旅》。winter 老师还曾经面试过豌豆荚,结果被面试官评价为前端开发基础不过关,没有好好准备面试,不知道是否和 winter 老师看网文有关。不过看网文并不影响 winter 老师的薪资水平。知乎上有一个问题,“第一次将薪水告诉家人是什么体验”?winter 老师是这么回答的:“妈你来帮我看看这是几个零?”。

为什么程序员把程序代码写的那么复杂 知乎

一个优秀的程序员,代码永远都不会复杂化。当然,如果是作为才入门的或是还未入门的程序员,对熟手编写的程序也会感到十分吃力,所以造成理解上的"复杂"。编程风格四大规则:
    文档化节简化简单化模块化

程序员 知乎 到处都是程序为什么程序员还是没有钱 经典回复

程序员有很多不一定是高手,而且一般比较厉害的程序员不仅写代码厉害,而是那种综合能力都好的一类,才会有比较高的收入,否则只是代码民工,简称民工。厉害的那种,额,我也不知道。不过分析比尔盖茨,乔布斯,雷军等人,不难发现,有互联网思维的创业头脑很厉害。

没有学历的程序员怎么发展 知乎

没有学历,就要努力提高自己的技术水平了,现在社会还是比较注重能力的,如果技术高的话,就可以让人忽略学历的问题了。平时的时候也可以多看看书,就算没有学历,也要让自己的文化水平不低于有学历的人,那样一定会有好的发展的。

知乎上各种各样的笑话哈哈哈哈哈哈哈哈哈

历史短 约翰考“美国史”得了4分,他十分高兴。一到家,他把试卷送给爷爷看,想让他夸奖一番。 爷爷却说:“我上学的时候,历史可总是考5分啊!” 约翰满脸不高兴。他想了想,反驳道:“您上学的时候历史短啊!”

知乎上最牛的程序员是谁?

这个估计没人知道吧,与其想知道最牛的程序员是谁,不如通过自己的努力把自己变成那个比较牛的人。

什么才是程序员的核心竞争力 知乎

姚冬回答的非常好,我狗尾续貂的说几句。 我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长? 我之前微博说了一个笼统的概念,什么是能力? 对待问题的态度,以及处理问题的思路和方法。 先说态度 你服务器偶尔出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服务器,SQL server (不要猜了,那是几年前,现在应该改了),我说这个我不会啊,然后人家那么热忱当我是专家,只好硬着头皮上,我连基本操作都不会怎么办,我就坐在那里问问题,开始他们说是不是这样,是不是那样,我说你们不要盲目下结论,你们要是知道结论就别来问我了,我问什么指标,什么日志你们就给我查什么,我就一样样的问,他们现场操作去查数据,我问一个他们查一个给我看,查着查着,他们的工程师说,知道原因了!果然和他们开始的假设完全不同。 其实关键就是问问题的思路,他们一开始没有提出正确的问题。提出了正确的问题,他们很快自己就找到了原因。 补充2:善于划定范围,缩小问题区间。 前面提到的断点分析是一个非常常见的分析方法,但是很多场景,你甚至不知道是哪个程序出的问题,善于将问题范围化,也是一种归纳和分类的能力。 我曾在某个技术群出过一个经典测试,还记得以前微博上提到的一个经典面试题么。“从浏览器输入url到打开网页,中间经历了什么”,这是一个经典的综合认知的题目,基于这个题目,出一个更实战的场景测试是(这个场景其实90%的网站站长和游戏运营商都遇到过),”目前有用户反映网站或游戏卡,请问如何分析原因,以及当前优先级步骤。“。结果在这个群里,只有我徒弟说出了完全正确的答案(09年带过的)。优先级第一步是看在线用户数和当前访问数,对比历史,得到该问题目前的影响程度,来决定后续的优先级,以及减少分析范围。(这是意识问题) 分析思路,分成三大块,前端,网络层,服务端。当然这三块可以继续延伸下去非常多细节,但是至少,能先把问题分成三大块,然后基于一些显见的分析方式快速排除其中几个部分,再逐步细化问题,而大部分人只是从一个局部去思考,讲了很多局部细节却没有完整的纲领,所以这就是差距。 先想到这些,咳咳。 转自知乎 曹政

程序员往哪个方向发展比较好 知乎

取决于职业兴趣和自身能力。 程序员的大体方向分为4个,
    有管理的兴趣,可以走技术管理路线;只对技术有兴趣,向高级程序员或者架构师发展;对程序员不感兴趣,可以试试产品经理方向或者系统工程师方向;如果对IT业不感兴趣,找其它行业合伙做事。
非粘贴,希望有帮助。

逻辑思维不强还很粗心的人能当程序员么 知乎

我觉得不行,程序员要严谨,你粗心要是时不时的掉字母啥的,你的程序不得崩溃掉啊!!
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!