1. Which of the following will return a User object when used with a model which deals with
a table named User?
Answers:
• User.new
• User.destroy
• User.find
• User.save
2. In the case of Rails application performance optimization, select all valid ways to do
assets compilation:
Answers:
• Running the rake task with the assets:precompile parameter when CSS and JavaScript files are updated.
• Set a true value for the config.assets.compile parameter in the config/environments/production.rb file.
• Implementing the Rails asset pipeline feature to minify JavaScript & CSS assets.
• All of these.
3. What is the best way to get the current request URL in Rails?
Answers:
• request.url
• request.request_uri
• request.fullpath
• request.current_path
4. How can a value be stored so that it's shared across an entire request (i.e. make it
accessible in controllers, views and models)?
Answers:
• Put it in a global variable.
• Create a Singleton and store it in a class variable.
• Store it in a thread locally.
5. Which of the following commands adds the data model info to the model file?
Answers:
• bundle install
• generate model
• annotate
• Rails server
6. Which of the following HTML template languages are supported by Ruby?
Answers:
• Embedded Ruby
• HAML
• Mustache
• Razor
7. In a has_many association, what is the difference between build and new?
// user.rb
has_many :posts
// post.rb
belongs_to :user
Answers:
• 'new' sets the foreign key while 'build' does not.
• 'build' sets the foreign key while 'new' does not.
• 'build' sets the foreign key and adds it to the collection.
• 'new' sets the foreign key and adds it to the collection.
8. What is the output of the following code?
"test"*5
Answers:
• type casting error
• test5
• 5
• testtesttesttesttest
9. When using full-page caching, what happens when an incoming request matches a page in
the cache?
Answers:
• The web-server serves the file directly from disk, bypassing Rails.
• Rails checks to see if there is a cached page on disk and passes it onto the server.
• Rails checks its in-memory cache and passes the page onto the server.
10. What is the difference between _url and _path while being used in routes?
Answers:
• _url is absolute while _path is relative.
• _path is relative while _path is absolute.
• _path is used in controllers while _url is used in views.
• _path is used in views while _url is used in controllers.
11. Which of the following code samples will get the index of |page| inside of a loop?
Answers:
• <% @images.each.do |page,index| %> <% end %>
• <% @images.each_with_index do |page, index| %> <% end %>
• <% @images.collect.each.at_index do |page, index| %> <% end %>
• None of these
12. Which of the following choices will write routes for the API versioning scenario
described below?
/api/users returns a 301 to /api/v2/users
/api/v1/users returns a 200 of users index at version 1
/api/v3/users returns a 301 to /api/v2/users
/api/asdf/users returns a 301 to /api/v2/users
Answers:
• namespace :api do namespace :v1 do resources :users end namespace :v2 do resources :users end match 'v:api/*path', :to => redirect("/api/v2/%{path}") match '*path', :to => redirect("/api/v2/%{path}") end
• namespace :api do resources :users end namespace :v2 do resources :users end match 'v:api/*path', :to => redirect("/api/v1/%{path}") match '*path', :to => redirect("/api/v1/%{path}") end
• namespace :api do scope :module => :v3, ¤t_api_routes namespace :v3, ¤t_api_routes namespace :v2, ¤t_api_routes namespace :v1, ¤t_api_routes match ":api/*path", :to => redirect("/api/v3/%{path}") end
• None of these
13. What is the output of the following Ruby code?
puts "The multiplication output of 10,10,2 is #{10*10*2}"
Answers:
• 200.
• The multiplication output of 10,10,2 is #{10*10*2}.
• The multiplication output of 10,10,2 is 200.
• The code will give a syntax error.
14. What is difference between "has_one" and "belong_to"?
Answers:
• "has_one" should be used in a model whose table have foreign keys while "belong_to" is used with an associated table.
• "belong_to" should be used in a model whose table have foreign keys while "has_one" is used with an associated table.
• The two are interchangeable.
• None of these.
15. Which of the following is the correct way to know the Rails root directory path?
Answers:
• RAILS_ROOT
• Rails.root
• Rails.root.show
• Rails.show.root
16. What is best way to create primary key as a string field instead of integer in rails.
Answers:
• when creating a new table don't add primary key using this create_table users, :id => false do |t| t.string :id, :null => false ...... end execute("ALTER TABLE users ADD PRIMARY KEY (id)") if not using id as primary key then in users model add the following line class User < ActiveRecord::Base self.primary_key = "column_name" .... end
• you can add a key to column name to make it primary create_table users :id => false do |t| t.string :column_name, :primary => true end
17. In a Rails application, a Gemfile needs to be modified to make use of sqlite3-ruby gems.
Which of the following options will use these gems, as per the new Gemfile?
Answers:
• install bundle Gemfile
• bundle install
• mate Gemfile
• gem bundle install
18. What is the recommended Rails way to iterate over records for display in a view?
Answers:
• Implicitly loop over a set of records, and send the partial being rendered a :collection.
• Use each to explicitly loop over a set of records.
• Use for to fetch individual records explicitly in a loop.
19. where we use attr_accessor and attr_accessible in rails ?
Answers:
• controller
• helper
• model
• view
20. Given the following code, where is the "party!" method available?
module PartyAnimal
def self.party!
puts "Hard! Better! Faster! Stronger!"
end
end
class Person
include PartyAnimal
end
Answers:
• PartyAnimal.party!
• Person.party!
• Person.new.party!
• Both PartyAnimal.party! and Person.party!
• None of these
21. Which part of the MVC stack does ERB or HAML typically participate in?
Answers:
• Class
• Controller
• Model
• Module
• View
22. Which of the following items are stored in the models subdirectory?
Answers:
• helper classes
• database classes
• HTML layout templates
• Config files
23. What is the output of the following code in Ruby?
x= "A" + "B"
puts x
y= "C" << "D"
puts y
Answers:
• AB CD
• AB C
• AB D
• AB DC
24. Which gem is used to install a debugger in Rails 3?
Answers:
• gem 'ruby-debug1'
• gem "ruby-debug19"
• gem "debugger19"
• gem "ruby-debugger"
25. What exception cannot be handled with the rescue_from method in the application
controller?
e.g
class ApplicationControllers < ActionController::Base
rescue_from Exception, with: error_handler
..........
end
Answers:
• Server errors
• Record not found (404)
• Routing errors
• All of these
26. What component of Rails are tested with unit tests?
Answers:
• Models
• Controllers
• View helpers
27. Which of the following replaced the Prototype JavaScript library in Ruby on Rails as
the default JavaScript library?
Answers:
• jQuery
• Ajax
• Script.aculo.us
• ajax-li
28. If a method #decoupage(n) is described as O(n^2), what does that mean?
Answers:
• The fewest number of operations it will perform is n*n.
• The worst case run time is proportional to the size of the square of the method's input.
• The method operates by squaring the input.
• The return value for the method will be the length of the input squared.
29. What is green-threading?
Answers:
• A design pattern where a fixed-size pool of threads is shared around a program.
• When threads are emulated by a virtual machine or interpreter.
• Where programs are run across multiple CPUs.
30. Which of the following assertions are used in testing views?
Answers:
• assert_valid
• assert_select_email
• assert_select_encoded
• css_select
31. Is an AJAX call synchronous or asynchronous?
Answers:
• Asynchronous
• Synchronous
• Either; it is configurable
32. Which of the following commands will clear out sample users from the development
database?
Answers:
• rake db:migrate
• rake db:reset
• rake db:rollback
33. Given below are two statements regarding the Ruby programming language:
Statement X: "redo" restarts an iteration of the most internal loop, without checking loop
condition.
Statement Y: "retry" restarts the invocation of an iterator call. Also, arguments to the
iterator are re-evaluated.
Which of the following options is correct?
Answers:
• Statement X is correct, but statement Y is incorrect.
• Statement X is incorrect, but statement Y is correct.
• Both statements are correct.
• Both statements are incorrect.
34. Choose the best way to implement sessions in Rails 3:
A) Using CookieStore
B) By creating a session table and setting config/initializers/session_store.rb with Rails.
application.config.session_store :active_record_store
C) By setting config/initializers/session_store.rb with Rails.application.config.
session_store :active_record_store only
Answers:
• A
• B
• C
• B and C
35. Which of the following is the correct way to skip ActiveRecords in Rails 3?
Answers:
• ActiveRecords cannot be skipped.
• Use option -O while generating application template.
• Use option -SKIP_AR while generating the application template.
• Add new line SKIP: ACTIVERECORD in config.generators.
36. Which of the following is the default way that Rails seeds data for tests?
Answers:
• Data Migrations
• Factories
• Fixture Factories
• Fixtures
37. Which of the following options, when passed as arguments, skips a particular validation?
Answers:
• :validate => skip
• :validate => off
• :validate => disable
• :validate => false
38. What declaration would you use to set the layout for a controller?
Answers:
• layout 'new_layout'
• set_layout 'new_layout'
• @layout = 'new_layout'
39. What is the output of the following code?
puts "aeiou".sub(/[aeiou]/, '*')
Answers:
• *
• *****
• *eiou
• nil
40. Suppose a model is created as follows:
rails generate model Sales
rake db:migrate
What would be the best way to completely undo these changes, assuming nothing else has
changed in the meantime?
Answers:
• rails reset models; rake db:rollback
• rails destroy model Sales; rake db:rollback
• rake db:rollback; rails rollback model Sales
• rake db:rollback; rails destroy model Sales
41. What is the difference between :dependent => :destroy and :dependent => :delete_all in
Rails?
Answers:
• There is no difference between the two; :dependent => :destroy and :dependent => :delete_all are semantically equivalent.
• In :destroy, associated objects are destroyed alongside the object by calling their :destroy method, while in :delete_all, they are destroyed immediately, without calling their :destroy method.
• In :delete_all, associated objects are destroyed alongside the object by calling their :destroy method, while in :destroy, they are destroyed immediately, without calling their individual :destroy methods.
• None of these.
42. Which of the following methods is used to check whether an object is valid or invalid?
Answers:
• .valid? and .invalid?
• valid() and invalid()
• isvalid and isinvalid
43. Which of the following is the correct way to rollback a migration?
Answers:
• A migration cannot be rollbacked.
• rake db:rollback STEP=N (N is the migration number to be rollbacked)
• rake db:migrate:reset: (N) (N is the migration number to be rollbacked)
• rake db:rollback migration=N (N is the migration number to be rollbacked)
44. Which of the following is the correct syntax for an input field of radio buttons in
form_for?
Answers:
• <%= f.radio_button :contactmethod, 'sms' %>
• <%= f.radio_button_tag :contactmethod, 'sms' %>
• <%= radio_button_tag :contactmethod, 'sms' %>
• <%= f.radio_button "contactmethod", 'sms' %>
45. Which is the best way to add a page-specific JavaScript code in a Rails 3 app?
<%= f.radio_button :rating, 'positive', :onclick => "$('some_div').show();" %>
Answers:
• <% content_for :head do %> <script type="text/javascript"> <%= render :partial => "my_view_javascript" </script> <% end %> Then in layout file <head> ... <%= yield :head %> </head>
• In the application_helper.rb file: def include_javascript (file) s = " <script type=\"text/javascript\">" + render(:file => file) + "</script>" content_for(:head, raw(s)) end Then in your particular view (app/views/books/index.html.erb in this example) <% include_javascript 'books/index.js' %>
• In the controller: def get_script render :file => 'app/assessts/javascripts/' + params[:name] + '.js' end def get_page @script = '/' + params[:script_name] + '.js?body=1' render page end In View <script type="text/javascript",:src => @script>
• None of these
46. In order to enable locking on a table, which of the following columns is added?
Answers:
• lock_version column
• identity column
• primary key column
• lock_optimistic column
47. If a float is added to an integer, what is the class of the resulting number? i.e. 1.0
+ 2
Answers:
• Integer
• Float
• BigDecimal
48. In a Rails Migration, which of the following will make a column unique, and then have
it indexed?
Answers:
• add_index :table_name, :column_name, :unique => true
• add_index :unique => true ,:table_name, :column_name
• add_index :table_name, [:column_name_a, :unique => true ,:column_name_b], :unique => true
• None of these
49. Which of the following will disable browser page caching in Rails?
Answers:
• expire_page(:controller => 'products', :action => 'index')
• expire_fragment(:controller => 'products', :action => 'index')
• expire_page_fragment('all_available_products')
• expire_fragment('all_available_products')
50. Which of the following commands will test a particular test case, given that the
tests are contained in the file test/unit/demo_test.rb, and the particular test case
is test_one?
Answers:
• $ ruby -Itest test/unit/demo_test.rb -n test_one
• $ ruby -Itest test/unit/demo_test.rb -a test_one
• $ ruby -Itest test/unit/demo_test.rb test_one
• $ ruby -Itest test/unit/demo_test.rb -t test_one
No comments:
Post a Comment