第一篇:Microsoft程序员测试题 (经典)
Microsoft程序员测试题(经典).txt年轻的时候拍下许多照片,摆在客厅给别人看;等到老了,才明白照片事拍给自己看的。当大部分的人都在关注你飞得高不高时,只有少部分人关心你飞得累不累,这就是友情!发信人: yanliwang(human), 信区: joke 标 题: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 13:15:59 2003), 本站(ytht.net)
最近大家在网站上看到不少Microsoft的测试题,引来不少的眼光。我在这里把所有的测试题加以整理,再附上自己的答案。(个别题目答案有多种,文本仅代表作者的思路,如有高见欢迎和我交流onefi@frontfree.net)每道题的后面会给出一个时间。这个时间是我做出该题所用的时间。(注意,这不是什么标准时间,我相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的)
一.最基本题型(说明:此类题型比较简单)
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)
2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟)
4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)
二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)
1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车?
3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?
5.多少个加油站才能满足中国的所有汽车? 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? 7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 8.你怎样将Excel的用法解释给你的奶奶听?
9.你怎样重新改进和设计一个ATM银行自动取款机?
10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始? 11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?
12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么?
13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路,那么答案马上就能出来。如果想不到思路,那么„„就别想解出来了。)
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费? 2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离?
3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。只称量一次,如何判断哪个罐子的药被污染了?
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
5.人民币为什么只有1、2、5、10的面值?
6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子,随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少?
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在半个小时之内做出答案。只能说明你的智力超常„„)
第一题.五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼 依此类推
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?
第二题.一道关于飞机加油的问题,已知: 每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:
为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况下。能让客户有最少的抱怨,公司有最少的损失。)
1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解决方案。
2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。
3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写信给李先生试图将钱要回来?
六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的人都将会被这些题所淘汰。)
1.链表和数组的区别在哪里?
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4.请编写能直接实现strstr()函数功能的代码。
5.编写反转字符串的程序,要求优化速度、优化空间。6.在链表里如何发现循环链接?
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
9.给出一个函数来输出一个字符串的所有排列。
10.请编写实现malloc()内存分配函数功能一样的代码。11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 218.197.200.186]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: charles][本篇星级: 1][评价人数: 13] 发信人: charles(你们的nick都那么长我的不长怎么办a怎么办), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 13:29:37 2003), 本站(ytht.net)
若干根
点燃1根两头 另一根的一头
两头的烧完点燃另一根的另一头
这样都烧完就有45min剩下30min好办了吧?
【 在 banshee(以后北大同学骂清华,绝不还口)的大作中提到: 】 : 具体一点吧,谢谢
: 【 在 GoodYoung(猪洋)的大作中提到: 】 : : 不就是两头一起烧么?
--我就是:水淹不化雷劈不穿火烧不动毒染不伤的坚定执行站中央灌水号召的Seraph
※ 来源:.一塌糊涂 BBS ytht.net.[FROM: 162.105.109.166]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: therock][本篇星级: 0][评价人数: 0] 发信人: therock(rock), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 13:52:17 2003), 本站(ytht.net)
那就是啊 题目没说清楚,怎么回答就看我怎么理解了,方法也就可以各种各样了
这种题目本身要得就不是正确答案,而是你答题时的逻辑是否清晰,反映是否快 【 在 GoodYoung(猪洋)的大作中提到: 】 : 不一定得呀。
: 【 在 therock(rock)的大作中提到: 】 : : 到底什么不均匀?
--※ 来源:.一塌糊涂 BBS ytht.net.[FROM: 162.105.42.59]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: 蓝耳朵][本篇星级: 2][评价人数: 1] 发信人: 蓝耳朵(蓝耳朵), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 16:17:35 2003), 本站(ytht.net)
一根从中间对折两半,先把一半两头烧,烧完了再把另一半两头烧,十五分钟不就出来了,1小时/4=15分钟--饱食终日 无所事事 象猪一样活着
※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 219.145.68.206]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: bbrr][本篇星级: 1][评价人数: 12] 发信人: bbrr(bri), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 17:13:08 2003), 本站(ytht.net)
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)~~~~一根两头一齐烧,同时烧另外一个,点一头,等到第一根烧完的时候,第二根两头点燃,=15min 答案应该就是这样的,hehe厉害~~
: 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)4 应该不是4。排列组合,公式我忘了。
: 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟)5->5-3=2,2->3,5->3 5 left 4 这是两种做法其中一种。
: 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)old „„ : 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)
给12个球都编好,分情况讨论,太复杂,所有球从1号至12号编号,称三次即可。不用分情况。是大二的作业题
: 6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)* * * *** * * * 厉害!我怎么想也没想出来 : 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)11,时钟走12圈,被追上11次 不会。但肯定不是11次。
--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 162.105.53.87]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: sot][本篇星级: 1][评价人数: 11] 发信人: sot(sot), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 18:38:34 2003), 本站(ytht.net)
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 此题大家都在讨论,而且也给出了正确答案啦。有四根绳子就可以啦。
2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻。4个
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个球没做出来。12个可以。
1、分成两部分,一部分4个,另一部分8个。2.8个球在天平上称
2.1.如果8个球平衡,则不同的球在4个球的一组中。2.1.1 4个球分两组,1个和3个。
2.1.2 从8个球中取一个,与那3个球一起称,无平衡,则单独的一个球为问题球。如不平衡,则要记住天平的倾斜的方向。再将在同一侧的两个球放到天平的两侧,如平衡,则.....2.2....就这思路吧。写起来太多啦。:-(7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)2
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路,那么答案马上就能出来。如果想不到思路,那么„„就别想解出来了。)
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
分成一段、两段、四段即可。
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离?
为北京与广州间距离的七分之六
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
先将两个开关接通,五分钟点后关掉其中一个,进门。其中一定有两盏灯是热的。
5.人民币为什么只有1、2、5、10的面值?
它们是组成任何数的最少的数字。其实10是另一个层次的1。即10分为1角。
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在半个小时之内做出答案。只能说明你的智力超常„„)
第一题.五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼 依此类推
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化? 32 34 34 0 0(不知道)
--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 202.204.224.140]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: marvinfly][本篇星级: 0][评价人数: 0] 发信人: marvinfly(marvin), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:10:17 2003), 本站(ytht.net)
第2个就是4,个人认为不用排列组合
拿出4个总有2个重的,你管他是哪个重了呢 排列组合是(1/3)*(1/3)根本在这里不适用 【 在 bbrr 的大作中提到: 】 : : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时): ~~~~一根两头一齐烧,同时烧另外一个,点一头,等到第一根烧完的时候,: 第二根两头点燃,=15min : 答案应该就是这样的,hehe厉害~~
: : 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟): 4 : 应该不是4。排列组合,公式我忘了。
: : 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟): 5->5-3=2,2->3,5->3 5 left 4 :(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 210.42.109.236] 喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: marvinfly][本篇星级: 1][评价人数: 2] 发信人: marvinfly(marvin), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:12:00 2003), 本站(ytht.net)
12个球和13个球在你看来是不一样么? 我认为13个只会比12个快
可能一次就ok了,要是运气好的话:)至多3次
【 在 bbrr 的大作中提到: 】 : : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时): ~~~~一根两头一齐烧,同时烧另外一个,点一头,等到第一根烧完的时候,: 第二根两头点燃,=15min : 答案应该就是这样的,hehe厉害~~
: : 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟): 4 : 应该不是4。排列组合,公式我忘了。
: : 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟): 5->5-3=2,2->3,5->3 5 left 4 :(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 210.42.109.236]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: marvinfly][本篇星级: 0][评价人数: 0] 发信人: marvinfly(marvin), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:16:30 2003), 本站(ytht.net)
一天24小时怎么也不可能只重合11次吧:)一个小时左右肯定能重合一次吧:)应该没有问题吧:)至少在2个间隔之间肯定有一次 但是12点除外:)
【 在 bbrr 的大作中提到: 】 : : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时): ~~~~一根两头一齐烧,同时烧另外一个,点一头,等到第一根烧完的时候,: 第二根两头点燃,=15min : 答案应该就是这样的,hehe厉害~~
: : 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟): 4 : 应该不是4。排列组合,公式我忘了。
: : 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟): 5->5-3=2,2->3,5->3 5 left 4 :(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 210.42.109.236]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: marvinfly][本篇星级: 2][评价人数: 1] 发信人: marvinfly(marvin), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:21:53 2003), 本站(ytht.net)
13个和12个有区别么?
你先拿出12个,6v6称一下的话要是平衡了,第13个就是没有称的那个不就是了 要是不平衡不就是12个的算法么 【 在 sot 的大作中提到: 】 : : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? : 此题大家都在讨论,而且也给出了正确答案啦。有四根绳子就可以啦。: : 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻。: 4个 : : 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。
: 13个球没做出来。12个可以。
:
1、分成两部分,一部分4个,另一部分8个。:(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 210.42.109.236]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: charles][本篇星级: 1][评价人数: 3] 发信人: charles(谁再o o(回车)O我就告他盗版!), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:33:07 2003), 本站(ytht.net)
超难题按照你的方法老大非死不可 因为。。大家看看下面就知道了 如果前面的都死了4和5分
4怎么都得死,5全部独吞,所以5是肯定每个人都反对的 所以4不可能让3死 然后3、4、5分
按照题意只要4同意3就不会死
那3就无论怎么分都不会死,显然这种情况3不会给4、5半个仔儿全部独吞,所以他对1、2的分法肯定都会不同意
然后考虑2、3、4、5分,因为3肯定反对,而由于如果3来分4肯定不会被分到东西所以2就给4一个就够让4赞成了
但是2和4赞成3、5反对不超过半数,可怜的2怎么分也是死,那么它不会让1死 哇哈哈现在就看1的了
他对2说“我死了你也得陪葬”,然后不给 对3和5说“我知道你们肯定不赞成”,也不给 然后扔给4一个宝石“我对你不错吧?” 124对35通过分配 老大得99个
【 在 sot(sot)的大作中提到: 】
1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 此题大家都在讨论,而且也给出了正确答案啦。有四根绳子就可以啦。
2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻。4个
5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个球没做出来。12个可以。
1、分成两部分,一部分4个,另一部分8个。2.8个球在天平上称
2.1.如果8个球平衡,则不同的球在4个球的一组中。2.1.1 4个球分两组,1个和3个。
2.1.2 从8个球中取一个,与那3个球一起称,无平衡,则单独的一个球为问题球。如不平衡,则要记住天平的倾斜的方向。再将在同一侧的两个球放到天平的两侧,如平衡,则.....2.2....就这思路吧。写起来太多啦。:-(7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)2
三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路,那么答案马上就能出来。如果想不到思路,那么„„就别想解出来了。)
1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?
分成一段、两段、四段即可。
2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。
.胛剩庵荒窆卜尚辛硕喑さ木嗬耄? 为北京与广州间距离的七分之六
4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?
先将两个开关接通,五分钟点后关掉其中一个,进门。其中一定有两盏灯是热的。
5.人民币为什么只有1、2、5、10的面值?
它们是组成任何数的最少的数字。其实10是另一个层次的1。即10分为1角。
四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在半个小时之内做出答案。只能说明你的智力超常„„)
第一题.五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼
如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼 依此类推
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化? 32 34 34 0 0(不知道)
--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 202.204.224.140]
--我就是:水淹不化雷劈不穿火烧不动毒染不伤的坚定执行站中央灌水号召的Seraph
※ 来源:.一塌糊涂 BBS ytht.net.[FROM: 162.105.109.166]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: lixiguang][本篇星级: 1][评价人数: 2] 发信人: lixiguang(李希光), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:41:11 2003), 本站(ytht.net)
这里面应该有几个前提,分到0个比死好,还有分到个数一样多的时候是赞成还是反对,这个都需要讨论的,前提很重要
【 在 charles 的大作中提到: 】 : 超难题按照你的方法老大非死不可 : 因为。。大家看看下面就知道了 : 如果前面的都死了4和5分
: 4怎么都得死,5全部独吞,所以5是肯定每个人都反对的 : 所以4不可能让3死 : 然后3、4、5分
: 按照题意只要4同意3就不会死 : 那3就无论怎么分都不会死,显然这种情况3不会给4、5半个仔儿全部独吞,所以他对1、2的分法肯定都会不同意
: 然后考虑2、3、4、5分,因为3肯定反对,而由于如果3来分4肯定不会被分到东西所以2就给4一个就够让4赞成了
: 但是2和4赞成3、5反对不超过半数,可怜的2怎么分也是死,那么它不会让1死 :(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 166.111.54.66] 喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: lixiguang][本篇星级: 1][评价人数: 3] 发信人: lixiguang(李希光), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:43:57 2003), 本站(ytht.net)
我的答案是98 1 0 1 0 我的前提是分到的个数一样多的时候还是反对,0个比死了好,因为2 可以给出方案0 100 0 0 活下来 【 在 charles 的大作中提到: 】 : 反正老大很好捞
: 【 在 lixiguang(李希光)的大作中提到: 】 : : 这里面应该有几个前提,: : 分到0个比死好,: : 还有分到个数一样多的时候是赞成还是反对,: : 这个都需要讨论的,: : 前提很重要
: :...................--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 166.111.54.66]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: charles][本篇星级: 0][评价人数: 0] 发信人: charles(谁再o o(回车)O我就告他盗版!), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 19:48:41 2003), 本站(ytht.net)
那1给他0个也可以啊 反正横竖都是0
我比较取向于坏人理论
也就是不能给我比我最后选择好的我就不会去选择你 【 在 lixiguang(李希光)的大作中提到: 】 : 4需要无条件同意,: 因为2 死了以后,: 3 一样只会给他0个
: 【 在 charles 的大作中提到: 】 : : 2活不下来 : : 因为给4同样是0,反对哦!
: : 【 在 lixiguang(李希光)的大作中提到: 】 :...................--我就是:水淹不化雷劈不穿火烧不动毒染不伤的坚定执行站中央灌水号召的Seraph
※ 来源:.一塌糊涂 BBS ytht.net.[FROM: 162.105.109.166]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: canwolf][本篇星级: 0][评价人数: 0] 发信人: canwolf(can_wolf), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 20:11:18 2003), 本站(ytht.net)
我听说还有一个:十个字母按照某种规则组成一个序列,前七个是o t t f f s s,尝试着猜出后三个。这应该属于只要知道思路马上能说答案的那类型!【 在 yanliwang 的大作中提到: 】 : : : : 最近大家在网站上看到不少Microsoft的测试题,引来不少的眼光。我在这里把所有的测试题加以整理,再附上自己的答案。(个别题目答案有多种,文本仅代表作者的思路,如有高见欢迎和我交流onefi@frontfree.net)每道题的后面会给出一个时间。这个时间是我做出该题所用的时间。(注意,这不是什么标准时间,我相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的): : : 一.最基本题型(说明:此类题型比较简单): : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)
: 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟):(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 61.149.14.228]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: aadilon][本篇星级: 0][评价人数: 0] 发信人: aadilon(空穴来风), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Sun Jun 22 20:27:24 2003), 本站(ytht.net)
呵呵 先拿一根两头一起烧 再拿第二根在第一根的基础上取一半 也就是只烧30分钟的 再两头一起烧 就是15分钟了
【 在 banshee 的大作中提到: 】 : 具体一点吧,谢谢
: 【 在 GoodYoung(猪洋)的大作中提到: 】 : : 不就是两头一起烧么?
--中国就是被某些只会滥用权力的人给败坏的 今天公元2003年6月21日 在一塌糊涂有感 ※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 218.197.216.117]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: Seline][本篇星级: 0][评价人数: 0] 发信人: Seline(Seline), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Mon Jun 23 11:17:12 2003), 本站(ytht.net)
那个水桶的题是不是可以把三公升的放到五公升里然后就剩2公升 转到三公升桶里再来一次?
【 在 yanliwang 的大作中提到: 】 : : : : 最近大家在网站上看到不少Microsoft的测试题,引来不少的眼光。我在这里把所有的测试题加以整理,再附上自己的答案。(个别题目答案有多种,文本仅代表作者的思路,如有高见欢迎和我交流onefi@frontfree.net)每道题的后面会给出一个时间。这个时间是我做出该题所用的时间。(注意,这不是什么标准时间,我相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的): : : 一.最基本题型(说明:此类题型比较简单): : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)
: 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟):(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 202.114.208.4]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: fellow][本篇星级: 1][评价人数: 2] 发信人: fellow(萧寒), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Mon Jun 23 11:24:37 2003), 本站(ytht.net)
呵呵,第一个假设就错了
5不可能对每个人的决定都反对
因为如果3分的时候,他肯定什么都得不到,而且3肯定也不会死 那么2再分的时候,如果给他1个,他就会同意了,:)所以你的答案肯定有问题!
【 在 charles 的大作中提到: 】 : 超难题按照你的方法老大非死不可 : 因为。。大家看看下面就知道了 : 如果前面的都死了4和5分
: 4怎么都得死,5全部独吞,所以5是肯定每个人都反对的 : 所以4不可能让3死 : 然后3、4、5分
: 按照题意只要4同意3就不会死 : 那3就无论怎么分都不会死,显然这种情况3不会给4、5半个仔儿全部独吞,所以他对1、2的分法肯定都会不同意
: 然后考虑2、3、4、5分,因为3肯定反对,而由于如果3来分4肯定不会被分到东西所以2就给4一个就够让4赞成了
: 但是2和4赞成3、5反对不超过半数,可怜的2怎么分也是死,那么它不会让1死 :(以下引言省略...)--※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 202.108.85.98]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: 尧曰][本篇星级: 0][评价人数: 0] 发信人: 尧曰(:真的完了。), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)
发信站: 一塌糊涂 BBS(Mon Jun 23 13:19:49 2003), 本站(ytht.net)
俺看过标准答案.应该是97,0,1,2,0或者97,0,1,0,2。这个要从最后往前倒推.【 在 lixiguang 的大作中提到: 】 : 我的答案是98 1 0 1 0 : 我的前提是分到的个数一样多的时候还是反对,: 0个比死了好,: 因为2 可以给出方案0 100 0 0 活下来 : 【 在 charles 的大作中提到: 】 : : 反正老大很好捞
--莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
料峭春风欺酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。http://centurywind.myrice.com ※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 211.89.186.121]
喜欢这个文章么? 这个文章 [不错] [很好] [强烈推荐!]
------------------[本篇全文][回复本文][回信给作者][本篇作者: christian][本篇星级: 1][评价人数: 1] 发信人: christian(哈哈), 信区: joke 标 题: Re: Microsoft程序员测试题(经典)超难题的答案
发信站: 一塌糊涂 BBS(Mon Jun 23 17:28:52 2003), 本站(ytht.net)
我想到了 超难题第二题 的答案: 至少要出动六架飞机。
分析:用一个圆代表地球赤道剖面,沿圆的周长八等分,等分点顺时针编号为1-2-3-4-5-6-7-8,1点是机场。六架飞机的编号分别是A,B,C,D,E,F。其中A,B,C三架飞机同时从1点顺时针飞行,D,E,F在机场待命。当A,B,C飞到2点时,三机均耗油1/4箱,剩3/4箱;此时C给A,B各1/4箱油,C剩1/4箱刚好够它从2点原路返回1点;而A,B此时的油箱都是满油,A,B继续向3点飞行。飞到3点,两机各耗油1/4箱,各剩油3/4箱,则B给A加油1/4箱,B剩油1/2箱刚好够它从3点原路返回1点;而A此时油箱是满的,它最多可以绕圆周半圈,即可以从3点顺时针飞到7点。当A飞到5点的时候,1点的D,E,F起飞,他们逆时针飞行,即按1-8-7的方向。当D,E,F飞到8点时,各耗油1/4箱,D给E,F各加油1/4箱,D剩油1/4箱刚好够它从8点返回1点,而E,F此时满油,它们向7点飞行。当E,F到达7点时,A也刚好经3-4-5-6-7到达7点,此时,E,F各耗油1/4箱,各剩3/4箱,而A的油刚好用完;如果E,F各给A加1/4箱油,则A,E,F三架飞机均有1/2箱油,刚好够它们从7点经由7-8-1回到1点的机场。那么A机的历程是1-2-3-4-5-6-7-8-1,它绕了地球一圈,符合题意。所以至少要六架飞机才能完成任务。
【 在 yanliwang 的大作中提到: 】 : : : : 最近大家在网站上看到不少Microsoft的测试题,引来不少的眼光。我在这里把所有的测试题加以整理,再附上自己的答案。(个别题目答案有多种,文本仅代表作者的思路,如有高见欢迎和我交流onefi@frontfree.net)每道题的后面会给出一个时间。这个时间是我做出该题所用的时间。(注意,这不是什么标准时间,我相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的): : : 一.最基本题型(说明:此类题型比较简单): : 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)
: 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟):(以下引言省略...)
四.超难题
第二题.一道关于飞机加油的问题,已知: 每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:
为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
第二篇:初级PHP程序员测试题
初级PHP工程师笔试题
1.2.3.4.请解释一下什么oop,具有哪些特征,基本原则是什么 请说一下接口和类的区别 请列举一下常见的设计模式及特点 请问session怎么实现,结合项目谈谈都是怎么使用的5.请列举常见的sql优化方式并重点阐述
6.写出提取网页中url的正则表达式
7.请讲下代理和反向代理的区别
8.版本控制用过什么工具
9.实际开发中用过什么开发框架,实现了哪些功能
答题人:答题日期:
第三篇:黑马程序员基础测试题
黑马程序员基础测试题
1、已知一个int数组, 编程从数组中获取最大数.2、编写一个方法(名字自定,但要符合Java编码规范),方法内打印一字符串,并在main()方法内调用它。
3、环境变量path和classpath的作用是什么?
系统环境 path 为了更方便应用java 开发工具 将要执行命令的所在路径给系统、让系统去寻找 方便执行、必须是可执行文件先找当前路径再找path 路径 临时配置方式 通过set 命令完成、设置查看环境变量的值 在path环境变量的基础上添加新的目录 在任意目录下执行java 执行程序 专门给类文件设置路径 将class 文件所在目录 告诉系统,让系统去寻找 虚拟机先从classpath 寻找
4、UDP协议与TCP协议有什么不同?
5、编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。
6、创建一个包含有private的属性和private方法的类。然后创建一个内部类,它有一个方法可用来修改外部类的属性,并调用外部类的方法。在外部类的另一个方法中,创建此内部类的对象,并且调用它的方法。
7、用控制台程序输出九九乘法表;输出结果按下图所示:
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
.........8、编写程序拷贝一个文件, 尽量使用效率高的方式.9、编写HTML注册表单, 需要字段: 用户名, 密码, 确认密码, 性别(单选), 城市(下拉列表), 兴趣爱好(多选), 个人简介(文本域).10、定义一个学生类, 需要有姓名, 年龄, 考试成绩三个成员属性,创建5个对象, 属性可为任意值.编程对这5个对象按成绩排序,并将结果输出。(提示,用TreeSet和Comparator实现)
第四篇:中高级PHP程序员测试题
中高级PHP工程师笔试题
1.写出php的魔术方法,并做简单描述
2.MySQL的存储引擎MyISAM和innoDB的区别
3.大数据量怎么解决,如何避免单点故障
4.后端负载均衡实现方法:
5.PHP静态变量作用域和内部实现原理。
6.HTTP协议状态码分类及简述
7.Linux常用命令及功能
8.写出代码输出结果,并给出原因(c语言)
int main(void)
{
printf(“%d”);
return 0;
}
9.以下代码做了什么工作(javascript)
Array.prototype.strip=function(){
if(this.length<2)
return [this[0]]||[];
var arr=[];
for(var i=0;i arr.push(this.splice(i--,1)); for(var j=0;j if(this[j]==arr[arr.length-1]){ this.splice(j--,1); } } } return arr; } var arr=[“abc”,85,“abc”,85,8,8,1,2,5,4,7,8];alert(arr.strip()); 答题人:答题时间: 作业:研究一个新或自己感兴趣的职业 v介绍:名称定义 v典型生涯路径:从新手到最高职位的生涯路径 v趋势:技术、组织结构、培训、经济趋势对职业的影响 v薪酬:差别、地域差别 v所需技能 v教育/培训:受教育程度 v证书/资格证书 v工作条件:环境、压力、工作时间、是否出差? v聘用机构 v对生活方式的影响 v性别构成v聘用过程 v专业知识 月收入 人数 <1000元 131 1000-3000元 919 3001-5000元 477 5001-10000元 245 10000元以上 44 最多的部分居然是“1000-3000元”...程序员苦哇,同志们! 程序员 目录 1作为一个真正合„ 2岗位职责 3行业现状 4职业要求 5必备技能 6素质要求 7职业困境 程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类的方法。 岗位职责 1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对 小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。 2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。 3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。 4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。 5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。 6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。 7、负责相关技术文档的拟订。 8、负责对业务领域内的技术发展动态。 一、通过国家统一组织的考试,资格考试分初级程序员级(技术员级)、程序员级(助 理工程师级)和高级程序员级(工程师级);水平考试分初级程序员级、程序员级、高级程序员级、系统分析员级、以及网络程序员(初级)、网络设计师(中级)。 二、报考条件:报各级水平考试者无学历、资历限制;在职人员均可报初级程序员资格,其中大学本科毕业或任技术员两年以上者(含二年),可报程序员级资格,研究生毕生或任助工两年以上者(含二年),可报高级程序员级资格(计算年限均至本12月31日)。 三、报名手续:报名时须持身份证或学生证,交本人近期同底一寸免冠半身照两张及报名费100元(系统分析员报名费150元),其中报资格还须提交本人工作证及任职证明或相应学历证明复印件。 作为一个真正合格的程序员应该具有的素质 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。一旦进入系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人是不合格的。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己?根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。没有规范化和标准化的代码习惯,研发之间的协作是绝对不可想的。 4:需求理解能力 程序员需要理解一个模块的需求,很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在很多软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力,这是我们应当刻意克服的弊病。 6:测试习惯 作为一些正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。 当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。 但是学习也要找对目标,善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。 作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质: 1、需求分析能力 2、整体框架能力 3、流程处理能力 4、模块分解能力 5、整体项目评估能力 6、团队组织管理能力 世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。 计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类: asp程序员 jsp程序员 delphi程序员 php程序员 powerbuilder程序员.net程序员 vb序员 java程序员 javascript程序员 C++程序员 职业要求 一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。 大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。 对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。 必备技能 熟练开发工具 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。 熟知数据库 为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。 了解操作系统 当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习的平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。 在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。明白DCOM/CORBA/XML/WEBServices存在的意义 随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。 不要将软件工程与CMM分开 大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。 需求理解能力 程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。 模块化思维能力 作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。 素质要求 团队精神和协作能力 团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。 文档习惯 文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。 规范化的代码编写习惯 知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 测试习惯 测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。 学习和总结的能力 程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。 拥有强烈的好奇心 什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。 行业现状 由CSDN、《程序员》主办的2007年开发者大调查2007年底已收到15000多份有效问卷,已经是中国调查样本最多的开发者调查。在这次调查中,详细的分析了样本空间的分布状况,发 现在庞大数目的有效问卷的参与者中有70%也就是接近一万一千名的参与调查者是IT的全职人员,14%的参与者是有过开发工作经验的学生,从这样的分布就可以看出来IT从业人员对专业知识的需求是巨大而迫切的,CSDN作为专业的软件开发技术门户网站,已经是大家获取这些技术知识的主要手段。 一、选择数据库技术和互联网技术的人数总和占到了总人数的一半 2007年火热的SOA和动态语言各占13%和12%。其实这几大块技术分布他们之间都是有一定的联系的,互联网的发展近两年呈爆炸式的增长态势,中国的网民总数已经超过了1.4亿这样一个巨大的数字。 企业中业务的复杂程度越来越高,商业竞争不断增加企业的IT系统,使企业的商业数据呈几何数量级不断增长,在后台海量的数据中数据的管理由之前的单一型数据变成了多纬度的复杂数据,所以可以同时管理关系型数据库和XML数据的混合型数据库已经成为主流。 面对企业不断增加新的IT信息系统,整合已经迫在眉睫,SOA成为必然的趋势,企业对人才的需求从单一型技术人才、业务人才跳跃到了业务技术的复合型人才,这次的开发人员大调查令《 程序员》杂志的调查者看到了这些技术焦点背后千丝万缕的关联。 二、几乎一半的.NET用户不参与开源项目RedHat+Ubuntu占有率超过70% 应用到.NET平台上的开源项目,“大量使用”的比例数仅为8.68%,尚不足一成;“少量应用”的开发者人数比例为42.78%。“基本不用”的比例高达48.54%,与前二者之和几乎不相上下。 虽然开源的出现和发展,让软件没有垄断的未来日渐明朗;虽然开源运动经过多年的高速发展,现在已经聚集了相当的力量,开源的自由和给予理念逐渐深入到了企业的技术核心层面。但微软以商业软件为生,毕竟在微软技术领域中,开源项目通常都被看作是二等公民。很多开源项目对.NET社区产生了巨大的推动作用,微软公司很难提供任何实质性质的支持。 Linu版本 当前安装有Linux操作系统,数据中RedHatFedora占据绝对优势——Linux使用者使用该版本占总数的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每个fedora版本中都是集成最新的Linux软件,特别是服务端软件。 使用“RedHatFedora”关键词在百度网页中搜索得到7,090,000条结果,RedHatFedora在调查中占据Linux版本的半壁江山符合整个Linux版本的分布情况。 排在第二位的是Ubuntu,受支持数占到总数的23.92%;第三位的是SuSE占9.09%,接下来是Debian,使用率为5.92%。 在这里面令人期待的中国本土Linux的让人大失所望。使用率仅占5.16%,几乎只 有RedHatFedora的十分之一。 三、揭示八成技术人员数据库选型标准SQLServer用户接近50% 使用率占据榜首的数据库产品是微软的SQLServer,比例数达到了47.92%。与其余所有的数据库之和分庭抗衡,大有一览众山小之势。 从调查得到的使用率来看,MySQL仍处于望MSSQLServer项背的阶段。调查显示,MySQL的使用数为1651,占总数的13.80%,不过排名第三。 使用率排在第二位的是Oracle,比例达到24.21%。在前有SQLServer,后有MySQL的情况下,Oracle仍能达到四分之一的占有率,发展势头不可谓不强劲。 虽然Orcale数据库的价格比SQLServer数据库要高,但Oracle采用开放的策略目标,可在所有主流平台上运行。而且有开发者认为Oracle的安全认证是获得最高认证级别的ISO标准认证,因此安全性高于SQLServer。 排在第四位的是Access——5.59%;接着是DB2UDB,占总数的2.75%;至于FoxPro、Informix、PostgreSQL、Sybase得票数均仅在一百左右,还有待进一步的发展。 四、中国程序员最爱的智能手机平台Linux+Java超过Symbian “开源Linux对于众多开发者的吸引力是巨大的,但是,这仅仅是针对于技术开发人员来说的,而对于普通消费者就不是如此了。”在众多开发者心中,主要是对Linux的青睐。从调查结果中也可以直接反应这样的现象。有专家对此评论说:Linux+Java的模式,应该是应用最多的模式。 开源Linux对于众多开发者的吸引力是巨大的,但是,这仅仅是针对于技术开发人员来说的,而对于普通消费者就不是如此了。针对此问题行业的专家有自己的观点:“现在Wince和Symbian发展很快,并且随着手机硬件方面性能的提高,很多政府部门和企业在采购时,很多会考虑Dopod这样的手机,或者价格便Wince和Symbian都主要使用c++开发,正是嵌入式开发的潮流。” 不同人群对于收集智能操作系统的观点是不同的,对于开发者角度,他们更加青睐于微软和开源Linux的产品,而普通大众他们比较喜欢Wince和Symbian。五、七成程序员不愿意选择门户网站获取开源信息SourceForge占绝对优势 30%的技术人员从门户网站获取开源技术信息,剩下的70%的技术人员都是从专业的开源社区和开源厂商的技术网站上获取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。 在这70%当中,比例占有绝对优势的就是SourceForge了,这里是开源软件的开发者进行开发管理的集中式场所,也是全球最大开源软件开发平台和仓库。而LinuxToday里面会有记录很多很新的Linux业界大事,新闻以及出版信息。所以,对开源技术感兴趣的程序员们,不必再为如何获取开源信息而苦恼了,快加入到这70%的人群中来吧。 互联网的发展已经成为大家获取信息最主要的渠道之一,网民上网的习惯也从开始的上为数不多的几个门户网站发生了变化,大而全的门户网站并不能满足专业领域人员的信息需求,从2004年开始陆续出现了大量的各个领域垂直细分的内容网站,一方面有长尾理论的理论支持,另一方面厂商也建立了相应产品的技术内容网站,希望能聚集一批专注于这个领域专业人士,做好他们的定向营销。 做细分领域内容的网站对门户已经造成了一定的威胁,这些网站的专业性高,用户的粘性相对也比较高,如果细分领域的内容网站能将自己的服务有所提升,就如同SourceForge一样,那么未来门户网站的路就变得更加崎岖了。 六、Java开发框架:6%的JSF欲撼动21%的Struts JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。未来两 年,JSF与Struts将展开JavaWeb框架的最终战争。经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的JbossSeam作为挑战者之外,几乎难有劲敌。 JavaB/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。 详细的分析了Java开发框架的使用状况,发现主要使用的开发框架JSP占26%,Struts占21%,Hibernate占17%,SpringMVC占11%,EJB占7%,JSF占6%,SpringWebFlow和POJO各占4%,其它占4%。就这一调查数据,不难看出,Spring+Hibernate+Struts的优势地位还是相当的明显。 Struts和Hibernate几乎已经成了JavaEE应用的常规配置,21%的开发者用到Struts,用到Hibernate的开发者也有17%;在一个成熟的技术平台上,各个项目的技术方案会在很大程度上趋同——因为所有未知领域都已经被探明,各种问题都有对应的最佳实践,架构师们可以参考的成功案例越来越多。就拿JavaEE来说,架构师们需要考虑的问题比之三年前已经简单多了,这就是成熟的价值。 有专家评论:“其实IT应用技术,什么新鲜玩意并不难学,难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的占重要地位,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那为什么用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在JavaWeb层的规范化方面所做出的贡献。 然而长江后浪推前浪,Struts1.x的技术缺陷毕竟是隐患。Sun力推JSF,打算一雪Web层框架缺失之耻。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。未来两年,JSF与Struts将展开JavaWeb框架的最终战争。 JSP经过几年风雨洗礼依然把持头把交椅,看来所有的框架表示层都离不开JSP而存在,而作为JSP的手足兄弟JSF也是仅次Spring之后又一个后起之秀。 七、C++开发环境格局难打破75%的开发人员首选VS系列 BCB正江河日下,2007版本的推出也无法力挽狂澜。虽然现在C++Builder已经归于CodeGear,但人们还是习惯性地与Borland联系上。 1998年Borland公司推出的C++Builder这一当年全新的32位Windows开发工 具,继承了Delphi使用简便、功能强大、效率高的特点,并且结合了C++语言几乎所有优点。所以开始C++Builder迅速风靡。它的主要竞争对象——Microsoft开发的VisualC++也是不甘示弱,迅速出击,突出了Visual可视化强的特点,加上Platform、SDK部分以及Microsoft产品与Windows的天然默契,逐渐成为了技术人员的首选。随着VisualC++版本的不段升级,以及功能、风格等诸多原因,BCB渐现颓势,许多Builder使用者也开始转而使用Visual了。 在2007年CSDN、《程序员》主办的开发者大调查中,详细的分析了C++方面大家主要使用什么IDE的状况,在目前已收到的15000多份有效问卷中,发现主要使用VS系列的占了75%,BorlandC++Builder/CBuilderX只占6%,EclipseCDT占6%,DevC++占2%,其他IDE占3%,不使用IDE占8%。对于.NET开发,VisualC++2005有了一套新的语法;新的优化技术,可使程序的速度最高提高30%;同时新的编译模式,可保证在Microsoft.NETFramework之上生成完全遵从CLI(CommonLanguageInfrastructure)的可验证代码;新的interop模式,可提供本地与托管代码的无缝融合。 相对于前两个版本,新编译器还包括了一个增强版本的缓冲区安全检查选项,而且对C++程序普遍使用的库,也有新的注重安全的版本。VisualC++2005对基于IntelItanium和AMD64的64位平台,提供了对OpenMP标准的支持,并且修正了一些混合DLL加载的问题,对DoubleP/Invoke的性能问题,提供了自动运行时消除。相比之下,C++Builder2007英文版2008年6月初上市。从CodeGear大中华区技术总监李维的博客,看到CodeGear对C++Builder2007的期待。虽然说对同一件事情,每个人都有自己的视角,已有五年C++方面学习和开发经验的赖勇浩说道:“BCB正江河日下,2007版本的推出也无法力挽狂澜。虽然现在C++Builder已经归于CodeGear,但人们还是习惯性地与Borland联系上。 现在的Microsoft及VC势头强劲,产品也具有很高的质量性,CodeGear在C++和.Net领域至少三五年内会继续望其项背。所以推出CB2007,更多的是基于版本延续。” 八、程序员更喜欢Firefox市场份额超过IE7.0两倍 参与调查的多数是软件开发人员或者多数是IT从业人员,但是从这一比例不难看出,IE丢失掉了曾经在浏览器大战中占据了的技术优势,在IE6推出后的5年时间里,浏览器一直在快速发展,而IE却一直没有更新过,这对一个世界上最常用的产品来说绝对是致命的。Firefox(火狐浏览器)以它的小巧、安全,很容易扩展和定制的特长获得了越来越多的喜爱。 更重要的是,它是是一个自由的浏览器,所有的源代码都是开放的,任何人可以为它的成长贡献力量。Cookie、页面缓存,个人都可以精确的控制,这些特性都是技术人员们所崇尚的“我的 地盘我做主”的精神。如果说之前FireFox相对IE6有50%的优势的话,那么,FireFox相对于现在的IE7的优势已经降低到25%左右了。因为IE7从底层已经做了很多的修改,已经慢慢的向W3C标准靠近了许多,在功能使用方面与FireFox的差距也变得很细微,Tab功能,CSS和脚本支持功能现在IE7都比之前表现强了,差距仅仅存在于某些小细节中了。 IE6在这个市场中存在了5年之后微软才意识到改变和向国际标准靠拢的重要性,这就直接导致了大量的技术人员失去了对IE的信心,投向FireFox阵营,不过,微软到底还是强大的,在全球范围内有很多的“粉丝”,他们会一直关注微软的任何一次动作,客观的评价也是对产品最好的反馈,也是最有价值的。 关于Maxthon和腾讯的TT,虽然它们都是基于IE内核的浏览器,但是Maxthon在这次调查中仅次于FireFox,力压IE名列第二的位置,着实看出了这几年Maxthon确实做到了他们的口号“让技术为使用舒适服务”。 包括了FireFox、Opera这种标准的浏览器,也包括了Maxthon和TT这样基于IE内核的浏览器,对于标准的浏览器,FireFox和Opera的重点是要解决兼容问题,而基于IE内核的Maxthon和TT更主要的是要解决浏览器插件、工具的应用问题,所以,技术产品的激烈竞争带给用户的其实是一种良性循环,使我们可以第一时间用到最好用的工具,至于商业效应,还是留给厂商自己去考虑吧。 九、中国程序员健康两成感觉很虚弱亚健康接近七成 “干得比驴累,吃得比猪差,起得比鸡早,看上去比谁都好,五年后比谁都老。很多程 序员都曾这样感慨和抱怨过自己的生活状态。” 亚健康状态是人体处于健康和疾病之间的过渡阶段,在身体上、心理上没有疾病,但主观上却有许多不适的症状表现和心理体验。 位于调查结果第二位的是“很虚弱”——149,比例为19.81%。很虚弱的健康指数低于亚健康,已接近生病和透支状态,他们的健康已经被亮出了黄牌。 每个人的理解不一样,但是“糟透了”这样的词如果用来形容程序员健康的话,相信大多数人都绝对认同“你已经病了”这样的理解。令人不敢相信的是,竟然有8.24%的程序员用这个词来形容自己的健康状态! 调查结果中“非常健康”的票数低得可怜——40,即使算上“没感觉”,二者之和也不过9.04%,几乎跟“糟透了”持平。如果将“非常健康”和“没感觉”一起算为健康的话,处于亚健康状态的程序员是健康状态的7倍,自认为“很虚弱”的程序员数目是处于健康状态的2.2倍! 十、.NET全面进入2.0时代,AJAX风头正劲“在Java领域,JDK5.0是当之无愧的主流平台,但JDK1.4仍保有一半以上的占有量。总的来说,Java族群显然不像.NET族群那样追新。从另一个方面看,这也说明Java平台的成熟,和.NET平台的迅速发展。” 根据2007年的调查数据分析,在.NET领域,.NETFramework2.0的采用量已全面超越.NETFramework1.1,成为.NET平台的首选框架。2006年调查结果,1.1和2.0的采用量基本持平,而2007年2.0的采用量则高达1.1的三倍之多。.NETFramework1.1已是明日黄花,微软的更新 换代策略可以说是成功的。在Java领域,JDK5.0是当之无愧的主流平台,但JDK1.4仍保有一半以上的占有量。总的来说,Java族群显然不像.NET族群那样追新。从另一个方面看,这也说明Java平台的成熟,和.NET平台的迅速发展。 B/S已经成为中国软件业普遍接受的软件结构。在表现层,AJAX技术采用量较去年有较大提升,有将近一半的Web应用采用了AJAX技术,仍采用纯HTML+少量脚本的Web应用中,也有四分之三打算转向采用AJAX技术。反观微软和Adobe力推的新一代RIA平台,则响应者尚少。分别只有1/20和1/10的人愿意选用SilverLight和Flash/Flex作为Web表现层技术。 职业困境 老虎、Bill、自己,中国程序员的困境也来自三个方面 困境之一:老虎的威胁。程序员要面对的饿老虎实在不少,比如说老板,好象老板就是程序员的天敌,什么“不懂技术却指手画脚”、什么“得到与付出不相当”似乎是程序员最常见的牢骚,这个问题不可能得到真正的解决。 困境之二:Bill的竞争。一般说来中国的程序员大都是吃“青春饭”的,大部分程序员的黄金时代是24~28岁。到了30岁左右,一批又一批年轻程序员会给你带来巨大的竞争压力。首先由于软件行业的飞速发展,很多自己以前学的东西逐渐升级换代,而许多程序员由于长期于工作,学习新知识的效率必然下降。其次自己干了几年,薪水要求自然就高了,而年轻程序员工资又低、干活又快,当然会成为老板的首选;第三,30岁基本都已经成家了,要支撑家庭的生活负担,几乎连从头在来的勇气都不会有了。中国的老话说“长江后浪推前浪、一代新人换旧人”,这个历史的规律在软件开发行业体现的尤其明显和残酷,很多程序员必然要面对的结果就是降薪乃至失业。 困境之三:自我的实力。都知道人最难战胜的是自己,所以自我也就是程序员需要超越的最大障碍。大多程序员都把系统分析员和项目经理作为自己的职业目标,但这些目标的达成,需要个人素质、市场机遇等多个方面的条件,太多的程序员就是在高不成、低不就的状态中蹉跎了岁月。对于系统分析员,特别需要以下几方面的素质:客户需求分析能力、系统架构与设计能力、模块分解设计能力、项目流程控制能力、项目风险评估能力等,而对于项目经理则更注重项目管理方面的能力如团队组织能力、沟通协调能力、分析问题解决问题的能力以及良好的职业道德等,而这些素质和能力往往只能依靠程序员个人的学习和努力。看到越来越多的程序员开始学习项目管理的课程,真的有点为他们担心,因为现在的项目管理培训只能停留在理论和考证的程度,既没有素质方面的训练,又缺少实际软件开发项目的案例,学习的结果远远不能达到预期的效果。第五篇:程序员(范文模版)