博文

职业:IT开发工程师的悲哀(转)(2006-04-14 01:41:00)

摘要:职业:IT开发工程师的悲哀
2006.04.12  来自:转载 LOVELUCK  
    恭喜,你选择开发工程师做为自已的职业
    
  悲哀,你选择开发工程师做为自已的职业   本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。
 
  当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你和我一样加入这个被其它人认为是风光无限的“白领”吧。
  
  如果你不是特别的与人世隔绝,我想你一定看过金老先生的名著《笑傲江湖》吧,里面有一门十分奇特的武功叫做"辟邪剑法",你看这个小说第一次看到这种功夫的练法时,我想你当时一定笑歪了牙“呵呵,真好玩!”,可是现在我很痛心的告诉你:你选择的开发工作就是你人生路上的"辟邪剑法",而你现在已经练了,并且无法再回头。
    
  相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年中你说的最多,不管是对自已的朋友们还是自已的爱人。   第二句最常说的话是对公司的领导:“不行我就走人!”,实际上你也真的走过几回。对了,在这几年中,因为你的经济条件不错,你开始买房、开始谈恋爱、结婚、开始有了自已的小孩。有时候你会对自已说再过两年就去买车。当然其中可能有许多大件是需要分期付款的,但你对前途充满了信心,你确信认为这种日子会永远的持续下去,即使不是变得更好的话。
  
  日子总是在这种平淡中一天天的过去,就在那么不经意间,你突然发现自已已经快30岁了,或者已经30了,莫名的,你心里会漫延着一种说不清楚的不安情绪,你好像觉得前途并非像前几年那样变得越来越好,你也忽然发现你以前所瞧不起的同学里好像已经有不少开着车的了,也有几个人住着比你还大的房子,好像房款还是一次付清的,你突然明白你现在的生活比起你的同学来最多是中游偏上了。   工作中最让你感到心里不舒服的是......

阅读全文(3957) | 评论:2

最好的开发人员是培养出来,而非买来的(转)(2006-04-14 01:39:00)

摘要:最好的开发人员是培养出来,而非买来的
2006.04.10  来自:zdnet.com.cn Robert L. Bogue  
    认真考虑一下,得到最有天赋的项目开发人员的最佳方法是培养,而非购买。   在阅读有关敏捷开发的材料时,我发现,无论是传统的软件开发技术,还是敏捷方法,都要高度依赖熟练的开发人员才能确保成功。这一事实让我触动。由于许多因素的影响,具有相似经历的开发人员的表现水平却相差很大,这点已为人们所接受;所以人们对优秀的开发人员比较关注也就不足为奇了。尽管如此,一个或一小群开发人员,利用“英雄模式”开发,通过他们的奉献精神与坚韧毅力,还是完成了许多开发工作。   很明显,我们需要优秀的开发人员。但问题是,到哪去找优秀的开发人员呢?   十几年来我一直参与招聘工作,我可以毫不迟疑地告诉你:有可能找到最优秀的开发人员,但是可能性不大。这不是一件容易的事,即使读完一千份简历,可能也只能找到一两个真正优秀的开发人员。   认真考虑一下,你会发现,只有通过培养,而不是购买,才能得到最优秀的开发人员。   什么造就最优秀的开发人员?   关于是什么造就最优秀的开发人员,大家持不同的看法。不管是敏捷还是传统的开发技巧都需要开发人员拥有稍异于人的东西。但是,无论开发人员应用哪种技巧,这都归结为一个词:思考。   位于Bloom认知技能教育目标分类最底层的是知识。即回想(或识别)数据与信息。应用在开发方面,这就意味着识别C#语法或回想出执行循环的正确语法。   位于认知分类最顶层的是综合与评估。综合指能够合成不同的因素以形成全新的解决方案。而评估是指对观念、方法或材料做出判断的能力。在工作过程中,开发人员需要不断地应用这些高层次的认知能力。   许多人认为,与描述认知过程的差异相比,将这一观念表达为思考更为自然。通常,对高层次的观念(例如如何综合片段来形成解决方案)所做的思考越多,开发人员就更优秀。   海底捞针   在完全放弃招聘(购买)最优秀的开发人员之前,我们先通过检验专业技能来了解一下招聘过程。我例行公事地对应聘开发职位的候选人进行了一次口头测试。由于我面试的大多数开发人员需要能够熟练地操作数据库,我问他们一个简单的问题:   给你一个带客户id域与名称的客户表,以及一个......

