Rails Web Developer Quiz

Posted by Dominic on July 13, 2010

Here’s a quiz we ran last year, at Employment.nil, Toronto first Ruby job fair.

See if you can get them all, I’ll post the answers in a couple weeks, and if you have your own favorite trick questions, post them here.

Javascript

1. An external JavaScript must contain the <script> tag, true or false?

2. What is the purpose of the the SWFObject javascript library?

Ruby

3. Given:

a = ‘foo’
b = nil

first = a && b
second = a and b

Are first and second equal?

4. True or false?

1
1/2 == 0.5

5. If ('1'..'10').to_a returns:

["1", "2", "3", "4", ..... "10"]

What does ('2'..'10').to_a return?

Rails

6. Given the following class:

1
2
class Monkey &lt;&lt; ActiveRecord::Base
has_many :bananas, :order =&gt; 'size ASC'

named_scope :starting_from_massive, :order => ‘size DESC’
end

What SQL is generated for the following queries:

1
2
3
@monkey.bananas
@monkey.bananas.starting_from_massive
@monkey.bananas.all(:order =&gt; nil)

XHTML:

7. The DOCTYPE declaration has no closing tag, true or false?

8. All XHTML tags and attributes must be in lower case, true or false?

9. There is a way of describing XML data, how?

10. What does DTD stand for?

AJAX:

11. AJAX functionality is achieved by using what object?

CSS:

12. Should you clear floats?

13. How do you properly clear floats?

14. How do you write IE specific css?
Bonus: what is the problem with this?

Everything – Multiple Choice

15. Rails: Which of the following is not a form helper method?

a. text_field_tag
b. text_input_tag
c. text_area_tag
d. hidden_field_tag

16. What’s the default REST HTTP action verb for updating an existing record?

a. PUT
b. UPDATE
c. POST
d. PUSH

17. Which of the following is not a core Rails package?

a. ActionMailer
b. ActionController
c. ActiveRecord
d. ActiveResource

18. Which of the following is not an instance method of Object?

a. to_a
b. to_i
c. taint
d. hash

19. Which of the following is not a valid render option?

a. :update
b. :partial
c. :string
d. :file

20. Which of the following is not a valid ActionController filter declaration?

a. before_filter
b. clear_filter
c. after_filter
d. around_filter

21. Which of the following is not a valid ActiveRecord callback type?

a. before_create
b. before_validation_on_create
c. after_destroy
d. before_validation_on_destroy

22. XML is to XHTML as this is to HTML.

23. The keys of a model’s attributes are stored using this data type.

24. This is the RFC 2324 definition for HTTP status code 418.

24. Bonus: what does this do???

1
data.gsub(/[^\d]/, '').split('').reverse.enum_with_index.collect{|x, i|  (i%2!=0)? (x.to_i*2).to_s.split('').inject(0){|sum, i| sum + i.to_i} :  x.to_i}.inject(0){|sum, i| sum + i}%10 != 0

R or RoR:
—-

1. Ruby:
Given:
a = ‘foo’
b = nil

first = a && b
second = a and b
Are first and second equal?
No. first one equals nil, second equals foo

2. Ruby:
True or false: 1/2 == 0.5
false 1/2 is int, .5 is float
1/2 is equal to zero because it is an int divided by an int, they don’t have the precision to give the correct answer

3. Ruby:
If (’1′..’10′).to_a returns :

["1", "2", "3", "4", ..... "10"]

what does (’2′..’10′).to_a return?

answer: empty array because ’10′ precedes ’2′

It’s ordering by string representation, not integer

4. Rails:

class Monkey << ActiveRecord::Base has_many :bananas, :order => ‘size ASC’

named_scope :starting_from_massive, :order => ‘size DESC’
end

What is the SQL for

@monkey.bananas
@monkey.bananas.starting_from_massive
@monkey.bananas.all(:order => nil)

Answer:
1: select * from monkeys order size ASC
2. select * from monkeys order size ASC, size DESC
3. select * from monkeys order size ASC

5. What does the H in DHH stand for? Spell it?
Hein

—-
4. XHTML:
The DOCTYPE declaration has no closing tag
False

5. All XHTML tags and attributes must be in lower case
true

6. There is a way of describing XML data, how?
Document Type Definition

7. What does DTD stand for?
Document Type Definition

Javascript:
—-
8. What is the purpose of the the swf object javascript library?
To work around the judgement against Microsoft regarding the Eolas patent defining “Embedded Objects Linked Across Systems”.

Ajax:
A little bit tougher now: AJAX functionality is achieved by using what object?
XMLHttpRequest

CSS:
—-
1.
Should you clear floats?
yes

2.
How do you properly clear floats?
overflow: hidden;
_height: 1%;

3.
How do you write ie specific css?
_element are for ie6
*element are for ie7

Bonus: what is the problem with this?

Multiple Choice

Which of the following is not a form helper method?

text_field_tag
text_input_tag
text_area_tag
hidden_field_tag

What’s the default REST HTTP action verb for updating an existing record?

PUT
UPDATE
POST
PUSH

Which of the following is not a core Rails package?

ActionMailer
ActionController
ActiveRecord
ActiveResource

Which of the following is not an instance method of Object?

to_a
to_i
taint
hash

Which of the following is not a valid render option?

:update
:partial
:string
:file

Which of the following is not a valid ActionController filter declaration?

before_filter
clear_filter
after_filter
around_filter

Which of the following is not a valid ActiveRecord callback type?

before_create
before_validation_on_create
after_destroy
before_validation_on_destroy

Simple Answers

This is the “H” in “DHH”.

What is Heinemeier?
(Spelling can count)

XML is to XHTML as this is to HTML.

What is SGML?

The keys of a model’s attributes are stored using this data type.

What is String?
or
What are Strings?

This is the RFC 2324 definition for HTTP status code 418.

What is “I’m a teapot”?
// ]]>

One Response to Rails Web Developer Quiz

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>