日期:2014-05-17  浏览次数:20859 次

关于一道笔试题很多人说有问题的,我是出题原作者,说说我的感悟
当初我出这道题的时候,我就料到会有人把题目发到各个论坛求助,然后寻求标准答案。有的人说题目就是扯淡的题目,有的说题目是翻译英文的翻译有误的,还有的说这道题是考察语文的。就目前当前论坛的讨论来看我的目的达到了,没人给出标准答案。

目前有两个帖子在讨论这道题:
http://bbs.csdn.net/topics/390307484
http://bbs.csdn.net/topics/390312509

事实上,我出这道题主要目的是:
    一,面对问题的思维方式。考察求职者面对一类问题的时候,如何建立自己的思路,都说程序员逻辑思维很强,那么拿到这类问题,求职者会如何思考?好比如你做一个站点,站点突然某一天崩溃了,你需要从哪些方面分析出导致站点崩溃的原因?一开始有标准答案么,很显然没有,需要从各个方面分析,比如是代码层面,运行环境,数据库等等一类可能导致崩溃的因子,那么就需要你来理清思路一个个排除。所有很多求职者面对题目,首先观念就是这道题一定是有标准答案的,或者找人求助标准答案,事实忽略了公司招人是需要能解决问题的人而仅仅是会写代码的人。
    二,分析问题的方法。求职者拿到这类问题的时候如何去分析,这个过程很重要,就像有类题目问你井盖为什么是圆的?北京有多少辆出租车。很显然井盖之所是圆的,可以从便携性,节省的角度考虑,圆的可以滚动,圆的可以节省材料。至于多少辆出租车而是考察你是否在观察身边的事物,也就是你的洞察以及对细节的把握。
    三,解决问题的方式,题目之所以敢让程序员在家做必然是有原因的,如果是很简单且有标准答案的,这考察的还有意义么?谁不会想到去谷歌百度一下,或者发个贴求助。当然这也是解决问题的一种思路,就近原则。但是作为出题者不会让这件事会这么容易,必然要付出一些汗水。
    四,既然动用猎头寻找合适的合作伙伴,必然这道题不会有想象中的那么简单,那么就需要求职者在面试的过程中把握好心态,做不出来没关系,因为这道题是步骤得分,做了就是加分,提供思路加分,寻求帮助加分,提供运行结果加分,且提供多种结果的加分。
    五,态度问题。我知道很多求职者会投很多简历,毕竟我也是曾是求职者中的一员,那么大多数会广撒网的策略,求职者看到这道题觉得不可思议直接放弃,或者觉得题目本身就有问题不屑一顾,但是只要拿到题目求职者认真做了,就是有合作的可能性,这是必然的。
    六,不想QJ求职者的思维。每个人都有一套自己解决问题的理论和方法,我希望通过此道题看到不同的思路,不同的解决方式,不同的运行结果。而不是就问题的本身去纠结,陷入无题的怪圈。

我来说明这道题,主要是就目前的怪圈,来解释。当然,你可以说什么什么样大的公司才有资格出什么什么样的题目,在我看来不管是什么公司,出任何题目必然有他的用意,跟公司大小无关,合适的就是合作,不合适的就是过客,能解决问题是关键。毕竟动用猎头必然要出钱请人办事,如果一道题出的不用心良苦如何找到最合适的人。这道题,我做为出题者,我自己都做了8种以上的不同运行结果,且这道题目的每行首字母加起来是我的姓wang,小小的游戏。当然不管如何,你说是翻译来的题目也好,有问题的题目也好,或者说是考察语文的题目也好,都可以,因为这些也是一种思维方式。最后祝大家新一年事业发展顺利,写出更多优质代码。

题目是:

笔试内容
有一组字符串,它位于一台远程服务器上(http://kj.edu24ol.com/update/qa/qa1.txt),需要对它进行远程读取并进行逐行排序。
排序规则:
a)     其中部分字符规则为(注意:区分大小写):j<a<G<g<8<r<D<f<U<b<W,其它字符规则保持不变
b)     倒序/正序皆可,但最后一列(1,2,3,4,5)需出现在排序后的第一列
c)      排序后输出的内容格式保持不变(即两两一组,以空格隔开)
解答规则:
a)     可使用C#/JavaScript/Objective-C,任意一种编程语言实现
b)     此题为开放性题目,没有标准答案,请按照自己思路解答
c)      提交分析思路,以文字形式表达
d)     提交输出截图,程序编译完毕之后运行输出的内容(即排序后的结果)截图
e)     提交程序源码,对必要代码行进行注释
f)      所有需要提交的内容需包含在一封邮件里面,并注明自己的名字,以便后续面试中沟通使用
远程内容:
w1 b1 Bb Ba 5f 6G kk 1p UG 8y 1
aY 7A a5 B7 cc Dc 22 ui Id rg 2
nc 2e Fa AA TF g1 uh WS Q1 6T 3
gt TY UB W1 1d pG 5h EE 12 WS 4
05 61 31 RG de 01 4R FF 23 fd 5
    
面试题,笔试题,思维方式

------解决方案--------------------

------解决方案--------------------
抛开远程内容不看,只看规则,把“规则a”里面的字符用大于9的数字代替(按照规则中的优先级),然后进行排序
------解决方案--------------------
嗯,只是花点时间的问题而已.