一道关于链表的面试题

Posted by 冰河 at 10:43 6 Responses » 12,189 Views
242011

在公司的时候无意中听到的,据说技术面的时候屡试不爽。题目如下:

一个单向链表,不知道head指针,只有当前节点的指针current,如何删除当前节点?

一般对链表的操作都要从head指针开始,操作当前节点必须有previous指针。这个题目需要独辟蹊跷:

解法:以删除next节点的方法变相删除current节点。具体做法就是将next节点的数据拷贝到current节点,删除next节点,即将current节点的next指针指向next节点的next节点。

问题:
1)如果current节点是tail节点,这种方法就不好使了。
2)如果其他地方有对next节点的引用,该引用会出现错误(不同语言可能情况不一样,比如java和c++)。

没了。。。

152011

今天无意中看到《程序员三大法则》,很搞笑:

第一法则

程序员不得损害产品质量,或袖手旁观产品质量受到损害。

第二法则

程序员必须服从产品经理的命令,除非违背第一法则。

第三法则

程序员必须保护自己,除非违背第一和第二法则。

据说还有一条繁殖定律:

繁殖定律

程序员不得参与程序员的孕育和培养,除非新程序员的行动符合以上三大法则。

Continue reading »

十二 082010

编者按:原文作者Jenkov就是那位丹麦的资深Java开发人员,从事软件开发已有十多年。除了常有读者咨询他《如何成为一位专家级的开发人员?》之外,“怎么才能成为一名Java自由开发人员?”也是他收件箱中另一个常收到的问题。

自由职业者的工作是什么?

不知你是否知道,我是一名自由职业的Java开发人员,这意味着我从事咨询工作。我从2000年开始从事这份工作,它占了我职业生涯的大部分时间。我多数是在为大公司、软件公司、银行和运输公司等客户工作。

我每次参与的项目会持续3到12个月。在那段时间内,我出现在客户的办公室里,就像他们自己的员工一样。一些项目是构建新的应用程序,其他的则是为现有的应用程序添加一些功能。

我参与开发的许多应用程序都是内部应用,由客户的员工本身或者客户的客户使用。这些应用程序中,很多网络应用程序是利用Java servlets和JSP等构建的,或者是使用独立的服务端服务。客户还从未要求过我去开发任何图形界面程序。

以我的经验,自由职业者很少受雇开发Facebook那样的产品。公司倾向于用正式员工进行此类产品的开发。

公司为什么雇佣自由开发人员?

当大公司要在一定期限内开发一个项目,而他们又没有足够人手的时候,他们就不时地在外面雇佣顾问。这些公司在一定时期内雇佣顾问,然后等到项目结束时或者或任务不那么紧迫的时候就把他们炒掉。

如此一来,大公司就可以很容易并快速地雇佣和解雇开发人员,而又不必顾虑雇员会在合同到期时有所不满。

通常当新项目需要额外人手的时候,公司会再次雇佣同一个顾问,因此客户对顾问的个性和技能已有所了解。再就是客户不必就流程、开发工具和硬件设置等问题上再次对顾问进行培训。

怎样成为一名自由职业者?

正常来说自由职业者要通过咨询机构来找活干。咨询机构会和客户保持联系。

大客户不愿意直接和无数的自由职业者联系,也不愿意和他们每一个人单独谈薪水等问题。当额外需要人手的时候,客户只需和咨询机构谈即可。并且,如果你违约,提前解除了合同,咨询机构还能快速帮客户找到其他开发员。

所以,找到当地雇佣自由职业者的咨询机构,和他们保持联系。如此一来,你已进入他们的人才库。

做自由职业者有什么要求?

在接受你之前,大多数的咨询机构要求你至少有5年的开发经验。我很幸运,在干过1年网络开发和1年Java咨询工作后,我就进入了自由职业这一行,成 为一 家咨询机构的正式员工。只用两年,这之所以成为可能是因为2000年的互联网泡沫。当时每个人都在雇佣开发人员,因此市场不像今天这么不景气。

自由职业者的薪水如何?

在丹麦,顾问的薪水的一般都是正式员工的1.5到2倍。薪水的高低和技术水平以及教育背景有很大关系。在一些特殊的领域薪水可能更高,在一些大众化的领域(比如PHP),薪水要低些。

为什么要从事自由职业?

我喜欢从事自由职业这一行,因为恰如其名,相比正式员工,我自由了很多。

首先,我不用在同一个地方年复一年的工作。并不是在所有的公司工作都那么有激情。作为一名自由职业者,我可以到处走走,甚至是在一段时间后再回到一个公司工作。

其次,我可以选择性工作。这意味着我可以更好地控制我的职业生涯方向。当然并非总可以控制方向,但有时候的确可以。至少当一个项目与你的方向相差甚远时,你可以拒绝。

第三,高薪水允许我抽出一部分时间去旅游,或者开发我自己的小软件项目,又或者写写文章,比如这篇文章。 Continue reading »

程序员成功的秘诀

Posted by 冰河 at 14:00 15 Responses » 13,344 Views
十一 292010

你阅读这篇文章是因为你想去发现程序员成功的秘诀。如果你只关心秘诀本身,那么直接向下滚动到页面的底部,秘诀就在那。
如果你仍在继续阅读本文,那么我会给你解释为什么程序员成功会有秘诀。

Continue reading »

让爱编译通过

一位热衷于编程的程序员,一位爱上了程序员的女孩,他们的故事终于要迎来大结局了,让人心酸的是,这一集《让爱编译通过》一开始美女就说:“妈妈说你什么都好,就不该是个程序员”,看来做开发的同学都要肉牛满面了。

为爱Debug

当爱有了Bug……怎么办?If 你还像以前那样能解码我的心情;If 你知道女人需要偶尔的甜言蜜语,而不是C语言;If 你依旧认为我比代码重要;我们的爱,你能Debug吗?

幸福也需要敏捷

继《让我做你下一行code》和《让爱延长》之后,这个程序员与他漂亮女朋友的故事继续发展,继续观看本集《幸福也需要敏捷》。

让爱延长

继《想做你的Code》之后,微软给我们送上了第二部 VisualStudio 2010 视频。一个热衷于写代码的程序员,一个热衷于程序员的漂亮MM,又发生了怎样的故事呢?请继续观看《让爱延长》。

想做你的Code

献给寂寞的程序员同志们,微软的YY广告大片《想做你的Code》!写code是他的快乐,看他写code成了我的快乐,喜欢他的认真,却不想他总给自己找压力……如果可能,我来做你的下一行code,好不好?

© 2009 - 2018 冰河的博客