关于一道笔试题很多人说有问题的,我是出题原作者,说说我的感悟

cnrooter 2013-01-11 04:40:13
当初我出这道题的时候,我就料到会有人把题目发到各个论坛求助,然后寻求标准答案。有的人说题目就是扯淡的题目,有的说题目是翻译英文的翻译有误的,还有的说这道题是考察语文的。就目前当前论坛的讨论来看我的目的达到了,没人给出标准答案。

目前有两个帖子在讨论这道题:
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
...全文
1739 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyuliang 2013-07-07
  • 打赏
  • 举报
回复
static string SortLine(string str) { Dictionary<char, double> diction = new Dictionary<char, double>(); diction.Add('j', 55.1); diction.Add('a', 55.2); diction.Add('G', 55.3); diction.Add('g', 55.4); diction.Add('8', 56); diction.Add('r', 67.5); diction.Add('D', 68); diction.Add('f', 84.5); diction.Add('U', 85); diction.Add('b', 86.5); diction.Add('W', 87); int arrlength = str.Replace(" ", "").Length; double[] arr = new double[arrlength]; int i = 0; foreach (char c in str) { if (c == ' ') continue; if (diction.ContainsKey(c)) { arr[i] = double.Parse(diction[c].ToString()); } else { arr[i] = (double)c; } i++; } //重新排序 Sort(arr,arrlength); string result = ""; int len = 0; foreach (double d in arr) { if (diction.ContainsValue(d)) { foreach (KeyValuePair<char, double> dic in diction) { if (dic.Value == d) { result += dic.Key; } } } else { result += (char)d; } len++; if (len == 2) { result += " "; len = 0; } } return result; }
bingxueme 2013-07-02
  • 打赏
  • 举报
回复
对于10楼同学的您问我也存在,我一共去过环球两次,第一次填了个表就让我回来了,第二次 面试官考我一个SQL,我写了一段SQL其中一句是这样的 SELECT [Sno],Count ([Cno]) FROM [course] group by [Sno],我用这语查询 course表中不同同学选课的门数,考官非要说我这个Count ([Cno])会编译错误,然后让我回去等消息。同学们啊情何以堪。遇到这样的考官,我还能说神马
bingxueme 2013-07-02
  • 打赏
  • 举报
回复
楼主你好,我在环球天下的面试题里,看到了的这个题目,我不知道到,这道题目是否是你为环球天下出的
wang0731308 2013-04-24
  • 打赏
  • 举报
回复
作为认真做题并提供了多种解决方案的求职者,表示很遗憾没有收到出题者同样认真而负责的回复。希望出题者能找到更合适的人,也希望出题者能认真对待每一个认真做题的求职者。
Inhibitory 2013-01-12
  • 打赏
  • 举报
回复
笔试内容 有一组字符串,它位于一台远程服务器上(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) 排序后输出的内容格式保持不变(即两两一组,以空格隔开) 1. 怎么读取 2. 分词 3. 排序比较的时候因为字典序是自定义的,所以每个字母首先都要判断是不是在特殊的字典里 4. 输出 如果把这些问题一个一个的分别对待,那么整个问题就不是大问题了。
cs张 2013-01-11
  • 打赏
  • 举报
回复
引用 6 楼 cnrooter 的回复:
引用 4 楼 chungehenyy 的回复:你也不看看 http://bbs.csdn.net/topics/390307484 http://bbs.csdn.net/topics/390312509 这两个和你这个帖子出的题目要求和规则一样的么? 请你仔细看帖子和题目再开喷,我要是没看他们帖子,我把两个帖子找出挨喷么?你也可以去问问当事人和猎头。当然……
请看清我的内容再来喷我, 我前面的内容是说,他们那两个的帖子 关于排序规则是不明确的。没你这个帖子那么清楚,那么当然因为问题不明确,所以回答的人就会没答案!
cnrooter 2013-01-11
  • 打赏
  • 举报
回复
引用 5 楼 chungehenyy 的回复:
欢迎你的各种切法。
cnrooter 2013-01-11
  • 打赏
  • 举报
回复
引用 4 楼 chungehenyy 的回复:
你也不看看 http://bbs.csdn.net/topics/390307484 http://bbs.csdn.net/topics/390312509 这两个和你这个帖子出的题目要求和规则一样的么?
请你仔细看帖子和题目再开喷,我要是没看他们帖子,我把两个帖子找出挨喷么?你也可以去问问当事人和猎头。当然欢迎各种喷,第一次在这边发长贴,你要觉得这帖子触碰你哪根神经了,只能向你表示抱歉。
cs张 2013-01-11
  • 打赏
  • 举报
回复
cs张 2013-01-11
  • 打赏
  • 举报
回复
你也不看看 http://bbs.csdn.net/topics/390307484 http://bbs.csdn.net/topics/390312509 这两个和你这个帖子出的题目要求和规则一样的么?
strife013 2013-01-11
  • 打赏
  • 举报
回复
嗯,只是花点时间的问题而已.
lxllb8 2013-01-11
  • 打赏
  • 举报
回复
抛开远程内容不看,只看规则,把“规则a”里面的字符用大于9的数字代替(按照规则中的优先级),然后进行排序
  • 打赏
  • 举报
回复

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