我拒绝参加你们的技术面试 我十分不擅长对付技术面试。就我参加过的几十次来说,我甚至连一次都没有通过。一般来说,过程是这样的:因为一次偶然的联系,一个经理或一个招募者突如其来的给我打来电话。之后,我与招聘经理进行一次电话约谈,一般以对方非常满意结束。最后,我当场(现在一般是线上)与技术人员们深入讨论技术细节,之后被淘汰掉。
有时,他们提出的问题我根本不了解。其他时候,我甚至对自己非常熟悉的话题也哑口无言。(有一次我竟然连我最爱的电子游戏的名字都说不上来。)我常常在一些逻辑问题上表现的很差。我真正得到的工作,每一个都是因为有朋友帮忙。
好些年我都生活在害怕面试的阴影中,因为我认为我不会成功。但同时,我知道我自己其实是一个非常优秀的开发者。我总是团队的核心,常常一个人搞定大型项目,并且能够成功胜任领导者的位置。
每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。
在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。
如何开发不可维护的软件? 我从别人遗留的的技术性债务中获得报酬。在我的日常工作中,我见到了很多难以维护的代码,并且我一次次地看到了很多相似的并可以避免的问题。
我专门从事调试、修改、维护、扩展遗留软件系统这类工作,我的典型客户一般都有一个或多或少可以运行的网站或者软件,但是其开发者都因为各种原因不 再维护了,因为商业需求改变导致软件无法跟上需求;或者我的客户有一些“几乎快要完成”的软件,但是因为预算用光或者计划有变与开发者分道扬镳。通常这种 软件会缺少一系列的功能并有一坨bug。
我那些客户通常被其他程序员告知,需要废弃已有的所有代码从头开始。大部分程序员不喜欢维护代码,尤其不喜欢维护别人开发的代码。当程序员写代码 时,当他们谈论到可维护性时,程序员经常会问一些错误的问题——想了解这种情况是如何发生的,请参看Matt Duvall的文章《可维护性的神话 | The myth of maintainability》。
以下是一些你可以在你自己的软件工程中做的“好”事,因为这些事可以帮我找到活干。
一位程序员从业余项目被收购中所学到的 
我在2012年5月开始的Asterank这个项目。那周的早些时候,Planetary Resources(行星资源公司)宣布他们计划从小行星开采水和有价值的原料。和其他人一样,我被激起了好奇心。这是一个鼓舞人心、难以实现的长期愿景。
我的项目作为一个想法的实验而开始:有多少小行星是真正值得的探索?媒体发布的消息是粗略估计且没有科学根据的。没有人对小行星的含量和价值进行有条理的编录。所以在一个无所事事的周末下午,我在山景城商业区的一间咖啡厅写了第一个版本。
理解JavaScript中的Event Loop 
Event Loop 是一个很重要的概念,指的是计算机系统的一种运行机制。
JavaScript语言就采用这种机制,来解决单线程运行带来的一些问题。
为什么开发者不喜欢市场人员的 8 个理由 你曾经对开发人员与市场人员之间的敌对状态感到过困惑吗?我们困惑过!所以我们决定问一问到底是什么让市场人员把开发人员弄得这么生气。
就本质来说,开发人员和市场人员是内在不同的。在产品的开发与其市场策略之间总是有所隔阂,特别是在软件领域更是如此。
我们给开发人员机会去发泄他们对那些麻烦的市场骄儿的不满。令人期待的是,一种相互的理解能有效增长……并由此避免相互争斗。
1.干扰中断
没有人喜欢被打断!当我们忙于某个事情的进展,广告和emails带来的影响与市场人员所期望的正好相反。所有这些噪音只会使开发人员生气。
优酷期权缩水全回顾:解禁前增发 土豆分蛋糕 曾经股票期权是他们offer中的重要部分,曾经他们期望能同公司一起成长,曾经他们期望期权能给他们带来房子、车子,然而他们发现理想很丰满,现实很骨感。
看看优酷的股票期权是怎么缩水的:
2010年11月15日,优酷向SEC提交IPO申请,从F-1文件上,优酷同学们(优酷内部一直互称同学)发现了两个数字,他们的老大Vkoo占股41.48%,经过6轮融资的Vkoo依然占股41.48%,不愧是资本运作的高手,而当时号称“一人一口”的优酷,的确每人都享有期权,不过按照每人10万股期权(当然这是个严重被夸大的数字,这个数字相当于优酷总监级水平)、500名员工计算,员工通过期权持有的公司股份仅占6.56%。且18个普通股才能兑换1股真正可以交易的股票。这也许是同学们的第一次失落。
程序员必看的十大电影 
不同的行业领域中很多时候都分享着共同的思想和理念。比如,大量的计算机编程中涉及到的概念都被运用到了电影里。有些概念出现在电影里后变得如此之 酷,甚至反过来能帮助我们程序员更好的理解这些概念。下面就是我最喜欢的10大电影,它们都在某方便帮助了我理解编程中的某些概念。
程序员的困境 最近我为一个内核程序员的职位面试了十几个候选人。这些候选人都来自一些不错的大公司,这些公司在芯片或嵌入式操作系统领域十分有名。这些候选人大多声称自己在内核方面有着十年的在职工作经验。他们的简历看起来非常耀眼——各种相关的项目、术语和奖项……
但他们几乎无人能够回答一个非常基础的问题: 当我们调用标准的 malloc 函数时,内核中会发生什么?
我不知道其它国家是否也有类似的情况,但在中国,或者更具体一些,在北京,这就是现状。那些在不错的大公司里工作了多年的“资深”程序员们无法在一些简单的、基本的问题上证明自己。
通过javascript把图片转化为字符画 
作者利用HTML5技术 通过javascript把图片转化为字符画, 很有意思的一个技术, 流程如下:
1.获取上传图片对象数据
2.获取图像对象像素点
3.根据rgb值计算灰度
4.根据灰度生成相应字符