阅读全文(3487) | 评论:0

面试题(转,有些有点搞笑)(2006-04-14 01:37:00)

摘要:1.链表和数组的区别在哪里?
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?
4.请编写能直接实现strstr()函数功能的代码。
5.编写反转字符串的程序,要求优化速度、优化空间。
6.在链表里如何发现循环链接?
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。
8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
9.给出一个函数来输出一个字符串的所有排列。
10.请编写实现malloc()内存分配函数功能一样的代码。
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
12.怎样编写一个程序,把一个有序整数数组放到二叉树中?
13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
另外: 一、单项选择题:(共12题,每题2分,共24分) 1. 下面哪一个不是C++的标准数据类型?              ( ) A. int                              B. char C. bool                             D. re......

阅读全文(8069) | 评论:1

Google CEO的演讲(转)(2006-04-14 01:31:00)

摘要: Google CEO的演讲 2006.04.10  来自:kenwong 幻灭   Google CEO,当然就是Eric Schmidt。这位在“断背山2之Google爱情故事”里有出色表现而被幻灭授予“麦克风最佳配角”的Google掌门人,平时给人的印象的相当的低调。或者是因为Sergey Brin及Larry Page露面过于频繁,以至把Eric的风头都抢走了。不过低调可不等于沉默。昨天Eric在一个名为Economic Club的club里,面对一大堆聚集的人群,进行了一个相当有趣的演讲(via vcc)。演讲中提及了Google对世界的看法以及Google将来的计划等等。我将其中一些有趣的要点译一下,分享如下。

  1.“现代人的生活越来越分心以及多任务化。看看现在的小孩子在做作业的时候还一边用聊天软件闲聊、在电脑上看视频,还一边和朋友讲话,情况只会变得更糟。”——不知Eric家的娃是不是也这样?

  2.“对于商人而言,最重要最有用的东西就是人们的注意力。而吸引人们的注意力的最有效的方法就是投放有针对性的广告。因为人们总是能记起早上看过的报纸或电视里面的某些内容,但却往往想不起自己看过了什么广告。”——言下之意,Google的广告是最好的。

  3.“社区团体将会越来越是网络交互及营销的核心。”——这说明了Orkut的重要性被很多人忽略了,而当今如日中天的MySpace的潜力无限。

  4.“Google的所有决定都是通过小组全部成员同意的情况下作出的。通常一个三人小组就能爆发式地产生新创意。”——Google的创意?众人的智慧。

  5.“Google目前正在努力地开发自动翻译产品。这些产品将能把某种语言比如中文的内容自动转为世界各地的人都能明白的其它语言内容。”——不喜欢目前的“语言工具”?那就期待这个惊喜吧。

  6.“当今的世界正处于前所未有的开放,因此同时信息量也是无限大的,而Google在移动市场的核心将会是让所有的手持设备都能随时访问全世界的信息。”——再次证实了Google一直在无线市场方面的努力是非常重要的。

  7.“我们正处于一个新生的舞台。尽管全世界有超过10亿人上网,但还有50亿人......

阅读全文(3854) | 评论:0

评论:是什么让网络游戏如此与众不同? (转)(2006-04-14 01:27:00)

