`
zqjshiyingxiong
  • 浏览: 443487 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

面试RUBY AND RAILS的一次经历

阅读更多

    今天按照自己定的步骤,一步一步的完成了面试前的准备工作,到了中午,到楼下的吃了碗骨头汤,就其中两轮车奔赴考场……

    大概过了一个小时就到达目的地了,离我住的地方不算太远。

    ...;在一楼,进去后填了一下简单的简历,一个姓刘的来面试了(可能会是我将来的老大),开始面试……老规矩,先

 

自我介绍了一番,主要是工作中用到的技术方面……

    接着,开始提问,我回答,基本可以回答上来,对RAILS这块经验不是太足……

    “其他也没什么要问的,出一道逻辑题:有36匹马,六个跑道?没有记时器等设备,用最少的比赛次数算出跑的最快的前

 

三名马?”

     “先不要谈次数,先算出三匹最快的吗?”


      一开始还有点蒙,有点不知所措,后来,慢慢的开始思考:36匹马,分6次跑,各取最快的最快的一匹,然后从其中选

 

出三个最快的马?  这样明显不对,左思右想,前三匹,前三匹……

      对,就是前三匹:将马分六次跑,各取前三名,剩下:18匹;在分三次,再各取前三剩下:9匹;再将九匹,分成两

次,一次5个,一个4个,取前三;最后还有六个,在比就得出前三名了;( 其实这里用了12次,可以变成11次,就是

 

剩下9匹的时候,任意选择6匹马比较,取前三,这样就可以少一次了!)

     第一关算是过了,不过不是最佳答案,听他的意思,最佳答案要比12次要少,其中还提示我一下:就是六次跑完了以

 

后,六个第一名进行比较!

     我想了想,还是很头大,不过第一名肯定是再这六匹马里面,我冥思苦想啊,没有结果, 他又提示我:你用了十二次,可不可以9次算出前三名!?

     那就是说在比两次,就可以出来23名了??我开始深入一个陷阱无法自拔……卡住了……

     最后没办法,他开始将给我听还画图:最快的马比完后,得出第一名,将第一名的那个组的第二名,再和其他组的第一名比,得出第二名;得第二名的那个组,下面一名再比就出比出了第三名了,OVER!
    
     开始听他讲,还是不太明白,后来看他画图才恍然大悟。

     其实前面我的思路中的一个假设(自己将这个假设变成了对的),这个假设是不成立的: 某个组的有第二或者第三名,一开始这个假设是对的,但是所有组的第一名出现了,这个假设就彻底的错了 因为所有组的第一名出来后,第二名就只会在剩下的五名第一和那个第一名的组了,第三名也是一样。还有就是,这种思路很接近程序思考的角度,就是六匹马比完了以后,他们有了次序,在通过这个次序来比出前几名。


     在路上好好想了一番,才彻底的想通了。开心哦。

     我犯了,思路上错误,还是太过局限型,不够开阔。

     RUBY ON RAILS 我来啦。加油。QJ

 

 

分享到:
评论
45 楼 zhangli123123 2009-09-03  
 
44 楼 zhangli123123 2009-09-03  
43 楼 dfinger 2009-07-22  
我也想到了.不过是从比11词想到比9次.然后想到8词..
大概用了10分钟..
42 楼 duesouth 2008-09-30  
最少8次:
第一轮:分6组,跑6次
第二轮:6个小组第一,跑1次
第三轮:淘汰小组第一倒数三个组,小组第一的取第2,3名,小组第二的取1,2名,小组第三的取第1名, 再跑一次
41 楼 Stainlesssteel 2008-09-24  
zqjshiyingxiong 写道
大家,可以想出少于9次的吗?

最好情况下7次就可以,或者验证某三匹马是不是最快的需要7次

一般情况下8次就可以了
40 楼 shaka 2008-09-23  
看到最后,感觉四个字
严重跑题!
39 楼 lzmhehe 2008-09-22  
第一组:A1、 A2、A3、 A4、 A5、 A6
第二组:B1、 B2、B3、 B4、 B5、 B6
第三组:C1、 C2、C3、 C4、 C5、 C6
第四组:D1、 D2、D3、 D4、 D5、 D6
第五组:E1、 E2、E3、 E4、 E5、 E6
第六组:F1、 F2、F3、 F4、 F5、 F6

在比一次
在假设 abcdef 就是相应的名次

按照这种想法 8次就可以
因为 第二名只能是 A2 B1  第三名 A3 B2 C1
5皮马 一次性拉出来遛遛 2,3名就确定了

38 楼 小白·菜 2008-09-22  
公务员那个答案应该是d b把?
37 楼 shaquan6776 2008-09-22  
lichwoo 写道
jwnest 写道
其实用排除法就可以把过程看的很清楚了,前面的步骤一样,6组分别比之后6个第一名比,这时候,假设排名为:A1、 B1、 C1、 D1、 E1、F1,此时可以断定A1为最快的马,然后排除法,看那些不可能是前三:
1、D,E,F组全部排除;
2、A组后三名全部排除(前面至少已经有A1,A2,A3);
3、B组后四名全部排除(前面至少已经有A1,B1,B2);
4、C组其实后五名都可以排除(前面至少已经有A1,B1,C1);

剩下的就只有:A2、A3、B1、B2、C1,跑一次ok了

你说的很对!

妙!好像只需要三次吧
36 楼 lichwoo 2008-09-21  
jwnest 写道
其实用排除法就可以把过程看的很清楚了,前面的步骤一样,6组分别比之后6个第一名比,这时候,假设排名为:A1、 B1、 C1、 D1、 E1、F1,此时可以断定A1为最快的马,然后排除法,看那些不可能是前三:
1、D,E,F组全部排除;
2、A组后三名全部排除(前面至少已经有A1,A2,A3);
3、B组后四名全部排除(前面至少已经有A1,B1,B2);
4、C组其实后五名都可以排除(前面至少已经有A1,B1,C1);

剩下的就只有:A2、A3、B1、B2、C1,跑一次ok了

你说的很对!
35 楼 mercuryzhang 2008-09-20  
pdreamer 写道
结果就8次
1、分6组比出各组的1、2、3名
2、6组中的第一名进行夺冠
3、冠军所在组的2、3名,亚军组和季军组的1、2名同时出战决出季军亚军


正解!!!顶!!!
34 楼 neora 2008-09-20  
愕然!太遗憾了,如果我去面试那个程序员的职位,我肯定是没法在规定时间内答上来的。公务员的那个考题倒是平易近人一些。
33 楼 zhengshina5 2008-09-20  
用1次就行了吧,他又没说不让加跑道,加点跑道,在一组跑被!
32 楼 zqjshiyingxiong 2008-09-20  
大家,可以想出少于9次的吗?
31 楼 zqjshiyingxiong 2008-09-20  
qichunren 写道

楼主,我想问一下,你是面试Ruby On Rails的,他没有问你关于ROR这一块的内容吗?或者说他不面试一下,你的ruby 学得怎么样之类 的.关注Ruby On Rails面试经验.

呵呵,对的,我去面试的这家使用ROR的,不过我以前一直在用J2EE,其实具体关于ROR的内容
没提问多少,主要让我谈谈使用ROR的感受和使用经历;我觉得还是用动手去写一些项目,才是硬道理。(实践出真知)
30 楼 waryist 2008-09-19  
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>
<div class='quote_title'>becklin 写道</div>
<div class='quote_div'>两道题都选B</div>
<p> </p>
<p> 我俩选的一样,但答案却不是</p>
</div>
<p><br/>答案C,D?真晕,很明显是试题有问题,看到那么多错别字就知道。。。想钱想疯了</p>
29 楼 becklin 2008-09-19  
zzm_fly2004 写道
呵呵,尝试算了一下,结果如下:

1、将36匹马分6小组,分别进行比赛,得出的比赛名次如下:
第一组:A1、 A2、A3、 A4、 A5、 A6
第二组:B1、 B2、B3、 B4、 B5、 B6
第三组:C1、 C2、C3、 C4、 C5、 C6
第四组:D1、 D2、D3、 D4、 D5、 D6
第五组:E1、 E2、E3、 E4、 E5、 E6
第六组:F1、 F2、F3、 F4、 F5、 F6

2、A1、 B1、 C1、 D1、 E1、 F1进行比赛,假设得出的排名为:A1、 B1、 C1、 D1、 E、1 F1,此时可以断定A1为最快的马,horse1 =  A1;
3、拿B1与(A2、A3、 A4、 A5、 A6)进行比赛,如果B1最快,那么horse2 = B1,并跳转到步骤4;如果A2最快,那么horse2 = A2 horse3 = B1,
此时共用的比赛次数为:8;
4、将C1与(A2、A3、 A4、 A5、 A6)进行比赛,如果C1或者A2最快,那么,再将C1或者A2与(B2、B3、 B4、 B5、 B6)进行比赛,
可以确定 horse3 = C1或者 horse3 =B2,此时,共用的比赛次数为:9次;

所以最后,比赛的次数为:8次或者9次。不知道对不对!

A3也有可能得第三,你第3步的推理是有问题的
28 楼 becklin 2008-09-19  
lzasi 写道
怎么都没有考虑并列的情况

有并列的情况一样啊,把并列的马打包,要参赛的话派一个代表就可以了,要淘汰的话一起淘汰就可以了。
27 楼 hyhongyong 2008-09-19  
lzasi 写道
怎么都没有考虑并列的情况

并列更好说了,只取其中之一比就行。总之不需要比8次以上啊。
26 楼 becklin 2008-09-19  
qiyongjun 写道
你们有没有考虑某个小组实力很强,按真实成绩,前三名都是他们小组的。你们这种方法都不行的

可以的,前三名都是一个小组的情况,只有A组有这个可能,而A2,A3都参加了最后一轮的比赛。

相关推荐

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    ruby on rails 101

    《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天课程的演示文稿和相关资料,覆盖了从安装到实际应用...

    ruby on rails最新版

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...

    Ruby on Rails安装包全集(Linux)

    Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...

    Beginning Ruby on Rails

    Ruby on Rails is the revolutionary online programming tool that makes creating functional e-commerce web sites faster and easier than ever. With the intuitive, straightforward nature of Ruby and the ...

    ruby on rails 3 tutorial.pdf

    《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    Pro Active Record. Databases with Ruby and Rails

    Databases with Ruby and Rails》是一本深入探讨Ruby on Rails框架中Active Record库的专著。这本书详细阐述了如何利用Ruby语言和Rails框架来高效地处理数据库操作,帮助开发者理解并掌握数据库与Web应用之间的紧密...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **定义**:Rails是一种用于快速开发Web应用程序的开源框架,基于Ruby语言。 - **特点**:Rails遵循“约定优于配置”的原则,简化了Web应用的开发过程,使得开发者能够专注于业务逻辑而非框架本身。 #### 三、创建...

    Ruby on Rails实践

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...

    ruby on rails for dummies

    《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...

    Ruby on Rails中文指南

    7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...

    Ruby On Rails中文教材(PDF)

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...

    Ruby for Rails

    Ruby for Rails 英文原版, pdf格式 &lt;br&gt;本书是一部专门为Rails实践而写的经典Ruby著作,由四部分组成,共17章。第一部分讲述Ruby和Rails的编程环境。第二部分和第三部分与 Rails紧密联系,着重对Ruby这门语言...

    ruby on rails在线考试系统

    Ruby on Rails(简称Rails)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程并提高效率。在这个“ruby on rails在线考试系统”中,我们可以探讨以下几...

Global site tag (gtag.js) - Google Analytics