1
sgissb1 2013-09-26 10:06:25 +08:00
你说的同学,是真正意义的同学?
还是一家公司里为了缓和气氛,互相给予的某种称呼? |
3
likexian 2013-09-26 10:16:56 +08:00
十道选择题就知道你是不是编程高手,可用于面试技术人员
这是我根据个人经验编的题目,主要用于娱乐,所以大家不要太认真 没有十年怎能算高手呢 可能很多人都因为被打击到了,所以。。。 |
4
sdjl OP @likexian 可能是,但是“没有十年怎能算高手呢”这种一般描述性的话也能引起“楼主认为两三年的就是低手”这种个人意识。。。
|
5
sethverlo 2013-09-26 10:20:05 +08:00 2
1. lz 一开始就说了「可以用来面试」,却又说「不会太科学」「可以宣传一下我们的产品」,这样就会有小白鼠的感觉。至少对于我来说,这是最大的怨念所在。我辛辛苦苦做完只是想知道自己水平到底怎么样,顺便查漏补缺下,然后发现………………这个实在是太伤感情了
2. lz 不管是有意无意,已经让一些用户感觉到了深深的恶意。比如说追加的「不要不认真读题目就吐槽」,比如说「大家都说题目出得不好,那你可以 @ 几个高手来认真回答一下,看看别人能回答多少分」。言下之意就是说,你做的不好是因为你水平太差。 3. 还有一点可能是我个人的看法。这套题表现出来的只是 lz 在玩文字(lz 水平可能很高,但是在这套题中并没有表现出来),之后 lz 又不肯虚心接受大家的意见,表现出一副高高在上的感觉(参见上一条)。这可能也是被喷的一个原因。 好了,我也就这么多想法,继续回去敲代码去了。 |
6
est 2013-09-26 10:20:28 +08:00
码农虽然贫贱,但是也有尊严。码农可以相互调戏,但是不能被其他种族调戏。
|
7
for4 2013-09-26 10:20:50 +08:00
有些人现实中活得不快活,所以喜欢在网上寻找快活 过过嘴瘾.
有些人的存在感优越感就是靠贬低攻击别人得来的. 你出的题我做了一道, 句式太长了.看得累.... |
8
anheiyouxia 2013-09-26 10:20:58 +08:00
卤煮没发觉当前这个互联网到处都充满暴戾之气?
事实上,我也是,很多时候,在无形中,说的话会带有攻击性,但是实际上,自己一开始很难察觉~~ |
9
moroumo 2013-09-26 10:28:01 +08:00
哈哈,其实我觉得题挺好的。
为啥你被喷?虽然一开始就强调主观意识 1.同行相轻 2.自信心被打击 3.喷子多 |
10
sxyclint 2013-09-26 10:28:32 +08:00
我觉得估计是你最后打分下面的话伤害了程序员脆弱的自尊哪
|
11
meta 2013-09-26 10:29:25 +08:00 1
你这种题就是对程序员的侮辱,当然很多人攻击你了。
|
12
sxyclint 2013-09-26 10:30:08 +08:00
而且有些题目会在社区引起圣战...
|
13
ccdjh 2013-09-26 10:31:10 +08:00 2
我抱着做数学题过去,看了一题等下一题,然后发现10题全是语文题。
还是模糊作文题,评分全看出题老师。 立马想到当年变态老师压我,欺负我,我解题过程和他不一样就零分,恼火。 不知道其他人怎么想,我是觉得被坑了哈。 |
14
sdjl OP @sethverlo 你说的第二点吧,确实可能会让人这样想,但我让大家@高手的目的只是想多收集几个“高手”的数据而已。你说的第三点嘛,首先玩文字这个说法比较准确,出题的时候就是要故意让参与者多考虑细节问题,如果不用“必须”、“全部”这样的字眼,那么就没有办法判断一个选项的“对与错”,为了不让大家都能拿到“高手”级别,所以设置了许多陷阱,这是事实。“高高在上”,我没有这种感觉:)
@for4 嗯,句式太长主要是为了避免一眼就能看出正确答案,所以有些“错误”答案会先写一两句正确的来“误导” @anheiyouxia 那是对某些组织的不满吧 |
15
picasso250 2013-09-26 10:34:26 +08:00
这10道题目我都做了。
我个人觉得这10道题目确实“不能服众”。楼主你可以继续强调“个人性”,“一个晚上”,“仅供娱乐”等等。 但既然你的题目已经引起了那么大的关注,为什么不继续努力,吸取大家的意见,让题目变得更加的“公众性”、“精心准备”、“严肃性”呢? 我很能理解楼主的心情。热情洋溢的做出的东西,被人这样批评,换谁,谁心里都不乐意。但楼主,请冷静下来,思考一下。贬货的才是买货的。大家这么批评你的东西,不就是因为期望高吗?如果你能抛却个人心中的小委屈,将这些题目做好,该是多好的一件事情啊。 我其实很羡慕楼主。既然你能引起那么大的关注,就当男子汉一些,虚心纳谏,把题目切实做好。 当然,你可以继续叙述你的委屈,我个人也能理解的。 |
16
sdjl OP |
17
zakokun 2013-09-26 10:35:46 +08:00
互联网上喷子实在太多了。现实生活中畏畏缩缩在网络上就大放厥词。很可惜v2上也有这么多呢。楼主这是不是在钓鱼呀哈哈哈.....
|
18
sdjl OP @picasso250 我不委屈啊,只是讨论。另外,希望大家可以一起来出题,如果有一套“v2ex”程序员测评那就非常好了。 题目会改的,但是等这一波冷下来再改
|
19
Mutoo 2013-09-26 10:41:38 +08:00
话说把正确答案标记在html里,这样的测试产品有什么意义……
|
20
cxshun 2013-09-26 10:43:49 +08:00
谩骂的同志就比较过分了,但楼主的题目出的并不客观,这点倒是事实。
慢慢改就行,毕竟没有题目是可以完全衡量一个程序员的水平的。 |
21
humiaozuzu 2013-09-26 10:43:51 +08:00
lz 好人,帮我找到了不少可以 block 的
|
22
picasso250 2013-09-26 10:46:27 +08:00
@sdjl 嗯。改题目的时候,希望可以通知我一声,我也想参与。
|
23
sdjl OP @picasso250 好的,改题目的时候我回来发一个帖子
|
24
cctvsmg 2013-09-26 10:54:33 +08:00
前面的回复还好
后面的攻击性太强了 v2ex是为数不多的几个技术氛围很好的社区 大家都挺认真的 平常也几乎恶语相向的 那贴稍微有点过了 |
25
raincious 2013-09-26 11:00:19 +08:00
楼主……任何社区都有一些……你懂的……
|
27
iscraft 2013-09-26 11:21:28 +08:00
楼主淡定.不少程序员写了几年代码后.心理就有一定程度的变态或者障碍疾病.敏感.玻璃心.种种种种......
|
28
harrymoo 2013-09-26 11:22:39 +08:00
之前的帖子都没想点进去,最怕做题。
看到这帖子倒是点进去且做完了。。。 被评为编程中手。。。 蛮好玩的呀,还能引发一些思考。 我再回去看看人家怎么攻击你的。 |
29
sgissb1 2013-09-26 11:24:02 +08:00
|
31
madao 2013-09-26 11:28:57 +08:00
技术深度不够,嘴炮level补上。
能力实习生,嘴炮大宗师。 XD 喷子们的本质。 |
32
kran 2013-09-26 11:39:09 +08:00
我觉得题目虽然不严谨,但大体考察点还是可以理解的
|
33
cctvsmg 2013-09-26 11:43:15 +08:00
@XDA 才发现我打错了,应该是”平常几乎没有恶语相向的“。
我也求v2ex同类的论坛啊,其他的几个应该大家都知道吧,oschina、cnodejs、知乎(算半个) 看雪(刷新很慢了现在,比较封闭) |
34
harrymoo 2013-09-26 11:47:23 +08:00
@sdjl 嗯,这年月,心怀恶意的去揣测别人的人太多了。
建议:个人信息收集放到最后一步,一上来就让填这玩意,吓人一跳。做完题再填,因为用户已经付出过了,会更愿意填写的。(这是用户体验里那啥啥原理去了) 另,lz的每道题目看起来讨论空间都蛮大,lz要不要每道题开个帖子来受受喷?然后就可以畅游在口水的海洋里了。。。 |
35
sdjl OP |
36
windywinter 2013-09-26 12:01:28 +08:00 2
攻击的不是你,是题目。一堆错误百出的题目,既不能用于面试技术人员,又不能供娱乐。
|
37
hpowen 2013-09-26 12:16:54 +08:00
乐趣
|
38
yyy 2013-09-26 12:58:39 +08:00
因为嘈点太多,而且碰巧又是某些人的G点,所以就被喷了。当然只看过楼主第一题的想说,楼主这些题目里面的多是概念性的内容为主,概念的东西都太坑。
|
39
yangff 2013-09-26 13:09:54 +08:00 5
我把吐槽发在这里好了。
对于成熟的现代流行的编程语言,只要能熟练运用,开发相同程序的效率都一样。而与所使用的语言类型没有太大关系 既然是成熟的流行的编程语言,当然是这样的。这里的效率说的是开发效率,做不到这点说明不够熟练。 如果把语言看成命令式的语言(比如js)以及描述式的语言(比如css)。那么这两种类型在使用方式上可以互换,比如可把命令式改为描述式的,也能把描述式改为命令式的 您改一个试试?css要体现一部分命令的效果需要伪类,不过哪怕这样,也不可能实现js能实现的所有功能。IE6除外。LESS != CSS!他的看起来的特性特性是在编译期实现的,本质还是描述式的,没有动态的效果。 大多数编程语言的核心功能都差不多,基本由循环、条件判断、数据类型等组成,只是语法与库的不同。因此学习多种编程语言对提高个人能力没有太大帮助,开发者应该把时间花在学习数据结构、算法、以及解决具体问题等方向上 程序=算法+数据结构 “专用语言”与“通用语言”相比使用范围较窄,因为它们无法实现“通用语言”的强大功能 请用CSS访问Cookie,并把它发到xss平台上。 JavaScripts是脚本语言,具体请看:http://en.wikipedia.org/wiki/ECMAScript#Implementations 相比Python这种通用语言Shell是一门语法比较复杂的语言,以至于有些人希望能够不用Shell实现的就不用Shell,而用其它语言代替Shell来编写脚本 Shell语法还复杂,看到Python不是要哭了? Shell是一门跨平台的语言,使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行 http://en.wikipedia.org/wiki/Bash_(Unix_shell) 首先shell的主语指带不明,甚至Windows的控制台你都可以叫他Shell。其次,类UNIX系统所共同支持的shell语法。最后,绝大多数linux系统都会带上bash,就算你硬要说没有,也至少会带一个兼容http://en.wikipedia.org/wiki/Bourne_shell 语法的shell。 请不要把用户自行安装的其他shell考虑在内。 使用设计模式,有时可让程序代码变得更清晰易懂,也更容易和其它懂模式的人沟通。但模式也可能会增加程序的复杂度 更多情况下,设计模式会让代码变得更加冗长复杂,增加他人阅读的难度,沟通请使用文字。同样的目的,你是愿意面对1000行的代码还是400行的。阅读代码的成本,比重新完成的成本高10倍以上,看方法名知内容的阅读不算。 协议往往比实现此协议的程序活的更久,因此我们不但应该学会使用程序,也应该学习程序所使用的协议 私有协议死得比程序还快,比如,QQ2000使用的登录协议。 版本管理工具在合并两个分支的代码时,此两个分支可能分别来至不同的程序项目 干出这种事情的拖出去揍。 测试驱动方法可以提高开发程序的效率,特别是在不增加新功能重构现有程序代码时 带来更多的限制,减慢开发速度。 管道为两个程序之间建立起了互相通信的方式,程序在运行过程中可以通过管道互相传输数据 不能吗?LZ多想想 管道可以让程序与程序之间分工更为明确,从而减少了整个程序代码的复杂度 带来额外的协议维护费用。 管道可让一个程序在未来发挥出程序作者自身没有预料到的作用 http://zh.wikipedia.org/wiki/%E7%A1%AE%E5%AE%9A%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E8%87%AA%E5%8A%A8%E6%9C%BA 使用管道可以避免两个程序之间必须互相了解对方的实现细节才能彼此合作 协议还不是细节?我用json,你用urlencode,我们来交流一下吧。 当一个网站的数据量越来越大时,为了存储更多的数据,必须使用支持可存储量更大的数据库,或者使用空间更大的磁盘 ……到更多的服务器上就不要增加硬盘啦!!!LZ真是太TM机智了!!!!太神了!!!!!快去拿图灵奖,还和我等傻逼瞎哔哔个毛啊!!!!!!!还有物理学的诺奖也可以拿了吧!!!!信息熵都被你吃到黑洞里去了吧!!!!!! 这个答案真的是找喷 数据结构也可视为算法的一部分,优秀的数据就够能够引出优秀的算法。因此有时可以把编程的重心从算法的角度移步到关注数据结构,从而降低整个算法的复杂度 程序=算法+数据结构 顺便说一句,SplayTree是数据结构,Splay是算法 在开发程序初期,若能为未来程序中可能会遇到的性能问题设计好算法代码,便能优化程序的性能。因此在项目初期应该多提前考虑算法优化问题 ……在您眼里只要能跑出结果,跑1W年也无所谓是吧,反正跑着跑着CPU性能就上升了,然后时间就会越缩越短,不用考虑优化是吧,您在微软工作是吧?还是在开发Android?不考虑优化算法效率,其它的优化都是搞笑。CPU累个半死帮你争取回来的常数,都被您败光了。 PS:还是说古剑2是您开发的,我要求退货!!! |
40
9hills 2013-09-26 13:14:30 +08:00 7
lz想多了,为什么你会被喷,原因就是你出的题目的水平太低
|
41
dulao5 2013-09-26 13:17:50 +08:00
算法领域,数学领域,讨论问题都要限定范围、假设、求证,使用精确的语言定义大家都认可的概念,然后大家才有讨论的可能。
软件开发领域的知识本来就很杂乱,你「一个晚上」做出来的题目不严谨也就不奇怪了。因为很多概念模糊,所以文字显得似是而非。 但是你帖子又很标题党,吸引人来却让人败兴而归,被抱怨是很正常的。 总的来说,你既然只用「一个晚上」做出不严谨的却很标题党的题目,应该也预料到会受到这么多抱怨。 |
42
zhttty 2013-09-26 13:24:44 +08:00 1
这贴唯有39楼值得认真阅读...
@yangff 楼主不去反思自己出题上的错误和不足,不去反思产品本身的问题,就对着“攻击”两个字在那做个人的解释,你得知道,你自己认为的、自己理想化的、自己觉得没问题的都仅仅是你个人的,为何大家就攻击你? 你不去反思改进自己的产品,不去改善用户体验,却总是自我为中心指着别人说“那是你理解错了...那是你能力问题...那是你水平没达到”,我想问,你的东西做出来是给大家用的还是给自己用的?还有,你发的那张贴的标题和你现在这贴内容难道没冲突?标题那么哗众取宠,内容却想用自己所谓“娱乐”二字冠冕堂皇,本身就没用心把事情做好。 当然你宣传的目的达到了,恭喜你。 |
43
cctvsmg 2013-09-26 13:27:33 +08:00
@dulao5 码农水平咋样,看参与的项目、代码质量、online judge排名就差不多了。 楼主这种类型的题目必然是娱乐类型的,既然是娱乐和炒作那其实越嘲讽越好,其实我建议楼主去微博上发,根据v2ex的回复量,微博上也肯定把楼主喷出翔儿来,不过网站肯定火了
|
44
vietor 2013-09-26 13:39:30 +08:00
曾经有本书叫《0bugXXX编程》(可能叫<0BUG C/C++商用工程之道>)就被人家“骂的不行”。
给别人“定调子”是非常讨厌的事情。楼主主要的问题,就是“装权威”。如果当自己的问题被“其他人”指出来之后,就来句“这是我的理解,你们也可以有你们的理解”之类的狡辩,就“令人发指”了。 |
45
fgwww 2013-09-26 13:40:32 +08:00
既然攻击了别人为什么还不允许别人反击?
|
46
66450146 2013-09-26 13:44:25 +08:00 1
其实原因很简单
题目的质量本身,和帖子声称的,实在是差太远了 |
47
dorentus 2013-09-26 14:20:26 +08:00
假如楼主的题目在大部分人看来是纯娱乐类型的、很有意思的,那么肯定没事(这种情况下喷你是缺乏幽默感的表现);或者刚好相反,楼主的题目在大部分人看来是很严谨、很有参考价值的,那么也没事。
可是楼主的题目却是二者皆非,既无笑点、又无信息量,还又如上面有人所说,「嘈点太多,而且碰巧又是某些人的G点」,被喷自然不奇怪。 |
48
emric 2013-09-26 14:28:06 +08:00
看完以后有一种撸管失败的赶脚...
|
51
66450146 2013-09-26 14:54:12 +08:00
|
52
sdjl OP |
53
sdjl OP |
55
sethverlo 2013-09-26 15:21:27 +08:00
|
56
username_db 2013-09-26 15:23:24 +08:00
这种帖子也有这么多人回?
|
58
jalen 2013-09-26 15:59:45 +08:00
很明显是娱乐的... 我15分都贴出来了...
认真你就输了.. |
59
soli 2013-09-26 16:37:59 +08:00
10道题答错9道,竟然还得59分?
lz太照顾大家都面子了。 |
60
yangff 2013-09-26 16:38:30 +08:00
既然LZ想问为什么会被人喷。
LZ发一个帖子,然后里面让人们去做一些题目,然后在给做题的人按照主观意愿作出划分,最后一副高傲的我最叼你们这些渣渣还不来跪舔老子要大十个的样子。 LZ想一想,你去CSDN发一个帖子,PHP是最好的语言,不用PHP的都是渣渣,用PHP还转其他语言的都是傻逼,PHP无所不能,PHP最叼,不同意我的观点的都是小学都没毕业的喷子。 LZ大概就可以理解了吧。 换句话说,LZ如果做成 http://zuobiao.me/ 这样,肯定不会有人喷。 把自己的意愿说成是对的,强加到别人头上,还要说没有啊我就是玩玩而已。LZ麻烦看看你已经造成的事实OK? 这么说吧,我的心情变化是这样的: 好奇(哎这啥测试这么叼)-> 这题目什么玩意啊(模棱两可) -> 这答案在逗我吧(主观想法就算了,尼玛还有错的) -> 好吧1天做的东西就不多说什么了 -> 卧槽LZ在说什么 -> D人请有下限。 |
61
sdjl OP @yangff 你的这个观点是你故意强加的,大家可以通过发帖记录来评估一下我是否有:
“一副高傲的我最叼你们这些渣渣还不来跪舔老子要大十个的样子” 或者是 “不同意我的观点的都是小学都没毕业的喷子” 或者是 “XXXX是最好的语言” 或者,你可以举证证明我表达了这样的观点 |
63
soolby 2013-09-26 17:11:30 +08:00
@for4 没仔细看题目,也不是程序员,也做不了这个题。
从体验上说说,我这种问答的形式,问题可以稍微长一些,答案尽量简洁明了,而且最好是A/B,最多A/B/C。 你这个问题很简洁,答案太长了 (也许是我不懂,乱说的) |
64
dblue 2013-09-26 17:12:03 +08:00
@yangff 來說說爲什麼有些地方你說得不大對。
送你一句我師兄送給我的話:「軟件工程裏面最重要的是權衡。」 你的思路體現了你其實對着點沒多少體會。 ---- 对于成熟的现代流行的编程语言,只要能熟练运用,开发相同程序的效率都一样。而与所使用的语言类型没有太大关系 既然是成熟的流行的编程语言,当然是这样的。这里的效率说的是开发效率,做不到这点说明不够熟练。 語言的成熟是各方面權衡,達到一個相對穩定的情況後的境界,不同的語言有不同的哲學,也就有不同的側重點。在無限的情況下當然各方面都是好的,又正確,又高效,又開發效率高,問題是這樣的語言從來沒有過。於是乎,語言只能有選擇。 於是乎,你看到成熟的C,開發效率很低很低,但是有限的時間內還是各種語言裏面運行性能數一數二的。於是乎,你看到成熟的python,開發效率很高,但是性能很差。他們都已經說的上「成熟」了,「熟練」只能說充分發揮語言的特性,而「成熟」並不代表開發效率高。 ---- 如果把语言看成命令式的语言(比如js)以及描述式的语言(比如css)。那么这两种类型在使用方式上可以互换,比如可把命令式改为描述式的,也能把描述式改为命令式的 您改一个试试?css要体现一部分命令的效果需要伪类,不过哪怕这样,也不可能实现js能实现的所有功能。IE6除外。LESS != CSS!他的看起来的特性特性是在编译期实现的,本质还是描述式的,没有动态的效果。 這句話我也覺的有爭議,但是大致上,如果是圖靈完備的語言,都是可以互換的。我們把命令式的看成how,描述式的看成what,那麼how的確可以是what的答案。 你在混淆題目的意思,題目沒有說任何一個how都可以變成what或者已經有成型的what了。 ---- 大多数编程语言的核心功能都差不多,基本由循环、条件判断、数据类型等组成,只是语法与库的不同。因此学习多种编程语言对提高个人能力没有太大帮助,开发者应该把时间花在学习数据结构、算法、以及解决具体问题等方向上 程序=算法+数据结构 少年你真的覺的上面這條公式是對的麼?是完備的麼?我只能呵呵了。。。。 btw,算法和數據結構最後也會投影到編程語言上。好吧長期國內的教育就是不重視「編程語言」這門學問,樓主顯然在故意戳害你們弱小的心,但是很遺憾樓主在這件事情是的確是對的。另外,數據解構和算法在不同的編程語言裏面,用於工程上也有很大的差別。 ---- “专用语言”与“通用语言”相比使用范围较窄,因为它们无法实现“通用语言”的强大功能 请用CSS访问Cookie,并把它发到xss平台上。 JavaScripts是脚本语言,具体请看:http://en.wikipedia.org/wiki/ECMAScript#Implementations 你連專用語言和通用語言都沒搞明白吧。另外,又跟腳本語言什麼事情。 另外你的邏輯也錯了啊。你實際上是說「存在一個專用語言,無法實現通用語言的功能。」這跟「專用語言無法實現通用語言的功能」是兩回事啊。這裏的謂詞,根據語義,只能取全部啊……也即是「全部的專用語言都無法實現通用語言的功能」。 其實還是編程語言的圖靈完備性啊。其實題目想表達的是「專用語言也可以是圖靈完備的。」估計您一直沒意識到吧? ---- 相比Python这种通用语言Shell是一门语法比较复杂的语言,以至于有些人希望能够不用Shell实现的就不用Shell,而用其它语言代替Shell来编写脚本 Shell语法还复杂,看到Python不是要哭了? shell的確複雜,你去看看bash的ref你不哭?我現在都不會寫shell。你知道shell可以寫子程序,而且傳參有多蛋疼麼?shell長大以後,維護的確十分困難,「用其它语言代替Shell来编写脚本」的確是可行的作法啊。 ---- Shell是一门跨平台的语言,使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行 http://en.wikipedia.org/wiki/Bash_(Unix_shell) 首先shell的主语指带不明,甚至Windows的控制台你都可以叫他Shell。其次,类UNIX系统所共同支持的shell语法。最后,绝大多数linux系统都会带上bash,就算你硬要说没有,也至少会带一个兼容http://en.wikipedia.org/wiki/Bourne_shell 语法的shell。 请不要把用户自行安装的其他shell考虑在内。 看不到你回答的邏輯啊。最後一句「请不要把用户自行安装的其他shell考虑在内。」跟上下文完全沒有聯繫的感覺 = = 原命題的錯誤,應該是「使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行」,真正寫過跨發行版的shell程序看到這句話估計就哭了。如果一開始沒有考慮跨發行版,在複雜的環境中,基本不可能很好地在各種發行版上運行。原因不在於shell,而在於linux破碎的發行版帶來的破碎的環境不一致。所以才有了各種猜測系統環境的工具…… ---- 使用设计模式,有时可让程序代码变得更清晰易懂,也更容易和其它懂模式的人沟通。但模式也可能会增加程序的复杂度 更多情况下,设计模式会让代码变得更加冗长复杂,增加他人阅读的难度,沟通请使用文字。同样的目的,你是愿意面对1000行的代码还是400行的。阅读代码的成本,比重新完成的成本高10倍以上,看方法名知内容的阅读不算。 你的設計模式是老師教的吧?漂亮的設計模式根本不會讓代碼冗長,增加閱讀難度,增加溝通成本。(如果不是漂亮的設計模式,就相當於你在用工具做一件錯誤的事情,這時候請不要埋怨工具)。不要拿你在課堂上學到的那種設計模式過來說啊 = = 有多少老師懂設計模式的,亂用而已。 ---- 协议往往比实现此协议的程序活的更久,因此我们不但应该学会使用程序,也应该学习程序所使用的协议 私有协议死得比程序还快,比如,QQ2000使用的登录协议。 人家說的是往往 = = 根據我的經驗,「协议往往比实现此协议的程序活的更久」是說得過去的。當然可能你見過很多垃圾協議,覺的垃圾協議比正確的協議還多,那只能說這道題出得不好了。你的例子在邏輯上不能作爲反例駁倒原命題,比較有說服力的例子,應該是統計數據來說明是不是「往往」。 其實原命題的意思是「因此我们不但应该学会使用程序,也应该学习程序所使用的协议」。估計出題人是載了很多教科書的坑,想用這道題來表達他「程序使用的協議是很有學習價值的材料(然而這卻常常被忽視了)」。 ---- 版本管理工具在合并两个分支的代码时,此两个分支可能分别来至不同的程序项目 干出这种事情的拖出去揍。 你邏輯又出錯了。「可能」不是「應該」,講可能是講「可行性」,而不是「正確性」。 不同的程序項目完全是可能的。雖然有點牽強,不過你可以考慮一個項目在github上被多次fork,最後他們實際上是「不同的程序項目」(repo),但是的確可能合併,而且也是git的feature之一) ---- 测试驱动方法可以提高开发程序的效率,特别是在不增加新功能重构现有程序代码时 带来更多的限制,减慢开发速度。 傾向於認爲出題者這句話是不嚴密的,是錯誤的。原因還是在表達,應該加上「往往」,「一般」,不然就只能當「测试驱动方法一定可以提高开发程序的效率」。出現這種錯誤,是因爲英文到中午的翻譯會丟掉一些東西。 TDD can help more dev effect. // 沒有「一定」的意思 测试驱动方法可以提高开发程序的效率. // 有「一定」 不過一般人都覺得「可以」就是「可以」,「测试驱动方法可以」==》的確有時候可以。 然後無論如何,你的反駁都是錯的。「带来更多的限制,减慢开发速度。」更多是在錯誤的使用的情況下。好吧我從來不用TDD,因爲我總覺得我還不需要 = = 但這不是TDD的問題。 然後出題人後面半句是非常正確的。在不增加新功能重构现有程序代码时,TDD非常幸福。 ---- 管道为两个程序之间建立起了互相通信的方式,程序在运行过程中可以通过管道互相传输数据 不能吗?LZ多想想 原題明顯表述,是shell裏面的pipe,你丟掉了上下文。以下的你對管道的觀念都不是shell裏面的pipe,而是*inux提供的程序間通訊的方法,是用API來做的,是論非所論。 shell的pipe是單向的,「相互」是錯誤的。 ---- 管道可以让程序与程序之间分工更为明确,从而减少了整个程序代码的复杂度 带来额外的协议维护费用。 錯誤在於你論非所論。這裏的協議就是「標準輸入和標準輸出」,任何unix風格的程序,都是直接操作標準輸入,標準輸出,使得程序之间分工更为明确,从而减少了整个程序代码的复杂度。沒有帶來額外的協議維護費用。 此外,恰恰是這種方法,使得unix下的程序不需要這麼多「協議」,因爲每個程序都直接處理標準輸入輸出裏面的字符串流。 ---- 管道可让一个程序在未来发挥出程序作者自身没有预料到的作用 http://zh.wikipedia.org/wiki/%E7%A1%AE%E5%AE%9A%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E8%87%AA%E5%8A%A8%E6%9C%BA 你壞掉了,沒見過「管道可让一个程序在未来发挥出程序作者自身没有预料到的作用」的例子吧?好吧你沒見過,但是神奇地搭配管道真的是可以很神奇的,多多積累吧 = = 這裏跟DFA沒什麼關係。。。一個程序可以近似DFA,而shell是一個膠水,把這些DFA拼裝起來,有什麼問題? ---- 使用管道可以避免两个程序之间必须互相了解对方的实现细节才能彼此合作 协议还不是细节?我用json,你用urlencode,我们来交流一下吧。 理由見上。我都不想說你的邏輯 = = 人家說可以,你舉個不可以的例子,來說明可以是錯的? ---- 当一个网站的数据量越来越大时,为了存储更多的数据,必须使用支持可存储量更大的数据库,或者使用空间更大的磁盘 ……到更多的服务器上就不要增加硬盘啦!!!LZ真是太TM机智了!!!!太神了!!!!!快去拿图灵奖,还和我等傻逼瞎哔哔个毛啊!!!!!!!还有物理学的诺奖也可以拿了吧!!!!信息熵都被你吃到黑洞里去了吧!!!!!! 这个答案真的是找喷 lz沒說不用增加硬盤吧? ---- 数据结构也可视为算法的一部分,优秀的数据就够能够引出优秀的算法。因此有时可以把编程的重心从算法的角度移步到关注数据结构,从而降低整个算法的复杂度 程序=算法+数据结构 顺便说一句,SplayTree是数据结构,Splay是算法 。。。啊。。。 **只會做點點算法,沒有做過實際的項目,是遠遠不夠的** ---- 在开发程序初期,若能为未来程序中可能会遇到的性能问题设计好算法代码,便能优化程序的性能。因此在项目初期应该多提前考虑算法优化问题 ……在您眼里只要能跑出结果,跑1W年也无所谓是吧,反正跑着跑着CPU性能就上升了,然后时间就会越缩越短,不用考虑优化是吧,您在微软工作是吧?还是在开发Android?不考虑优化算法效率,其它的优化都是搞笑。CPU累个半死帮你争取回来的常数,都被您败光了。 PS:还是说古剑2是您开发的,我要求退货!!! 過早的優化是萬惡之源。人家沒說性能不重要,是在討論關注性能的時機。軟件不是寫個幾百行幾十行的東西交給評測機AC了就是好項目了……性能越來越不是項目最重要的東西了。學會權衡啊少年。 |
65
yangff 2013-09-26 17:13:32 +08:00 2
@sdjl
这几句是你说的吧: 大家都说题目出得不好,那你可以@几个高手来认真回答一下,看看别人能回答多少分 大家都说题目出得不好:你们居然认为题目不好? 那你可以@几个高手来认真回答一下:其实原因是你们太弱,无法理解我有多么牛逼,高手自然知道我的题目有多厉害 看看别人能回答多少分:滚 出题目的目的,就是要检测,不是为了让大家都能回答正确。:我都是对的,我可以站在一个至高的立场,检验你们,而你们所说的不好,那是因为你们太弱。 选项里面有许多必须、应该、可能、某些等字眼需要注意哦:我就玩文字游戏怎么着了? 本帖子有了新的讨论,“为什么会有这么多人攻击我”:你们这些小学生就知道人生攻击。 60分算中手了,我已经改了。80以上才算高手,这里说的高手就是实实在在的高手 大家试一下找身边写程序写得很好的人试一下,看看人家能不能答对才是检验题目的科学办法 当然,题目中确实有很多细节判断需要思考 在比如: 22分 编程初手 您的水平一般般,需要更多的努力,加油! 好的,如果说这是10页的算法题,然后得出这个结果,我可以接受。但是这里,你就直接把观念与你不同的人,定义成了“水平一般”。 你不能说这句子说的很客气(你看,我还说了加油哦!)他的味道就不一样了。但是实际上你就把分数较低的人看作是了弱,不然说什么努力呢?努力变成你? 当然,事实上你这么说什么也改变不了,除了让人不满。最后受着的还是你自己。 “ 我写这个测试嘛,又不是搞科学研究。能回复的尽量回复,回复不了的也让我休息一下嘛。你们这么多人喷” “但是面试总是要问一些问题的,所以把这类题目作为一种参考,然后加上自己的判断来考考面试者的话不错,但判断被面试者的关键不在于是否答对,而在于他如何讨论题目吧” “我把低手去掉,60分以下都是初手。 这样就不会这么具有攻击性了” “嗯, 感谢大家参与, 都说了不要过于认真, 哈哈 如果有对题目或答案有疑惑,为什么不发到v2ex上面来讨论讨论?” 当然LZ不想被喷,当然也不愿意承认除了文案和程序bug以外的问题,那还有什么可说的呢。 比如你在那个帖子里面回我的:“@ yangff 嗯,主观确实是一个问题,这毕竟不是考试嘛。我也想不出客观的问题来” 想不出客观的问题……想不出客观的问题……你直接说你在调查算了! PS: V2EX不能编辑真是棒极了。 PPS: 语文很重要。 |
66
sdjl OP @dblue 你说的这句话不错,大家对题目的讨论和反驳我基本都是认可的,没有不认可
不用再拿那些引用来证明观点了, 太长了,一会再看 @yangff 回复一下你 “大家都说题目出得不好,那你可以@几个高手来认真回答一下” 这句话是你拼接出来的吧,我的愿意是“@几个高手来回答一下看能得多少分”,这句话没有藐视你的意思 “出题目的目的,就是要检测,不是为了让大家都能回答正确” 这句话是针对一个某位同学回复的,大概意思是:出题就是要有陷阱,否则大家分数都一样就没有意思了 “选项里面有许多必须、应该、可能、某些等字眼需要注意哦” 如果没有这些字眼,那么就不好判断一个备选项是否正确了 其它的话嘛,基本差不多,你认为这样就攻击到你了么? 讨论问题要结合上下文,只是选择一部分文字,然后按照自己的想法拼接在一起,再强加自己的观点非得和别人吵一架。。。 |
67
sdjl OP |
68
fgwww 2013-09-26 17:34:55 +08:00
“@几个高手来回答一下看能得多少分”,这句话没有藐视你的意思
233333...跟这种人你们战个毛啊 |
69
dblue 2013-09-26 17:35:40 +08:00
lz的這套題,讓我覺的是一個開始被學院派灌輸了很多站不住腳、似是而非、對各種華麗概念打過雞血的人,出來真正擼過項目了,對很多事情產生了新的看法,而且覺的這些新的看法其實是對提升修爲更重要的(卻沒有人在傳播)。然後題目中拿了很多這些看法過來,是爲判斷高手的依據。
如果真的去找高手做,真的高手未必分數高,但大概還是很喜歡這些題目的。與其這麼沒理性地噴樓主的語文,不如多想想題目裏面有用的部分,對自己的衝激,然後用理性而謙虛的心去看看是不是正確的,以及爲什麼樓主要這樣設計題目吧。 |
70
ywencn 2013-09-26 17:39:10 +08:00
感谢您的参与,您可以回顾错题,或者直接查看结果与得分。
如果觉得此调查不错,请在查看结果里分享给朋友吧。 您一共答错10道题 |
72
yangff 2013-09-26 18:01:59 +08:00
@dblue 对于成熟的现代流行的编程语言,只要能熟练运用,开发相同程序的效率都一样。而与所使用的语言类型没有太大关系
既然是成熟的流行的编程语言,当然是这样的。这里的效率说的是开发效率,做不到这点说明不够熟练。 语言的成熟是各方面权衡,达到一个相对稳定的情况后的境界,不同的语言有不同的哲学,也就有不同的侧重点。在无限的情况下当然各方面都是好的,又正确,又高效,又开发效率高,问题是这样的语言从来没有过。于是乎,语言只能有选择。 于是乎,你看到成熟的C,开发效率很低很低,但是有限的时间内还是各种语言里面运行性能数一数二的。于是乎,你看到成熟的python,开发效率很高,但是性能很差。他们都已经说的上「成熟」了,「熟练」只能说充分发挥语言的特性,而「成熟」并不代表开发效率高。 #### 所以说是熟练度的问题,C用的熟练,开发效率不会比Python差。 这里的熟练不仅仅是对语言的熟练,Coding从来不是瓶颈啊…… #### ---- 如果把语言看成命令式的语言(比如js)以及描述式的语言(比如css)。那么这两种类型在使用方式上可以互换,比如可把命令式改为描述式的,也能把描述式改为命令式的 您改一个试试?css要体现一部分命令的效果需要伪类,不过哪怕这样,也不可能实现js能实现的所有功能。IE6除外。LESS != CSS!他的看起来的特性特性是在编译期实现的,本质还是描述式的,没有动态的效果。 这句话我也觉的有争议,但是大致上,如果是图灵完备的语言,都是可以互换的。我们把命令式的看成how,描述式的看成what,那么how的确可以是what的答案。 你在混淆题目的意思,题目没有说任何一个how都可以变成what或者已经有成型的what了。 ---- #### 如果把语言看成命令式的语言(比如js)以及描述式的语言(比如css)。那么这两种类型在使用方式上可以互换 命令式的语言 => Js 描述式的语言 => css 使用方式 互换 => use css as Js 说完了。 #### 大多数编程语言的核心功能都差不多,基本由循环、条件判断、数据类型等组成,只是语法与库的不同。因此学习多种编程语言对提高个人能力没有太大帮助,开发者应该把时间花在学习数据结构、算法、以及解决具体问题等方向上 程序=算法+数据结构 少年你真的觉的上面这条公式是对的么?是完备的么?我只能呵呵了。。。。 btw,算法和数据结构最后也会投影到编程语言上。好吧长期国内的教育就是不重视「编程语言」这门学问,楼主显然在故意戳害你们弱小的心,但是很遗憾楼主在这件事情是的确是对的。另外,数据解构和算法在不同的编程语言里面,用于工程上也有很大的差别。 ---- #### 如果你做的比较多,你就会严重的同意上面这句话是对的。 其他的东西都是几分钟可以解决的事情,但是算法和数据结构可能是几年、几十年甚至都不可能解决的问题。 算法和数据结构最后也会投影到编程语言上 => 哪个人这么告诉你的……算了不多说。 不重视算法和数据结构是中国的开发者超级严重的一个问题……没办法,大学教出来的很多就这尿性。 #### “专用语言”与“通用语言”相比使用范围较窄,因为它们无法实现“通用语言”的强大功能 请用CSS访问Cookie,并把它发到xss平台上。 JavaScripts是脚本语言,具体请看:http://en.wikipedia.org/wiki/ECMAScript#Implementations 你连专用语言和通用语言都没搞明白吧。另外,又跟脚本语言什么事情。 另外你的逻辑也错了啊。你实际上是说「存在一个专用语言,无法实现通用语言的功能。」这跟「专用语言无法实现通用语言的功能」是两回事啊。这里的谓词,根据语义,只能取全部啊……也即是「全部的专用语言都无法实现通用语言的功能」。 其实还是编程语言的图灵完备性啊。其实题目想表达的是「专用语言也可以是图灵完备的。」估计您一直没意识到吧? #### F 专用语言通常更擅长解决一些特定领域的问题,但它们也能摇身一变成为通用语言,看看JavaScript和Node.js 他自己说的哦。 PS:……所谓领域专用语言(Domain Specific Language/DSL),其基本思想是“求专不求全”…… 通用语言可以作为专用语言来使用,但他本质上还是通用语言,而专用语言在设计时就不是为了实现通用的目的的。 「专用语言也可以是图灵完备的。」 如果他完备了,那为什么它还是专用语言呢?仅因为是他只被在该场合使用吗?多想想? #### ---- 相比Python这种通用语言Shell是一门语法比较复杂的语言,以至于有些人希望能够不用Shell实现的就不用Shell,而用其它语言代替Shell来编写脚本 Shell语法还复杂,看到Python不是要哭了? shell的确复杂,你去看看bash的ref你不哭?我现在都不会写shell。你知道shell可以写子程序,而且传参有多蛋疼么?shell长大以后,维护的确十分困难,「用其它语言代替Shell来编写脚本」的确是可行的作法啊。 ---- #### 不蛋疼,shell比python好调多了,但是这个看个人吧,出成题目实在不合适,我只是吐槽下。 不过至少Shell写成什么混蛋样子还能看得懂,python可以写到没学过这个语言的人看都看不懂。 #### Shell是一门跨平台的语言,使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行 http://en.wikipedia.org/wiki/Bash_(Unix_shell) 首先shell的主语指带不明,甚至Windows的控制台你都可以叫他Shell。其次,类UNIX系统所共同支持的shell语法。最后,绝大多数linux系统都会带上bash,就算你硬要说没有,也至少会带一个兼容http://en.wikipedia.org/wiki/Bourne_shell 语法的shell。 请不要把用户自行安装的其他shell考虑在内。 看不到你回答的逻辑啊。最后一句「请不要把用户自行安装的其他shell考虑在内。」跟上下文完全没有联系的感觉 = = 原命题的错误,应该是「使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行」,真正写过跨发行版的shell程序看到这句话估计就哭了。如果一开始没有考虑跨发行版,在复杂的环境中,基本不可能很好地在各种发行版上运行。原因不在于shell,而在于linux破碎的发行版带来的破碎的环境不一致。所以才有了各种猜测系统环境的工具…… #### 使用Shell编写的脚本不用修改,便能很好的在各种Linux发行版上运行 我的意思是在语法上的。各个Linux平台有自己的差异,但是这与shell无关。 #### ---- 使用设计模式,有时可让程序代码变得更清晰易懂,也更容易和其它懂模式的人沟通。但模式也可能会增加程序的复杂度 更多情况下,设计模式会让代码变得更加冗长复杂,增加他人阅读的难度,沟通请使用文字。同样的目的,你是愿意面对1000行的代码还是400行的。阅读代码的成本,比重新完成的成本高10倍以上,看方法名知内容的阅读不算。 你的设计模式是老师教的吧?漂亮的设计模式根本不会让代码冗长,增加阅读难度,增加沟通成本。(如果不是漂亮的设计模式,就相当于你在用工具做一件错误的事情,这时候请不要埋怨工具)。不要拿你在课堂上学到的那种设计模式过来说啊 = = 有多少老师懂设计模式的,乱用而已。 #### 不妨来个栗子?这个主观上的原因是我比较排斥设计模式。客观上是能用的好设计模式的实践实在是少的可怜。当然确实也有不错的就是了……不过看多了垃圾代码这东西真心会吐。 能不能,当然可能,不过实在没什么意义。 还有我是自学的。 增加阅读难度,我的意思是,不管什么代码,反正一眼一行,我是受不了带一大堆修饰的……我宁可复制到编辑器里面手动去掉…… #### ---- 协议往往比实现此协议的程序活的更久,因此我们不但应该学会使用程序,也应该学习程序所使用的协议 私有协议死得比程序还快,比如,QQ2000使用的登录协议。 人家说的是往往 = = 根据我的经验,「协议往往比实现此协议的程序活的更久」是说得过去的。当然可能你见过很多垃圾协议,觉的垃圾协议比正确的协议还多,那只能说这道题出得不好了。你的例子在逻辑上不能作为反例驳倒原命题,比较有说服力的例子,应该是统计数据来说明是不是「往往」。 其实原命题的意思是「因此我们不但应该学会使用程序,也应该学习程序所使用的协议」。估计出题人是载了很多教科书的坑,想用这道题来表达他「程序使用的协议是很有学习价值的材料(然而这却常常被忽视了)」。 #### 作者没有举出任何可以证明他的观点的证据。 但是,除了成为标准的协议,绝大多数的私有协议在程序死后还能存活?这个没什么可质疑的吧。 #### ---- 版本管理工具在合并两个分支的代码时,此两个分支可能分别来至不同的程序项目 干出这种事情的拖出去揍。 你逻辑又出错了。「可能」不是「应该」,讲可能是讲「可行性」,而不是「正确性」。 不同的程序项目完全是可能的。虽然有点牵强,不过你可以考虑一个项目在github上被多次fork,最后他们实际上是「不同的程序项目」(repo),但是的确可能合并,而且也是git的feature之一) #### 这个我只是纯粹吐槽他举的栗子,干这种事不是没事闲着么= =、 #### ---- 测试驱动方法可以提高开发程序的效率,特别是在不增加新功能重构现有程序代码时 带来更多的限制,减慢开发速度。 倾向于认为出题者这句话是不严密的,是错误的。原因还是在表达,应该加上「往往」,「一般」,不然就只能当「测试驱动方法一定可以提高开发程序的效率」。出现这种错误,是因为英文到中午的翻译会丢掉一些东西。 TDD can help more dev effect. // 没有「一定」的意思 测试驱动方法可以提高开发程序的效率. // 有「一定」 不过一般人都觉得「可以」就是「可以」,「测试驱动方法可以」==》的确有时候可以。 然后无论如何,你的反驳都是错的。「带来更多的限制,减慢开发速度。」更多是在错误的使用的情况下。好吧我从来不用TDD,因为我总觉得我还不需要 = = 但这不是TDD的问题。 然后出题人后面半句是非常正确的。在不增加新功能重构现有程序代码时,TDD非常幸福。 #### 后半句是正确的同意。 但是要证反这个命题太同意了,我们来举个极端的栗子,比如A+B。要推翻一个命题只需要找到一个特例使他不成立就行了。 “测试驱动方法可以提高 **(中)大型** 开发程序的效率,特别是在不增加新功能重构现有程序代码时” 我同意。 #### ---- 管道为两个程序之间建立起了互相通信的方式,程序在运行过程中可以通过管道互相传输数据 不能吗?LZ多想想 原题明显表述,是shell里面的pipe,你丢掉了上下文。以下的你对管道的观念都不是shell里面的pipe,而是*inux提供的程序间通讯的方法,是用API来做的,是论非所论。 shell的pipe是单向的,「相互」是错误的。 #### 同意。没看到“|”抱歉。 #### ---- 管道可以让程序与程序之间分工更为明确,从而减少了整个程序代码的复杂度 带来额外的协议维护费用。 错误在于你论非所论。这里的协议就是「标准输入和标准输出」,任何unix风格的程序,都是直接操作标准输入,标准输出,使得程序之间分工更为明确,从而减少了整个程序代码的复杂度。没有带来额外的协议维护费用。 此外,恰恰是这种方法,使得unix下的程序不需要这么多「协议」,因为每个程序都直接处理标准输入输出里面的字符串流。 #### 你得定义流之间要怎么传递数据吧!! 本来我只要考虑dlopen之后,从某个函数把参数丢过去。 用管道,无非就是把这个过程放到了流里面。 相反,dlopen的话函数定位系统还能代劳,用流的话这还得你自己处理。 #### ---- 管道可让一个程序在未来发挥出程序作者自身没有预料到的作用 http://zh.wikipedia.org/wiki/%E7%A1%AE%E5%AE%9A%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E8%87%AA%E5%8A%A8%E6%9C%BA 你坏掉了,没见过「管道可让一个程序在未来发挥出程序作者自身没有预料到的作用」的例子吧?好吧你没见过,但是神奇地搭配管道真的是可以很神奇的,多多积累吧 = = 这里跟DFA没什么关系。。。一个程序可以近似DFA,而shell是一个胶水,把这些DFA拼装起来,有什么问题? #### 拼凑起来之后,每个程序所发挥的还是每个程序所做的事情。多想想? #### ---- 使用管道可以避免两个程序之间必须互相了解对方的实现细节才能彼此合作 协议还不是细节?我用json,你用urlencode,我们来交流一下吧。 理由见上。我都不想说你的逻辑 = = 人家说可以,你举个不可以的例子,来说明可以是错的? #### 理由同上上,比如我要请求你一个方法OpenFile,我得知道你怎么处理我输入的流吧,比如,你要接受一个 Funcall <- header[\n] Name:[ ]<- 一个空格,必需的 Funcname[\n] Argc:[ ]<- 一个空格,必需的 Number(<100)[\n] Args:[\n] base64(arg1) base64(arg2) base64(arg3) 还有我得知道你返回的是什么吧。 如果我只丢过去: FCall OpenFile("xxx.md") 你也能处理?就算这个你也考虑到了,你也处理了. ^_OF("xxx.md") 我这样传递你还受得了? 不了解怎么通讯? 就像如果上面这段内容我写成: qdw2r3r2^qw34rf4f34g.fgf34rrr3r3,**OpenFile^^&&,r3232fe43f4. …… 你知道我在说什么?这是我花了5分钟想出来的一个语言规则。 如果你说题目说的细节不是这个,那我要质疑,难道不用管道就不能避免了吗?用管道避免有什么特殊性?难道我用libopenssl我真的把libopenssl的代码都读了一遍,才开始编译它? #### ---- 当一个网站的数据量越来越大时,为了存储更多的数据,必须使用支持可存储量更大的数据库,或者使用空间更大的磁盘 ……到更多的服务器上就不要增加硬盘啦!!!LZ真是太TM机智了!!!!太神了!!!!!快去拿图灵奖,还和我等傻逼瞎哔哔个毛啊!!!!!!!还有物理学的诺奖也可以拿了吧!!!!信息熵都被你吃到黑洞里去了吧!!!!!! 这个答案真的是找喷 lz没说不用增加硬盘吧? #### 说了。LZ认为这是错的。 #### ---- 数据结构也可视为算法的一部分,优秀的数据就够能够引出优秀的算法。因此有时可以把编程的重心从算法的角度移步到关注数据结构,从而降低整个算法的复杂度 程序=算法+数据结构 顺便说一句,SplayTree是数据结构,Splay是算法 。。。啊。。。 **只会做点点算法,没有做过实际的项目,是远远不够的** #### 做过,不好意思。 对算法的理解只限于教科书,真的很可怕。 另外,我们很多时候会说,我用线段树优化Dp之类的,你以为这里的线段树只是数据结构?你每次不需要Query?你只考虑了线段树的区间性质,不需要处理线段树的查询?只是因为这些算法基本是和数据结构配套而生的,但,你和你弟弟是双胞胎,你能说你弟弟就是你吗? #### ---- 在开发程序初期,若能为未来程序中可能会遇到的性能问题设计好算法代码,便能优化程序的性能。因此在项目初期应该多提前考虑算法优化问题 ……在您眼里只要能跑出结果,跑1W年也无所谓是吧,反正跑着跑着CPU性能就上升了,然后时间就会越缩越短,不用考虑优化是吧,您在微软工作是吧?还是在开发Android?不考虑优化算法效率,其它的优化都是搞笑。CPU累个半死帮你争取回来的常数,都被您败光了。 PS:还是说古剑2是您开发的,我要求退货!!! 过早的优化是万恶之源。人家没说性能不重要,是在讨论关注性能的时机。软件不是写个几百行几十行的东西交给评测机AC了就是好项目了……性能越来越不是项目最重要的东西了。学会权衡啊少年。 #### 还是那句话,连性能都不考虑就开始写代码,写出来的都是垃圾,都要推倒,最后剩下的只有框架。 “性能不是最重要的东西”, 这种思想特别可怕,以次充好啦,打一炮就走了,能用就行管他什么垃圾,把这些看成正统的人,呵呵。 权衡?权衡什么?能问一句吗? 能AC的代码才是好代码,你可以把这里的AC理解成单元测试。 同样AC的代码,效率越高越好。 效率同样的代码,越短越好。 长短相同的代码,再和我说可读性。 没错CPU会越跑越快,GPU会越来越强大,这不是不重视算法的理由。就算CPU快到,你的代码 0.0000000000001s 我的代码 0.0000000000000000000000001s 跑10000000000000遍,高下立判。 为什么会要这样呢……多想想?N^3可以过就不去做N^2logN的事我不是没做过,也不是没吃过亏哦。 #### ……长的我都只能用记事本写了…… |
73
yangff 2013-09-26 18:05:04 +08:00
|
74
yangff 2013-09-26 18:13:45 +08:00
@dblue 很多时候很难说牺牲一部分效率换来Coding上,或者Test、协作上的优势是否必要……
另外有必要解释一下。 我举的栗子多是比较极端的,也不具有什么建设性。这很正常,如果你要说权衡,什么都可以权衡,我们总可以在问题的答案找到一个平衡点,那就没有什么正确或者错误的答案的,每个人都有自己的习惯和观点。另一方面这套题目大多是这样偏主观的,我只是在举出一些极端的栗子来证明他的命题是错误的。这个大家都知道选择题的话我只要给出一个特殊值能证明他不成立就行了吧。破坏确实比建设要容意啊……笑) 恩,大概是这个意思吧。 |
75
Divil 2013-09-26 18:14:13 +08:00
其实该说的楼上大家都说了
楼主那个问答既没有娱乐性,又没有专业性 答案都太过业余了 |
76
dblue 2013-09-26 18:40:31 +08:00
@yangff = = 啊,我搞不掂你了,好自爲之。。。
1. 不同語言表達力真的不同,甚至差別很大,足以對開發效率產生極大的影響。 2. coding不等於打字。對語言的熟練無法完全克服語言本身。 3. 程序=算法+数据结构。這句話在我編碼生涯的前五年我都是信奉的,在我認識了面向對象以後我懷疑了。現在,我認爲這句話有正確的地方,也有錯誤的地方。 4. 算法和数据结构可能是几年、几十年甚至都不可能解决的问题。 5. 中國大學對算法和數據結構還說不上不重視,就沒有什麼東西說的上重視的了 = = 很多老師一輩子就是用C在寫算法和數據結構……(重視不等於教的夠更不等於教的好) 6. 算法和数据结构最后也会投影到编程语言上。 7. 专用语言也可以是图灵完备的。 8. 「不过至少Shell写成什么混蛋样子还能看得懂」……笑而不語。 9. 很多人都在錯誤地使用設計模式然後設計模式是壞東西 ===》設計模式是可怕的,但是工具無善惡,善惡在於人。 10. 管道可让一个程序在未来发挥出程序作者自身没有预料到的作用。 11. 过早的优化是万恶之源。性能越来越不是项目最重要的东西了。 以上都是我仔細斟酌過而且認同的觀點,(而且大多數都不是我原創的觀點),雖然只說觀點不說理由(吐槽一下樓上)的作法基本是腦殘,但是我知道我是無法說服你的了 = = 啊,還說下去就變成語文和邏輯的討論了。。。 以上。 |
77
momo5269 2013-09-26 18:45:21 +08:00
我什么都不是29分 人家程序员也有31的 有那么一两个答案我都觉得d疼 觉得业余
你觉得呢 (✿◕ ‿◕ฺ)ノ))。₀: *゜ |
78
momo5269 2013-09-26 18:52:13 +08:00
我觉得修饰的词语用的真有点多了
你觉得有些人主观判断你 先看看你的1L和题怎样主观了别人在说吧 - - 这事楼上说的很清楚了 你的描述和题目实际差距太大,续楼又『不经意』嘲讽了 |
79
jybox 2013-09-26 19:01:58 +08:00
感觉楼主这题目的形式和选题不错,但是确实很多题目的答案存在争议。
我不是很理解为什么这个帖子所有人都是在喷楼主。 |
80
sdjl OP |
81
yangff 2013-09-26 19:56:25 +08:00
@dblue
1.2.嘛……语言我就不说更多了,至少我是有这个能力的……当然爽不爽是另一回事了。 3. 程序=算法+数据结构。这句话在我编码生涯的前五年我都是信奉的,在我认识了面向对象以后我怀疑了。现在,我认为这句话有正确的地方,也有错误的地方。 这句话在我开始coding的时候是很不屑一顾的,现在看来这句话真的是太正确了。 “程序” “=” “算法” “+” “数据结构” 每个引号是一个内容,不仅仅只有汉字才是内容哦。 5. 中国大学对算法和数据结构还说不上不重视,就没有什么东西说的上重视的了 = = 很多老师一辈子就是用C在写算法和数据结构……(重视不等于教的够更不等于教的好) 重视个P……他妈这么多年了还在教多少年前的算法,毫无长进……就算写了多少年,还写的又丑又烂,毫无美感……不好意思粗口了,但是不喷不行。 6. 算法和数据结构最后也会投影到编程语言上。 算法先于语言。你应该清楚才对的。 7. 专用语言也可以是图灵完备的。 这时候我们叫他通用语言。才怪。 虽然专用语言和通用语言并不是依靠是否图灵完备来划分的……而是在Wiki的定义上: “A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains, and lacks specialized features for a particular domain. ” 那好,假如这个语言是图灵完备的,那么他一定「可以」(按照你的意思哦,可以)用于不同的领域,那他为什么还是专用语言呢? 不过我还是认为这样说不严谨就是了…… Wiki后面说的挺好的…… “The line between general-purpose languages and domain-specific languages is not always sharp, as a language may have specialized features for a particular domain but be applicable more broadly, or conversely may in principle be capable of broad application but in practice used primarily for a specific domain. For example, Perl was originally developed as a text-processing and glue language, for the same domain as AWK and shell scripts, but has since become a general-purpose programming language. By contrast, PostScript is a Turing complete language, and in principle can be used for any task, but in practice is narrowly used as a page description language.” 也大概就是我想表达的意思。 显然我们在实践的时候不会拿他做通用语言来使用……但是不代表不可以,只是他确实没有被这样使用,这两个都是事实,他们之间并没有存在「严格」的划分,比如图灵完备的一定是通用语言与否。但是我在广义上这样说也是正确的吧? 至少这就一道题而言是不合适的,而答案更是不合适。 9. 很多人都在错误地使用设计模式然后设计模式是坏东西 ===》设计模式是可怕的,但是工具无善恶,善恶在于人。 我只是在表述一个广泛的事实。至少在实践上他不像他所描述的那么美。我自己是不用的,所以我只能根据我阅读到的一些代码来说这个事情,至于使用者爽不爽,那我就不知道了。 10. 管道可让一个程序在未来发挥出程序作者自身没有预料到的作用。 如何让一个确定性有限状态自动机给出不被预料到的解。 11. 过早的优化是万恶之源。性能越来越不是项目最重要的东西了。 不同意。这是真心的。不考虑优化才是万恶之源。提前考虑优化是一种负责的态度,能不能优化是实际要考量的事情。 不过这个无所谓啦,反正遇到像某把剑没有提前玩试玩版就下手买,果然冲动是魔鬼。 至于性能,我就问一句,性能都不重要了,我们还写程序干嘛?人脑不能算吗?不能笔算吗?(这是极端的栗子)10年算出来不是算出来吗?你们是怎么喷IE7、怎么喷Vista来着? 性能不主要,我们玩什么JIT,玩什么MMX,玩什么编译优化,玩什么分支预判,直接冲科技爆出10000GHz的单线程CPU不就好了 笑) 你也知道这是因为单线程的瓶颈、物理上的限制,那我们还追求些什么, 还不是让程序跑得更快。 连解释语言都知道用VM、JIT提高效率,你跟我说性能越来越不重要。 然后攻城师们好不容易折腾出的常数,瞬间被复杂度刷的飞起。这样真的没问题? 前半句还可以说是立场不同理解不同,后半句我绝对不能同意。绝对。 |
84
SharkIng 2013-09-27 01:45:48 +08:00
十道题我都做了,感觉如果这些简单广泛的题都不知道的话真的不能算为高手,当然有些人可能说因为题设计太广所以有些精通某个方面的人会打不出来,那我就没话了
|
85
bjtugun 2013-09-27 08:55:30 +08:00
我看了10道题,都是接触过的。感觉是娱乐可以,认真你就输了。总的来说标题起的太吸引眼球,里面却不咋地,负分
|
86
feuvan 2013-09-27 09:23:17 +08:00
hehe
我觉得上回发的hehe够表达了,这次再发一遍 |