Нашел пост некого индийского rails программиста, который постит вопросы с интервью. Хоть там и не написано, откуда он их взял и реально ли их кто-то у него (или он сам) спрашивает, но выглядят они более менее вменяемо (upd: по мне, так чушь полная) - http://railsbuilder.blogspot.com/2009/04/ruby-on-rails-interview-questions.html
Ну и что бы самому узнать что-то новое, решил его перевести ну и добавить что-нибудь от себя:
1. Почему Ruby on Rails?
В использовании ruby on rails есть много плюсов:
- DRY(don't repeat yourself) Principal
- Convention over Configuration
- Gems and Plugins
- Scaffolding
- Pure OOP Concept
- REST Support
- Rack support
- Action Mailer
- RPC support
- Rexml Support (посмотреть тесты производительности других xml бибилотеки можно тут. Как видно, rexml далеко не крут.)
- etc...
2. В чем разница между Symbol и String.
У автора написано как-то мало. Подробней можно почитать тут - http://rubydev.ru/2011/01/ruby_symbols
3. Что такое request.xhr?
С помощью request.xhr можно проверить, action вызван с комощью аякса или нет . Всегда возвращает тип Boolean.
def name
# Is this an XmlHttpRequest request?
if (request.xhr?)
render :text => @name.to_s
else
# No? Then render an action.
render :action => 'view_attribute', :attr => @name
end
end4. Что можно определить в моделях?
Например:
- Validations (validates_presence_of, numeracility_of, format_of etc.)
- Relationships (has_one, has_many, HABTM etc.)
- Callbacks (before_save, after_save, before_create etc.)
- Какие-нибудь настройки плагинов
- Чистые SQL запросы, без AR.
5. Что такое ORM в Rails?
ORM расшифровывается как Object-relationship mapping. Это значит, что рубишный класс - это обертка для таблицы с БД, а поля класса - обертка для полей в этой таблице. После объяснен
6. Какие типы ассоциаций поддерживают модели?
Когда у вас в проекте более, чем одна модель, вам надо создавать связи между ними. Делается это с помощью ассоциаций. AR поддерживает 3 типа ассоциаций:
- one-to-one
- one-to-many
- many-to-many
Делается это с помощью has_one, has_many, belongs_to, and has_and_belongs_to_many. Подробней - http://edgeguides.rubyonrails.org/association_basics.html
После первого беглого просмотра поста этого индуса мне показалось, что там бдут крутые вопросы ("ну 50 штук же, как они могут быть унылые", подумал я). Но они оказались мега унылые. Я не знаю, зачем я написал эти 6 вопросов тут. Оставлю их, на случай, если они вдруг кому-то плкажутся нормальными и информативными.
Индусы, такие индусы! Видел несколько индусских блогов по рельсам и почти все они бесконечно бесполезны. Там в основнам статьи на 5 строк и не о чем. Единственный индийский rails - программист, которого я уважаю это Satish Talim. Все или почти все плюса rails можно встретить и в других фреймворках. Rack support - "Поддержка Rack", каким таким ... rails поддерживает rack? Rails работает над Rack! Кроме того, все веб фреймворки на Ruby работают на базе Rack...
ОтветитьУдалитьСоглашусь с вами, интервью отстой, но и с него есть польза - теперь люди будут снать, что нужно избигать индийских rails блогов =)