摘要:评论:是什么让网络游戏如此与众不同? 2006.04.13     【作者:韩彦林】
 
  学者们经常会来提出像本文题目那样的问题,呼吁大众提供资料。然而,当我们试着去做相关调查时,我们也会面临这样一个问题——许多问题是无法用简单的答案来回答的。正如这个题目,就不能用一两句话来说清楚。因为伴随着其他文化的发展,网络游戏也在不停的变化着:网络游戏的历史就是一个不断用新的方式使其更加引人入胜的过程。   这并不是说所有的游戏都很特别,如果是那样,我们也就不用在此费口舌了。正因为事实并非如此,所以还有很多东西值得我们去探讨。比如,国际游戏开发协会的的一件T-shirt上印有这样一句话:   游戏是一系列精彩选择的过程。   ——席德梅尔   席德的这句话回答了我们提出的问题,好的游戏要由一系列富有挑战性而又精彩的经历来生成。近年来,这已经成为游戏届公认的首要规则。从更深层次来说,具体分为以下几点:   1、不要使一种取向明显优越于其他所有的选择。   2、这些选择的吸引力应该有一定差异。   3、玩家必须能成功完成设定的选项。   现在让我们回想一系列游戏,从大金刚、文明到CS,这些游戏都设计了非常有趣的选择,并且这些选择都成了游戏的亮点。我们还可以回溯到更早的Tic-tac-toe游戏,当你的对手从棋盘中间出棋的时候,你就必须从角落出棋,否则,你将失去一个很好的取胜机会。而这一点恰恰解释了这个游戏为什么是儿童游戏的原因:在此游戏中,当你发现其规律后,就不再有任何乐趣了。这个小例子不仅说明了即使在非常简单的游戏中,精彩的选项也至关重要,而且也再次强调了我们早已熟知的一点:特定的游戏适合特定的人群。   然而,并不是说每一款游戏都是与精彩的选项携手共行的。像跳舞机和线条兔这样以音乐为主题的游戏,只需跟着节奏在跳舞毯上跳动或者在PS手柄上操纵正确的键位就可以了。实际上,这些游戏并没有融入有趣的选项,但是它却用音乐这种娱乐形式作了代替。所以说,并不是所有的游戏都需要精彩的选择。   席德梅尔可能认为,精彩的选择是一个好游戏最重要的保证。但是,仅仅这一点无法全面解释游戏吸引人的原因。   这些告诉我们游戏的发展和革新是由一些新的发现来实现的:这些发现便是使原本人们认为枯燥的东西变得有......

阅读全文(4086) | 评论:0

写给读者——初来者和迷惑者必读(2006-04-12 20:21:00)

