Home » 中文 » Art of a Company » 百姓网公开笔试题结果展示 « 义乌之旅 | 大学教育教会了我们什么? »

百姓网公开笔试题结果展示

相关帖子
作者:Jian Shuo Wang 发表于: 2010-05-11 12:05

前几天出的一道笔试题《百姓网公开笔试题:查询条件的子集判断》,收到来自各地的很多解决方案,有C的,有C++的,有PHP的,还有Python的。我建议大家把自己的解答放在自己的blog上面,我这里给链接,大家移步到他们的blog上去看。

原文的评论中也有很多精辟的思路,大家可以借鉴。

《程序员》杂志闫辉在邮件里问了这样一个问题:

你认为程序员的成就感来自哪几个方面?

这是我的回答
每个程序员都是不同的,他的成就感也是不同的。有的人看重纯技术的优秀 (以Linux平台上的C程序员为多),有的人看重结构的完整(以Java程序员为多),还有人看重对业务的贡献(我见到的微软系统 的比较多一些)。各种都有,而且程序的世界是一个广阔的世界,可以从汇编,到Python,从几个字节的纠结,到几个 Terabyte的推敲,里面成千上万的技术爱好者在里面乐此不疲。

如果说一定要概括程序员这个行业对比其他行业来说比较独特的成就感,我觉得是“追求卓越”。程序的世界有点像奥林匹克运动,在相对 一致的预设条件下进行公平的竞争。奥运会是在在一样的跑道或球场上,一样的规则下,追求更快、更高、更强;程序员的世界,也几乎在一 样的 条件下(标准化的操作系统,语言,和硬件),追求更快,更多,更好。程序员的PK,更加公平。所以当两个程序员在PK最优 的实现的时候,结果常常是两个互相佩服的程序员;很难设想两个文学家,政治家,或者银行家的PK之后,会不会有类似的结果。


在这次大家对于同一个问题的不同的解决方案的尝试中很容易看到这一点。大家其实不是为了面试,就是技术人员看到有挑战性的问题本能的反应就是解决它。

再次谢谢大家的参与。

后注:今天的公司简单咖啡厅供应的每日水果是菠萝。不过阿姨过于匆忙,又出现了水里泡着菠萝,但是没有筷子的情况。我一直喜欢“有菠萝但是没筷子”,也不要“有筷子但是没菠萝”。很多事情的轻重缓急,常受此场景启发。


Posted by Jian Shuo Wang at May 11, 2010 12:56 PM

相关贴子:
评论

过来签到 http://soulogic.com/blog/archives/400.html

其实我到现在也不知道实现的对不对,要是谁能给出个杀手级集合大家都能先各自测一下就好了

Posted by: Platinum on May 11, 2010 03:24 PM

@Platinum,加到文章里面了。谢谢你对百姓网投入的热情。我们一直保持联系。

Posted by: Jian Shuo Wang on May 11, 2010 03:43 PM

最近太忙 ,本想周末写写来着.没想到这就总结了

Posted by: 阿暖 on May 11, 2010 07:24 PM

算然早就听说过博主,但最近在Buzz上看到阮一峰的那篇文章,才开始关注楼主,正好碰到这次写这个东西,获益匪浅啊。

Posted by: raiden.xu on May 11, 2010 09:55 PM

虽然早就听说过博主,但最近在Buzz上看到阮一峰的那篇文章,才开始关注楼主,正好碰到这次写这个东西,获益匪浅啊。

Posted by: raiden.xu on May 11, 2010 09:56 PM

:)很好玩,有时候,常常是博文最后一句话,漫不经心,却画龙点睛的感觉,有意思:)

Posted by: cheery on July 10, 2010 04:12 AM

个人感觉,会有漏判的情况发生,特别是当查询条件中涉及的变量之间不独立时。例如:
year_of_birthday = ... # integer, e.g. 1981
year_of_current = ... # integer, e.g. 2010
age = year_of_current - year_of_birthday
# query1_condition
age > 30
# query2_condition
year_of_current > year_of_birthday+31

应当能够判断出query2是query1的子集。

Posted by: baizhj on September 8, 2010 05:42 PM

Soulogic的实现(https://soulogic.com/subset_test/),有个问题在判断A是否是(B U C)的子集时,判断方法是“A是B的子集或者A是C的子集”这个条件(这只是充分条件,不是必要条件),没有考虑到“B和C有交集或者连续”的情况。例如B是“x [1, 100]”,C是“x [101, 200]”, A是“x [90, 110]”,这种情况下A仍然是BUC的子集,A却不是B的子集,也不是C的子集。使用Soulogic的实现(https://soulogic.com/subset_test/)测试了这样的情况,无法识别。

看了season lee的blog已经纠正这个问题。

Posted by: wangqiushi on May 13, 2012 01:53 PM

接上文,大家都提到了,问题的解决思路是:将两个查询条件都转换为“若干个条件组合”的或的形式,并且每个条件只能是多个原子条件的与。
那么在判断A是否是(B U C)的子集的时候,A,B,C都只包含“与”运算符,这时感觉可行的一种办法时计算每个A和B U C中每个变量的值域,转化为多维空间中区域包含关系判断的问题。

Posted by: wangqiushi on May 13, 2012 02:02 PM
Post a comment
大名: (我信任你会填入自己的名字,而不是你的公司或者产品的名字)

邮件地址: (嘘!我不会告诉别人的)

URL: (optional)

评论:


别着急,可能要等待多达30秒钟注意:不欢迎“沙发”,“收藏”,“受益”,“瞎扯”等等简单的不表达任何思想的留言
记住我的信息?

<-- 请只按一次
Trackbacks
TrackBack URL for this entry: http://home.wangjianshuo.com/cgi-bin/mtcn/mt-tb.cgi/543
以往的帖子
寻找象吸烟一样有利于沟通的活动 | 11 comment(s) | March 07, 2012
局部最大化的CEO们 | 7 comment(s) | February 25, 2012
好制度和坏制度 | 2 comment(s) | February 23, 2012
法律和实践 | 2 comment(s) | February 22, 2012
你有把枪抬高一厘米的自由 | 18 comment(s) | February 18, 2012
公司的青春期 | 1 comment(s) | February 17, 2012
做大和做强 | 3 comment(s) | February 11, 2012
最好的跑步地点在楼下 | 2 comment(s) | February 07, 2012
《浪潮之巅》作者吴军老师上海开讲 | 1 comment(s) | November 07, 2011
支持“不靠谱的主意”就是支持创新 | 4 comment(s) | November 05, 2011
FedEx, GE和Google的文化在打架 | 15 comment(s) | July 24, 2011
不害怕优雅和美的中国人 | 14 comment(s) | May 14, 2011
我现在的桌面 | 25 comment(s) | February 17, 2011
开始活跃于微博了 | 2 comment(s) | January 31, 2011
新年快乐2011 | 11 comment(s) | December 31, 2010
• 阅读 全部文章
© 2002 - 2009 Jian Shuo Wang. All right reserved. Terms and Conditions.
Edit