摘要:      写给我编程爱好者空间(http://xiangyu.programfan.com) 的读者,虽然我没有做什么好事,但是仍然感谢他们长期的支持和鼓励        有网友说我的blog太乱,看来我有必要作一个介绍和说明。大家有什么好的建议、意见和要求请不遗余力告诉我,可以在下面的评论或者在留言板给我留言,我将十分感谢。 本空间转载了很多网上文章,如果侵犯到您的权益,将在第一时间内删除。文章仅为个人学习和娱乐,任何个人和媒体不得转载用作商业,否则后果自负
本空间的文章主要是转载的,原创的文章在我的MSN Space(http://spaces.msn.com/xiangyu138/)
内容主要有程序员的发展、工作学习经验、求职技巧经验和自己的学习体会,还有一些专业知识的总结,当然,还有娱乐
主要模块的介绍
1.程序人生:自己的学习和生活体会,原创文章
2.学习生活启示:转载文章,主要是别人的学习和生活体验, 还有具体专业知识的学习经验。这里面的文章很杂,但是这个blog的精华也尽在其中
3.书评※书荐:其实就是书籍介绍了,主要文章来自《程序员》杂志,当然也包括网友的推荐还有自己的体会
4.算法、数据结构:以后的文章趋势将是某些高效算法的整理还有某类问题的算法解决
5.C/C++/Windows编程:这个就是具体的专业知识了,其实也会包括linux下的编程甚至Java
6.C语言程序百例:转载的,里面的程序有很多没有仔细去研究,感觉大部分都比较容易,如果网友有什么问题可以提出来,只是比较复杂的程序我可能没有时间去调试,那我可能会给出一定的思路或者建议。当然,也可以到论坛上去讨论
文章推荐
1.初学编程者:《计算机编程语言的入门学习》(2006.4.27更新)(http://blog.programfan.com/article.asp?id=1651),我写的文章,有一定的局限性,打算更新,因为比较忙,具体的时间还没有确定

2.定位学习方向:定位学习方向的关键是认清各个方向的学习内容和工作内容之间的区别。
《C++、Java......

阅读全文(15615) | 评论:0

我的心声:让程序员成为正常人(转)(2006-04-12 14:04:00)

摘要:我的心声:让程序员成为正常人(转)
2006.03.06  来自:博客园      程序员不是正常人吗?这一定是你看到标题想到的第一个问题。我的回答是,从事程序员这个行业的人确实在有些地方和正常人不一样。“与正常人不一样”和“不是正常人”不是一个概念。就好像“不健康心理”和“心理不健康”不是同一个概念一样。   我本身就是程序员,我写本文没有恶意,我只是希望程序员生活的更好。   Just Relax,看个笑话。   《网虫的几个特征》    - 不说去上厕所,而说去下载。
   - 当你在杂志或电视上看到www时,心跳会急剧加速,有一种想去点击的冲动。
   - 当你从自己的房间里出来时,发现父母已经离婚了,而你却不知道什么时候离的。
   - 家里的狗和猫都有自己的网页。
   - 家庭作业都写成了HTML码,交给老师的只是URL.
   - 填表格时总是习惯把在聊天时用的名字填上去。
   - 半夜3点起床去上厕所,半路又折回来检查一下有没有新的邮件。
   - 女朋友定出新规定:计算机不许带上床。
   - 女朋友说交流很重要,所以你又买了一台计算机以便两人能上网聊天。
   - 你给孩子起名为雅虎,联众……。
   - 写文章碰上句号时自动在后面加上com。
   - 在信封上写的地址是:MYNAME@hotmail.com   这是个5年前的老笑话了,但是,不瞒大家,短短几年,笑话已经在我的身上成为了现实:    见到带下划线的就想用鼠标点击;
   同样的文字写了两遍就想用Ctrl+C Ctrl+V;
   不停的检查邮件;
   把东西碰倒想按Ctrl+Z
   想写中文的时候,却发现写的是拼音;   诸如此类等等……   以上这些还可以当作饭后谈资,调侃素材,一笑了之。但有些问题就不能忽视了:    颈椎病,
   肩膀疼,
   鼠标腕,
   眼睛发涩,
   白发早生。   还有更可怕的:    书架上只有电脑书,除了技术和女朋友没有共同语言;
   天天加班,没时间陪女朋友逛街,旅游,看电影;
   除了U盘,鼠标,摄像头,不知道......

阅读全文(15003) | 评论:11

35岁之前成功12条法则 (转)(2006-04-12 14:01:00)

摘要:35岁之前成功12条法则 2006.03.20  来自:Donews         一:一个目标 一艘没有航行目标的船,任何方向的风都是逆风 1、你为什么是穷人,第一点就是你没有立下成为富人的目标 2、你的人生核心目标是什么? 杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。 3、起跑领先一步,人生领先一大步:成功从选定目标开始 4、贾金斯式的人永远不会成功 为什么大多数人没有成功?真正能完成自己计划的人只有5%,大多数人不是将自己的目标舍弃,就是沦为缺乏行动的空想 5、如果你想在35岁以前成功,你一定在25至30岁之间确立好你的人生目标 6、每日、每月、每年都要问自己:我是否达到了自己定下的目标   二:两个成功基点 站好位置,调正心态,努力冲刺,35岁以前成功 (一)人生定位 1、人怕入错行:你的核心竞争力是什么? 2、成功者找方法,失败者找借口 3、从三百六十行中选择你的最爱 人人都可以创业,但却不是人人都能创业成功 4、寻找自己的黄金宝地 (二)永恒的真理:心态决定命运,35岁以前的心态决定你一生的命运 1、不满现状的人才能成为富翁 2、敢于梦想,勇于梦想,这个世界永远属于追梦的人 3、 35岁以前不要怕,35岁以后不要悔 4、出身贫民,并非一辈子是贫民,只要你永远保持那颗进取的心。中国成功人士大多来自小地方 5、做一个积极的思维者 6、不要败给悲观的自己 有的人比你富有一千倍,他们也会比你聪明一千倍么?不会,他们只是年轻时心气比你高一千倍。 人生的好多次失败,最后并不是败给别人,而是败给了悲观的自己。 7、成功者不过是爬起来比倒下去多一次 8、宁可去碰壁,也不要在家里面壁 克服你的失败、消极的心态 (1)找个地方喝点酒 (2)找个迪厅跳跳舞 (3)找帮朋友侃侃山 (4)积极行动起来   三:三大技巧 1、管理时间:你的时间在哪里,你的成就就在哪里。 把一小时看成60分钟的人,比看作一小时的人多60倍 2、你不理财,财不理你 3、自我管理,游刃有余 (1)创业不怕本小,脑子一定要好 (2)可以开家特色......

阅读全文(4020) | 评论:0

职场:迈过职业生涯中的5个坎 (转)(2006-04-12 13:59:00)

摘要:职场:迈过职业生涯中的5个坎 2006.04.04  来自:北京人才市场报             职业管理顾问张会亭认为,一个人的职业生涯发展可分作五个阶段,把握住每个阶段可能出现的问题,提前规划,才能让自己掌握主动权。   第一坎:“青黄不接”阶段   张会亭认为,工作1-3年是职业生涯最“青黄不接”的阶段:你既不像毕业生那么“单
 
纯”,又不像有四五年资历的那样能“独当一面”,正处于“一瓶不满,半瓶晃荡”的状态,那么这时候你如果跳槽找工作,其难度可想而知。   这个阶段的主要疑问是:“我是谁?”“我能做什么?”迷茫的主要原因是缺乏自信和社会经验。张会亭的忠告是,这段时间最好不要轻易跳槽,相反,如果这段时间你较为“安静”,你往往能够积累到你一生中第一次“从学习迈向工作”时段内宝贵的工作技能和坦然的就业心态,许多人“爱跳槽”的毛病往往都是从这个阶段“稳不住窝”开始养成的。   第二坎:“职业塑造”阶段   张会亭说,工作3-5年后,你就会逐渐步入“职业塑造”阶段,逐渐熟悉组织文化,了解组织内情,建立初步的人际关系网,经过一段时期后,你的“职业性格特点”就暴露出来了:哪些是你特长的地方,而哪些又是你不足的地方,于是你开始进入“职业塑造”阶段,对职业方向进行合理调整和矫正。   那么,怎样来进行“合理的调整与矫正”呢?张会亭建议,不妨在你工作的相关领域先适当地改换一下工作方式,比如在同一个公司内部的不同部门适当进行换岗,这样不仅能开拓视野,增添新鲜感,还能测试出你究竟最适合做什么工种。如果发现你的性格和特长与现有工作偏差太大,那么一定要当机立断马上改行,这时候千万不要贪恋现有工作薪水有多高,环境有多好。   第三坎:“职业锁定”阶段   工作5-10年,随着你对自身优劣势及性格特点的日渐清晰和不断的实践锻炼,你渐渐由“职业塑造阶段”走向了“职业锁定阶段”,开始认定“你是干哪一行的”了。   在这个阶段,有的人积累了比较丰富的经验,承担起工作的责任,发挥并发展自己的能力,为提升或进入其它职业领域打基础;有的人会产生新的疑问:“为什么这么多年来我一事无成?”“理想和现实不相符,我是不是需要......

阅读全文(3199) | 评论:0

百度首席架构师揭密:算法是百度工程师的利器(来自《程序员》杂志)(2006-04-12 13:57:00)

摘要:百度首席架构师揭密:算法是百度工程师的利器 2006.04.06  来自:《程序员》杂志 周利民     “工欲善其事,必先利其器”,对于百度工程师来说,算法就是他们解决难题的利器。

  为什么这么说?因为百度搜索引擎研发的各个环节都离不开算法。我们需要快速,准确、实用、创新和不断改进的算法来满足用户的需求。
 
  百度面对的是海量的互联网数据,以及每天上亿次的检索请求。它要求百度能够收录和索引超过10亿的中文网页,并提供快速的检索服务。这只有高效率的算法才能完成。

  百度招聘的工程师在加入公司后,有一道入门练习题,就是编写一个数据扫描分析程序,要求写出的程序能在1分钟之内扫描分析完千万量级的数据,才算及格。高水平的程序员可以利用高效的算法在10秒以内解决问题,甚至只要六七秒。但如果没用对算法,花一星期的时间,也做不到1分钟之内。

  大家可以设想一下,百度有十亿以上的网页,如果要在一周甚至三天内处理一遍,平均每秒处理要多少个?每天1亿次的检索又意味着峰值时每秒要处理多少次检索?事实上,针对一个问题,我们可以想出很多的算法,但如果效率不高,是无法真正投入使用的。
  
  Web搜索引擎是一个很新的研究领域,因为从它诞生到现在不过10年左右的时间。学术界IR(Information Retrieval)领域的研究为搜索引擎提供了不少算法方面的理论基础模型,但这些理论距构建一个好的Web搜索引擎还有很大一段距离。这需要我们探索和开发很多新的算法及系统。实际上,百度搜索引擎中的很多算法都极具创新性,而且都是基于实际应用的需求。这是和学术界研究工作的一个较大差异。学术界的算法研究主要是为了解决某个学术方面的问题,不是太关注实用性,以及效率。
  
  举个例子来说,在传统的中文分词算法研究中,学术界最关注的是能达到多高的准确率,但对算法的运行速度上考虑的相对较少。可在百度,如果使用的分词算法速度太慢,就根本无法应用。此外,百度面对的是Web上的大量数据,大部分传统的IR算法都会遇到信息爆炸的问题,我们需要想出很多新的方法来解决这些问题。这对我们的工程师的算法提出了很高的要求。
 
  Web上的数据是不断变化的,用户......

阅读全文(14280) | 评论:0