Собеседование Ruby On Rails Developer

4,184 views
Skip to first unread message

digitalfox

unread,
Feb 1, 2012, 4:08:51 PM2/1/12
to RubyOnRails to russian
Здравствуйте!
Начинаю готовиться к собеседованию на Ruby on Rails разработчика.
Времени в запасе 1-1,5 месяца. Как мне лучше организовать свою
подготовку? Думаю почитать какую-нибудь полезную книжку, чтобы
подготовиться к теоретическим вопросам. Что лучше всего читать перед
собеседованием? Я читаю медленно и вкрадчиво, поэтмоу мне нужно 1-2
книжки, но с толком (я уже читал Agile WebDev with Rails Дэейва
Томаса, повторял все примеры а ним и ещё пару книжек мельком читал).
Навскидку подобрал парочку с наиболее высоким рейтингом на Амазоне:
http://www.amazon.com/Learning-Rails-Simon-St-Laurent/dp/0596518773/ref=sr_1_12?s=books&ie=UTF8&qid=1328126903&sr=1-12
http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0321601661/ref=sr_1_5?s=books&ie=UTF8&qid=1328126903&sr=1-5
http://www.amazon.com/Service-Oriented-Design-Rails-Addison-Wesley-Professional/dp/0321659368/ref=sr_1_9?s=books&ie=UTF8&qid=1328126903&sr=1-9
Какую из них стоит читать сейчас в моей ситуации? Или посоветуйте что-
то своё.
Планирую за месяц (может за полтора-два) написать средний (по
сложности и объёмам) проектик для портфолио (небольшая спецефическая
соц. сеть). Наивный мальчик, думаю буду кодить по вечерам каждый
день...
А чем ещё мне полезно заниматься сейчас, помимо чтения и попыток
написать свой хорошенький проект? За 1-1,15 месяца. Я всё-таки наверно
пока ещё junior, хотя предполагается что вопросы на собеседовании
могут быть и для mid-а / senior'а.
И ещё, хотелось бы услышать ваши истории и ваш опыт. По теоретической
части, какие вопросы? (хотя я уже понял, что они всегда разные,
начиная от "а чё происходит когда пользователь ввёл в адресную строку
адрес сайта и нажал энтер"). Очень много вопросов по структурам
данных, часто строки и массивы любят теребить, как я понял, в т.ч.
могут очень каверзные примеры задать на работу с ними вроде "как из
этого набора элементов добиться вывода такой строки"... а я думаю, я с
этим никогда не сталкивался.. чёрт возьми и как же я должен был
догадаться? (когда уже узнал правильный ответ)
Вот как мне с этим бороться? Как к этому готовиться? Такие вопросы
меня вгоняют в ступор (хотя это вроде вовсе не на Junior'а).
Тестовые задания. Какие были у вас? Был бы признателен, если бы вы
поделились со мной примерами...
И ещё, какое чтиво посоветуете по ООП, MVC, паттернам программирования
и ещё что там считается нужным в теоретической части и может всплыть
на собеседовании? Концепции я понимаю, нужно такие книги, которые
могут разложить всё по полочкам и помочь не растеряться на
собеседовании (о, я люблю теряться на всяких там экзаменах и плакать в
подушку прямо в аудитории, но мне больше вовсе не хочется так
поступать).
Может быть я не вижу каких-то подводных камней? Будьте добры,
расскажите мне пожалуйста ^.^

Alexey Plutalov

unread,
Feb 1, 2012, 4:17:02 PM2/1/12
to ror...@googlegroups.com
Я бы посоветовал Obie Fernandez - Rails Way (последнее издание, если не ошибаюсь второе, которое по Rails 3). Ну и Ruby Way по версии 1.9. Хорошим подспорьем будет Metaprogramming Ruby от издательства Pragmatic Programmers. Последнее написано почти что, как просто рассказ. Так что читается она просто в лет, а знания по Ruby дает на очень высоком уровне, по крайней мере в области метапрограммирования на нем, и понимая его работы, что весьма важно при разработке на Ruby, и Rails вообще. Первая книга - наверное наиболее полное описание Rails от А до Я, что я видел. Она у вас в списке как раз. Сегодня сам с собеседования, и очередной раз на своей шкуре ощущаю, что знание фреймворка не менее важно, нежели знание языка на хорошем уровне. )))

четверг, 2 февраля 2012 г. пользователь digitalfox писал:
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

 Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror...@googlegroups.com
 Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-un...@googlegroups.com
 Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 4:19:21 PM2/1/12
to ror...@googlegroups.com
По Rails стоит прочитать The Rails Way. Эта очень хорошая книга для того, чтобы перестать быть джуниором.
Всегда нужно понимать слова, которые говоришь, потому что могут спросить, а что они значат. Тем более, если человек говорит какие-то слова и плывет в них или не очень верно их говорит, то узнать понимание терминов в такой ситуации логично. Я лично так всегда поступаю.

Стоит понимать, что такое стандартные структуры данных: деревья, какие они бывают, зачем используются, что такое массив, как его можно сортировать и за какое время (очень приятно, когда человек знает теоретическую минимальную оценку сортировки массива сравнениями и понимает откуда она берется), что такое hash (map, dict, хэш-таблица). Практика показывает, что люди не понимают, что такое hash, а некоторые даже и не знают, чем он отличается от массива вообще. Многие люди не могут ответить на вопрос, а как решется в хэше колизии, хотя на этот вопрос можно ответить и не зная ответа, в данном случае это очень показательно, потому что если человек не может решить (пусть и в стрессовой ситуации) простейшую задачку по программированию, то зачем он нужен?

Стоит знать о практиках и традициях программирования в Rails. 

Стоит понимать, хоть на каком-то уровне, как работают web-server, что такое TCP, DNS, HTTP/1.1, что такое 304 и как это все работает :)

Стоит понимать, что такое база данных, как вообще примерно она работает, общие базовые теоретические вещи, типа Алегба А, Алегбра Кодда, нормальные формы. Понимать что такое транзакция, какие могут возникать проблемы при работе двух параллельных транзакций и как они решаются в БД. Что такое индексы, что такое селективность индексов, какие-то примитивные практики, когда их использовать, а когда нет.

2012/2/2 digitalfox <pori...@gmail.com>

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 4:27:35 PM2/1/12
to ror...@googlegroups.com
Ну, и еще важно. Некоторые дают задачки на сообразительность или на алгоритмы. Когда я их спрашиваю у человека я не ставлю целью получить сразу правильное решение, а посмотреть, как человек будет мыслить. Какие у него будут идеи. Как он себя будет вести в стрессовой ситуации (решать задачки на собеседовании не имея большого опыта или опыта в олимпиадах это всегда стресс). Так что не стоит бояться говорить иногда идеи, которые вам кажется разумными, но еще не доведенные до конца. При этом не стоит ждать, что на вашу высказанную идею как-то отреагируют, например скажут, что она хорошая или плохая. Сначала вам дадут время самому убедиться в ее верности или нет. Разве что будут задавать наводящие вопросы про трудные места, про которые вы могли не подумать.

И если вы что-то пишите в резюме, например сертификаты или что-то такое, то вероятно про это могут спросить. Например, мы собеседовали человека, у которого было написано в резюме, что он учился в ШАД (Школа Анализа Данных Яндекса). Тут же получил от меня сначала вопрос, а что такое собственные значения оператора, а потом пару вопросов по самым первым темам лекций, которые читает Макс Бабенко и которые непосредственно касаются алгоритмов в частности поиска. Человек, кстати, нормально ответил для того, кто учился там какое-то время назад и не пользовался материалом, по которому задавали вопросы.

2012/2/2 digitalfox <pori...@gmail.com>

digitalfox

unread,
Feb 1, 2012, 4:36:12 PM2/1/12
to RubyOnRails to russian
Спасибо! Завтра же начну читать и изучать (точнее, уже сегодня
вечером)...

2Timothy, отельное спасибо,вот как раз такого списочка вопросов мне
как раз не зватало) большая часть мне хорошо знакома, пора начать
освежать хорошо забытое старое :) особенно про хэш)) я понимаю чем он
от массива отличается, но поймал себя на мысли, что словами это
выразить уже не могу(( такая я не умница... пойду совершенствоваться.

Ещё... немного наивный вопрос, но надеюсь, вы меня поймёте правильно
сейчас... Как вы читаете тематическую литературу? Вероятно, на какие-
то вещи вы смотрите по-особому, уделяете значительное внимание?.. Есть
какие-нибудь хитрости "эффективного чтения"? ^.^

Ещё... Я хотел бы узнать о нетрадиционном программировании (TDD/BDD и
в том же духе), как то Cucumber и иже с ним. Как я понимаю, в RoR это
популярная тема (мне не очень понравилось с Кукумбером
разрабатывать... показалось неочевидным и остро страдал от нехватки
хоть какой-нибудь документации, лит-ры, а главное скринкастов)... это
лечится? и есть ли реальный смысл мне разбираться с ними для
собеседования?..
И про деплой проектов что-нибудь спецефическое нужно знать? Я никогда
с этим не заморачивался, т.к. существенных проектов готовых у меня
пока нет, а то, что мне приходилось выкладывать, я клал на Хероку и не
заморачивался с деплоем. Мне стоит беспокоиться? И если да, то в какую
сторону?

Alexey Plutalov

unread,
Feb 1, 2012, 4:37:51 PM2/1/12
to ror...@googlegroups.com
И еще есть Well-Ground Rubyist. Есть еще несколько книг по руби и самим рельсам: Eloquent Ruby, Design Patterns in Ruby, и не вспомню название, что то типа Антепаттерны в Rails приложениях. Вот последние три я не читал, так что особо много не могу сказать. Well-Ground Rubyist мне понравилась и показалась хорошим подспорьем для выхода с начального уровня Ruby на уровни выше. В частности рассматриваются best-practice написания приложений на Ruby.

Что касается вопросов:
1) Общие знания Rails, работа с SQL, понимание механизмов работы, какие гемы использовал и для каких задач. Мини задачки. К примеру почему для Time нельзя использовать #now, а нужно использовать #current. 
2) Вопросы по самому Ruby, и как мне сегодня показалось, их было больше, чем по рельсам. Знание каких-то методов. Вопросы по аттрибутам, readonly, accessors. ООП. Области видимости, как они применяются и что дают. Или например, как имея название метода объекта в виде строки вызвать его. А если мы знаем имя метода, и у нас есть имя класса, но не сам класс. Преимущества и опасность использования eval.
3) Общие задачи на сообразительность. Например, "Есть бесконечно огромный сортированный список элементов, и у нас есть элемент, который надо вставить без нарушения сортировки, и функция сравнения. Как это сделать наименьшими затратами." По сути, задача на знание алгоритмов, в данном случае двоичный поиск )

четверг, 2 февраля 2012 г. пользователь Alexey Plutalov писал:

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 4:47:07 PM2/1/12
to ror...@googlegroups.com
Уметь пользоваться шефом программисту необязательно, а капистрано настроить очень просто. Я бы не стал заморачиваться.

Ни какого способа чтения литературы у меня нет. Но я из тех людей, которые никогда не ходили на лекции в университете в частности по той причине, что не воспринимали математику на слух и с доски, но зато хорошо читали написанное. Я из тех людей, которым читать намного проще. Ну, а читаю я обычно. Смотрю оглавление и дальше читаю то, что интересно. Если вижу, что абзац очевиден иду к следующему. Если что-то интересное, то надо идти пробовать это на компе.

Что касается кукумбера, то я его не люблю и вью вообще не тестирую. Ни кто этого не делал ни в Профотосе, ни в Лукэтми, когда я там работал. Сейчас и в марсианах это никто не делает (при том, что тесты пишут все и обязательно).

2012/2/2 digitalfox <pori...@gmail.com>

Alexey Plutalov

unread,
Feb 1, 2012, 4:53:50 PM2/1/12
to ror...@googlegroups.com
Раз тут такое) Timothy, поделитесь плиз опытом о лучших практиках тестирования ) что используете, и насколько сами тесты должны быть детализованы, какие-то подходы и правила в написании хороших тестов берущих так сказать не количеством, а качеством ))

четверг, 2 февраля 2012 г. пользователь Timothy N. Tsvetkov писал:

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 5:00:51 PM2/1/12
to ror...@googlegroups.com
Ну, про это же 100 раз писали в блогах, про то, что такое BDD и CI. Пользуемся rspec-ом, пользуемся фактори (я по старинке factory_girl, попробовал в одном проекте использовать fabrication, но в итоге нашел багу, спасибо Сергею Небольсину, который по-сути мне усталому и помог понять в чем проблема).

Я считаю (это лично мое мнение), что особенно параноидально надо покрывать тестами все, что происходит в колл-беках. Да, я тут смешиваю реализацию и бизнес-логику в каком-то смысле, но все, что происходит в колл-беках или уходит на отложенную отработку это места для очень неприятных и часто сложно отловимых ошибок.

Ну, и по классике жанра, надо не забывать, что тестируем мы не только happy path, но рассматриваем значения из всего диапазона: допустимые значение, недопустимые значения, граничные условия. BDD ни как не виляет на это правило, а многие почему-то об этом забывают.

Вообще это очень сложная тема, как хорошо тестировать :) Потому что универсального способа-то нет :) Тьюринг же доказал, что проверить на машине Тьбринга, что программа на машине Тьюринга всегда приводит к останову невозможно :) 

2012/2/2 Alexey Plutalov <demia...@gmail.com>

Alexey Plutalov

unread,
Feb 1, 2012, 5:08:27 PM2/1/12
to ror...@googlegroups.com
ну в блогах много чего пишут ) а от реального прожженого опытом человека услышать даже вкратце - это очень хорошо ) спасибо за ответ ) все таки мои мысли о тестировании были не так далеки, но некоторые моменты упустил. еще раз спасибо )) 

И классно было услышать про Cucumber. а то вот из Django'иста хочу на Rails, в принципе уже давно планировал. BDD нравится, сейчас на Jasmine для JS обкатываю. Но везде кричат про Cucumber, но для меня это стало как камень преткномения, я вот как и топик стартер так и не смог въехать ни в его удобство, ни в его красоту. Уж думал будет для меня мучение и ад. А он и не используется почти, как оказалось. Прям гора с плеч ))

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 5:11:18 PM2/1/12
to ror...@googlegroups.com
Я знаю людей, которые пользуются Огурцом и им он нравится. Мне кажется (да и проекты такие были), где написание на нем тестов и главное поддежрка их очень сложна.

2012/2/2 Alexey Plutalov <demia...@gmail.com>

Alexey Plutalov

unread,
Feb 1, 2012, 5:14:58 PM2/1/12
to ror...@googlegroups.com
Осталось надеяться, что я не попаду куда нить на проект с огурцом ) RSpec понятен и красив. А огурец. Мне трудно даже представить, сколько геммороя может быть, если надо тестировать приложение с большим количеством JS кода. Что ж ) еще один хороший повод углубиться в изучение тестирования поглубже. )

Sergey

unread,
Feb 1, 2012, 9:14:28 PM2/1/12
to RubyOnRails to russian
Зачем "готовиться к собеседованиям"? Сколько вы проектов сделали на
рельсах самостоятельно?

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 9:18:04 PM2/1/12
to ror...@googlegroups.com
"Готовиться к собеседованиям" может быть очень полезно, если в процессе подготовки вы изучаете моменты, в которых вы чувствуете свои слабости. Часто людям трудно себя заставить что-то изучить, если на работе много дел и в рабочее время нет времени читать какие-то книги.

2012/2/2 Sergey <psd2...@gmail.com>

Sergey

unread,
Feb 1, 2012, 9:32:30 PM2/1/12
to RubyOnRails to russian
Зачем "готовиться к собеседованию" если "трудно себя заставить что-то
изучить"? Месье мазохист? И какие моменты можно изучить, тупо прочитав
какую-то книгу? Без практики теория мертва. Я не видел ни одного
адекватного работодателя из тех, которые устраивали "технические
собеседования" больше двух-трёх вопросов. Такие люди вредят всем - и
соискателю, вызывая у него ложные комплексы (обычно такие люди не
страдают человеколюбием) и собственному бизнесу, на который работают -
т.к. не в состоянии никого реально нанять за приемлемое время. Зато
видел кучу неадекватов, которые после проведения таких собеседований
десятками штук идут и ноют в группы типа ror2ru как "мало на рынке
программистов, одни дураки".

On Feb 2, 6:18 am, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Timothy N. Tsvetkov

unread,
Feb 1, 2012, 9:40:31 PM2/1/12
to ror...@googlegroups.com
Я видел много адекватных работодателей, которые много всего спрашивали в технических вопросах, заставляли решать задачки. Даже если отбросить Яндекс, Гугл, Мэил.ру и т.д.

Технические вопросы бывают разные: от что такое attr_protected (согласитесь, если человек не знает, то встает много вопросов) и что такое селективность индекса, кончая вопросами, а как бы вы решали вот такую проблему.

Месье не мазохист, но людям бывает лень (или они устают на текущей работе) заняться самообразованием чтобы научиться чему-то еще. Я почти не знаю крутых разработчиков, которые бы не читали в свое время (или не продолжали читать) книжки. Начиная от каких-нибудь книг по теории алгоритмов, Фаулера и т.п., кончая книгами сугубо техническими, например: PostgreSQL 9.0 High Performance. Я, например, плохо себе представляю, как узнать о возможностях описанных в этой книге просто так во время работы. Зато полученные знания в ситуациях, когда есть проблема с БД очень хорошо помогают понять, что делать и как выяснять, что происходит.

2012/2/2 Sergey <psd2...@gmail.com>

Sergey

unread,
Feb 1, 2012, 10:06:14 PM2/1/12
to RubyOnRails to russian
Прочитанная впопыхах книга по какой-то теме перед собеседованием - это
+0.05% к квалификации, необходимой для его прохождения. Если бы всё
было так просто, как вы утверждаете, то можно бы было готовить
высококлассных специалистов по высокопроизводительным системам, просто
давая им почитать какие-то книги на две недели. Однако рынок всегда
испытывает дефицит кадров даже обычных программистов, не говоря уж о
чём-то подобном.

On Feb 2, 6:40 am, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

EXO

unread,
Feb 1, 2012, 10:12:16 PM2/1/12
to RubyOnRails to russian

On 2 фев, 04:00, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:


> Вообще это очень сложная тема, как хорошо тестировать :) Потому что
> универсального способа-то нет :)

О, да! Вопрос: "Что тестировать старательно, а что не надо вообще?" -
тот еще... :)

> Я считаю (это лично мое мнение), что особенно параноидально надо покрывать
> тестами все, что происходит в колл-беках. Да, я тут смешиваю реализацию и
> бизнес-логику в каком-то смысле, но все, что происходит в колл-беках или
> уходит на отложенную отработку это места для очень неприятных и часто
> сложно отловимых ошибок.

+1
Еще добавлю - обвешивать тестами входы и выходы системы.
То есть разнообразные "выгрузки данных в R3" или наоборот "API для
внешних разработчиков".
Потому как и то и другое можно легко развалить при развитии системы и
даже не заметить.

А вот тестировать стандартную связку форма-контроллер-модель-база в
которой нет никакой
бизнес логики (кроме сохранения или показа полей из базы), на мой
взгляд - только выкидывать
время разработчиков.

Вообще, IMHO, стоит всегда отвечать себе на вопрос:
- Какой вид ошибок я хочу поймать этим тестом?
Когда я смотрю на написанные в проектах тесты, то часто ответом
оказывается: "Ошибки работы рельсов."
Ибо ничего иного они не поймают. Короче перевод времени и отписка.
С другой стороны я почти не встречал тестов на попытку преднамеренно
"заломать" систему через внешний API.
А зря... :)

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 12:21:17 AM2/2/12
to ror...@googlegroups.com
Ну, вот в Яндексе есть ШАД. Как вы думаете зачем? Большинство же программистов ни каких книг не читали и даже массив отсортировать сами не могу лучше, чем за O(n^2). Отсюда и дефицит кадров. Люди не прикладывают усилия к росту. В нашей области проблемы "высокопроизводительности", к слову, очень редко встречаются. Какие у нас есть hi-load проекты на рельсах?

2012/2/2 Sergey <psd2...@gmail.com>

Павел Аргентов

unread,
Feb 2, 2012, 1:02:18 AM2/2/12
to ror...@googlegroups.com
2 февраля 2012 г. 9:21 пользователь Timothy N. Tsvetkov
<timothy....@gmail.com> написал:

> Ну, вот в Яндексе есть ШАД. Как вы думаете зачем? Большинство же
> программистов ни каких книг не читали и даже массив отсортировать сами не
> могу лучше, чем за O(n^2). Отсюда и дефицит кадров. Люди не прикладывают
> усилия к росту.

Дефицит? Да имо переизбыток. У "собеседников" общее место
"перезванивать" после графы "возраст" и "рельсоопыт". Понятия
обучаемости и фундаментальной методологической подготовки отдыхают: за
тот месяц, что "академик" будет осваивать инструмент, зондермеханик
налабает ящик белых проводочков. Программисты не нужны, нужны слесарЯ,
причем, желательно, студенты. Уфф.. ладно, хватит канализировать,
сажусь сублимировать. Где там мой vim?
--
Yours truly, Pavel.

Zabazhanov Arkady

unread,
Feb 2, 2012, 1:35:32 AM2/2/12
to ror...@googlegroups.com
Я люблю программировать. Можно я не буду работать слесарем?

А вообще, да. Нужен опыт. Книжки очень слабо помогут. Они помогают в двух случаях: в начале подсказывают, с какой стороны к предметной области вообще подходить. А в перспективе - служат справочниками. Но это уже после наработки достаточного опыта.

2 февраля 2012 г. 13:02 пользователь Павел Аргентов <arge...@gmail.com> написал:

Sergey

unread,
Feb 2, 2012, 1:36:32 AM2/2/12
to RubyOnRails to russian
Я как раз такой. Объясните, зачем программисту на рельсах уметь
сортировать массивы лучше, чем пузырьком. Вы много массивов сортируете
каждый день собственными алгоритмами?

On Feb 2, 9:21 am, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Sergey

unread,
Feb 2, 2012, 1:37:22 AM2/2/12
to RubyOnRails to russian
Добро пожаловать в капитализм

Павел Аргентов

unread,
Feb 2, 2012, 1:57:06 AM2/2/12
to ror...@googlegroups.com
Аркадий, у меня там сарказм, если что.

2 февраля 2012 г. 10:35 пользователь Zabazhanov Arkady
<kinw...@gmail.com> написал:


> Я люблю программировать. Можно я не буду работать слесарем?

Еще было мне видение: отрок с мацем сущий иже глаголящий "капитализм".

Это тоже сарказм.

Продолжаю сублимировать.
--
Yours truly, Pavel.

Андрей Руденко

unread,
Feb 2, 2012, 2:37:03 AM2/2/12
to ror...@googlegroups.com
Двоичный поиск по бесконечной последовательности должно быть довольно забавный :)

Павел Аргентов

unread,
Feb 2, 2012, 2:44:55 AM2/2/12
to ror...@googlegroups.com
Взрослые инженерА для этого хаскелЯ использують.

2 февраля 2012 г. 11:37 пользователь Андрей Руденко
<rude...@gmail.com> написал:


> Двоичный поиск по бесконечной последовательности должно быть довольно
> забавный :)

--
Yours truly, Pavel.

Павел Аргентов

unread,
Feb 2, 2012, 2:49:23 AM2/2/12
to ror...@googlegroups.com
Однажды меня прирезали на собеседовании в одной небольшой
западноевропейской конторе, когда я замялся на составлении алгоритма
какой-то drinking game. Проклятое русское интеллигентское воспитание!
Я просто не знал, что лабораторный спирт можно расходовать так весело!

2 февраля 2012 г. 11:44 пользователь Павел Аргентов
<arge...@gmail.com> написал:


> Взрослые инженерА для этого хаскелЯ использують.

--
Yours truly, Pavel.

Zabazhanov Arkady

unread,
Feb 2, 2012, 4:40:28 AM2/2/12
to ror...@googlegroups.com
Ну я тоже не серьёзно разрешения спрашивал ) Я умею распознавать сарказм, правда.

Программист должен в первую очередь быть программистом. А уже потом на рельсах.

Ломоносов сказал как-то: "Математику уже затем учить следует, что она ум в порядок приводит". Это правило абсолютно применимо и к знаниям основных алгоритмов в программировании. Они ум в порядок приводят. Это я касательно сортировок.

2 февраля 2012 г. 13:57 пользователь Павел Аргентов <arge...@gmail.com> написал:
--
Yours truly, Pavel.

Sergey

unread,
Feb 2, 2012, 4:52:26 AM2/2/12
to RubyOnRails to russian
Можно ещё самолётики клеить, способствует усидчивости и концентрации.

Anton Kosyakin

unread,
Feb 2, 2012, 4:54:01 AM2/2/12
to RubyOnRails to russian
Ещё довольно важный вопрос, который зачастую остаётся без внимания из-
за количества других более "важных" вопросов: стек и куча и вытекающие
оттуда объекты-значения, ссылки. Понятия довольно простые, но имхо -
фундаментальные.

On 2 фев, 01:08, digitalfox <poring...@gmail.com> wrote:
> Здравствуйте!
> Начинаю готовиться к собеседованию на Ruby on Rails разработчика.
> Времени в запасе 1-1,5 месяца. Как мне лучше организовать свою
> подготовку? Думаю почитать какую-нибудь полезную книжку, чтобы
> подготовиться к теоретическим вопросам. Что лучше всего читать перед
> собеседованием? Я читаю медленно и вкрадчиво, поэтмоу мне нужно 1-2
> книжки, но с толком (я уже читал Agile WebDev with Rails Дэейва
> Томаса, повторял все примеры а ним и ещё пару книжек мельком читал).

> Навскидку подобрал парочку с наиболее высоким рейтингом на Амазоне:http://www.amazon.com/Learning-Rails-Simon-St-Laurent/dp/0596518773/r...http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-Ruby/dp/0...http://www.amazon.com/Service-Oriented-Design-Rails-Addison-Wesley-Pr...

Павел Аргентов

unread,
Feb 2, 2012, 5:02:27 AM2/2/12
to ror...@googlegroups.com
Reductia ad absurdum в нашем случае неуместна. Алгоритмика даже для
"инженера"-программиста -- это не самолетики, а фундаментальное
требование. Тут Цветков и Забажанов правы совершенно праксиологически.
Лабух укакается на первом же нестандартном решении, и никакой
капитализм не спасет ни его, ни работодателя от лага на дедлайн.

2 февраля 2012 г. 13:52 пользователь Sergey <psd2...@gmail.com> написал:


> Можно ещё самолётики клеить, способствует усидчивости и концентрации.

--
Yours truly, Pavel.

Alex Vasyutin

unread,
Feb 2, 2012, 5:03:29 AM2/2/12
to ror...@googlegroups.com
On Thursday, February 2, 2012 at 1:40 PM, Zabazhanov Arkady wrote:
Ну я тоже не серьёзно разрешения спрашивал ) Я умею распознавать сарказм, правда.

Программист должен в первую очередь быть программистом. А уже потом на рельсах.

Ломоносов сказал как-то: "Математику уже затем учить следует, что она ум в порядок приводит". Это правило абсолютно применимо и к знаниям основных алгоритмов в программировании. Они ум в порядок приводят. Это я касательно сортировок.

А по-моему это обман:) Знание алгоритмов и разнообразных паттернов не гарантируют адекватность кандидата. Это те знания, которые могут висеть совершенно мертвым грузом и постепенно забываться, в связи с недостатком областей для их применения.  Так же с математикой.
Матанализ конечно собирает мысли в кучу и определенным образом дисциплинирует, но кто его сейчас помнит?

Вот тут Павел говорил про слесарей, я с ним совершенно согласен:) Я бы предпочел в команде иметь толкового слесаря, который знает где и что надо проволокой прикрутить, а где лучше приварить, чем Разработчика Программного Обеспечения мыслящего в Абстрактных Категориях. 
Собственно, большинство задач которые приходится решать программисту каждый день -- это типичные задачи, которые просто надо взять и сделать.

Относительно собеседований -- на мой взгляд, в большинстве средних российских компаний формальные собеседования с Кучей Сложных Вопросов и Задач служат для того, чтобы сказать кандидату о том, что он дурак и не заслуживает больше чем XXX денег:)

Я на собеседовании обычно разговариваю немного на общие темы, а потом даю тестовую задачку. Код, который пишет человек гораздо более показателен, чем все вопросы про сортировки и хэши:)

Sergey

unread,
Feb 2, 2012, 5:10:07 AM2/2/12
to RubyOnRails to russian
Утешайте себя. Оракл вон как-то продаёт годами индусский код со
sleep(30) и ничего, никто не жужжит особо.

On Feb 2, 2:02 pm, Павел Аргентов <argent...@gmail.com> wrote:
> Reductia ad absurdum в нашем случае неуместна. Алгоритмика даже для
> "инженера"-программиста -- это не самолетики, а фундаментальное
> требование. Тут Цветков и Забажанов правы совершенно праксиологически.
> Лабух укакается на первом же нестандартном решении, и никакой
> капитализм не спасет ни его, ни работодателя от лага на дедлайн.
>

> 2 февраля 2012 г. 13:52 пользователь Sergey <psd2ra...@gmail.com> написал:> Можно ещё самолётики клеить, способствует усидчивости и концентрации.
>
> --
> Yours truly, Pavel.

Zabazhanov Arkady

unread,
Feb 2, 2012, 5:10:19 AM2/2/12
to ror...@googlegroups.com
Просто взять и сделать не получится без фундаментальных знаний. А сделать эффективно так вообще невозможно. Кандидаты, которые решают задачи, скорее всего, имеют нужный багаж знаний. А то, что расспрашивать о паттернах и алгоритмах - это однозначно лишнее - правда. Оно должно подразумеваться по дефолту просто. Так что -  те же яйца, только в профиль.

2 февраля 2012 г. 17:03 пользователь Alex Vasyutin <alex.v...@gmail.com> написал:

Sergey

unread,
Feb 2, 2012, 5:11:08 AM2/2/12
to RubyOnRails to russian
Здравый взгляд практичного капиталиста

Anton Kosyakin

unread,
Feb 2, 2012, 5:14:03 AM2/2/12
to RubyOnRails to russian
Мне кажется, под алгоритмами и паттернами ребята имеют ввиду не тупое
заучивание этих самых алгоритмов и прочих умных слов.
Я вот с ходу кроме пузырька, который в среднем за O(n^2) работает (а
ведь все помнят, что это лишь худший случай?) особо сортировок и не
вспомню. И способ перебалансировки AVL-деревьев от зубов не
отскакивает. Буквально на днях так и не понял, почему так много
структурных паттернов, ежели по факту адаптер, мост, фасад и прочее -
это просто разные взгляды на одну и ту же проблему. Но таки я в курсе,
что паттерны - существуют, не все алгоритмы одинаково полезны и
понимаю, откуда ноги растут в теории сложности этих самых алгоритмов.
И понимаю, чем и когда полезен хэш. А за деталями уже можно и в гугель
слазить, книжку с лошадью перечитать или на край коллег спросить. Чего
и жду от кандидата на собеседовании - общего высокого бэкграунда в
области, без заморочек на конкретных деталях, которые легко освежить в
памяти, ежели нужно. Без должного фундамента - это всё невозможно. И
не будет такой человек мнить себя Разработчиком Программного
Обеспечения мыслящего в Абстрактных Категориях. Таких надо сразу
увольнять, пока проект не развалили :) А вот образованный в своей
области (разработка, а не исключительно ruby/ror) - он и просто гайки
завинчивать будет надёжнее, не перетягивать и не срывать резьбу. И
никому не придётся за ним перепроверять, тратя своё время.

Думаю, идея всех мыслей, где упоминается Ломоносов - именно в этом
всём.

Sergey

unread,
Feb 2, 2012, 5:15:48 AM2/2/12
to RubyOnRails to russian
Так каким боком фундаментальное знание о сортировках, отличных от
пузырька (не знание об их существовании, а умение написать сортировку
десятью разными способами с разной сложностью), поможет при создании
сайта на рельсах?

Anton Kosyakin

unread,
Feb 2, 2012, 5:21:00 AM2/2/12
to RubyOnRails to russian
При создании сайта - никаким. При создании качественного сайта - тут
уже можно поспорить.

Но таки разве в теме есть люди, которые утверждали что на
собеседовании необходимо требовать умение написать десять разных
способов сортировки? Кроме пузырька тут особо никто ничего и не
вспомнил :))

Konstantin Shabanov

unread,
Feb 2, 2012, 5:28:07 AM2/2/12
to ror...@googlegroups.com
Какие-то взаимоисключающие предложения. Так зачем держать в голове суперэффективные алгоритмы сортировки массивов, если "В нашей области проблемы "высокопроизводительности", к слову, очень редко встречаются."? Тем более, что qucksort'а (если не ошибаюсь) в Array#sort хватает в 99% случаев, а в крайнем случае можно нагуглить то что нужно за пару минут?

-- 
Konstantin Shabanov

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 5:55:21 AM2/2/12
to ror...@googlegroups.com
Если вы не способны понять один раз простой алгоритм, а потом его реализовать (исходя из понимания, идеи), то для меня ваши интеллектуальный способности под большим вопросом. Не говоря уже про уровень образования. 

2012/2/2 Sergey <psd2...@gmail.com>

Alex Vasyutin

unread,
Feb 2, 2012, 5:55:50 AM2/2/12
to ror...@googlegroups.com
Антон, насчет хорошего бэкграунда полностью согласен. Но для его выяснения на мой взгляд не требуется сложных вопросов, обычно все становится ясно, когда человек рассказывает о том, чем занимался ранее и в каких проектах участвовал. Мне кажется, что самый полезный бэкграунд это предыдущая практика.

-- 
Alex Vasyutin
Skype: alexander.vasyutin
Sent with Sparrow

Anton Kosyakin

unread,
Feb 2, 2012, 6:08:56 AM2/2/12
to RubyOnRails to russian
Ну здесь согласен.
Я скорее не выступаю за людей, жаждующих отдрючить кандидата
всевозможными каверзными теоритическими вопросами и практическими
деталями, а отстаиваю (внешне очень похожую, но таки другую) точку
зрения о том, что в кандидате надо понять его теоретический бэкграунд
и если его нет, то до свидания. ИМХО очень показательный вопрос в этом
плане - а программируете ли вы дома для души :)

On 2 фев, 14:55, Alex Vasyutin <alex.vasyu...@gmail.com> wrote:
> Антон, насчет хорошего бэкграунда полностью согласен. Но для его выяснения на мой взгляд не требуется сложных вопросов, обычно все становится ясно, когда человек рассказывает о том, чем занимался ранее и в каких проектах участвовал. Мне кажется, что самый полезный бэкграунд это предыдущая практика.
>
> --
> Alex Vasyutin
> Skype: alexander.vasyutin

> Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


>
>
>
>
>
>
>
> On Thursday, February 2, 2012 at 2:14 PM, Anton Kosyakin wrote:
> > Мне кажется, под алгоритмами и паттернами ребята имеют ввиду не тупое
> > заучивание этих самых алгоритмов и прочих умных слов.
> > Я вот с ходу кроме пузырька, который в среднем за O(n^2) работает (а
> > ведь все помнят, что это лишь худший случай?) особо сортировок и не
> > вспомню. И способ перебалансировки AVL-деревьев от зубов не
> > отскакивает. Буквально на днях так и не понял, почему так много
> > структурных паттернов, ежели по факту адаптер, мост, фасад и прочее -
> > это просто разные взгляды на одну и ту же проблему. Но таки я в курсе,
> > что паттерны - существуют, не все алгоритмы одинаково полезны и
> > понимаю, откуда ноги растут в теории сложности этих самых алгоритмов.
> > И понимаю, чем и когда полезен хэш. А за деталями уже можно и в гугель
> > слазить, книжку с лошадью перечитать или на край коллег спросить. Чего
> > и жду от кандидата на собеседовании - общего высокого бэкграунда в
> > области, без заморочек на конкретных деталях, которые легко освежить в
> > памяти, ежели нужно. Без должного фундамента - это всё невозможно. И
> > не будет такой человек мнить себя Разработчиком Программного
> > Обеспечения мыслящего в Абстрактных Категориях. Таких надо сразу
> > увольнять, пока проект не развалили :) А вот образованный в своей
> > области (разработка, а не исключительно ruby/ror) - он и просто гайки
> > завинчивать будет надёжнее, не перетягивать и не срывать резьбу. И
> > никому не придётся за ним перепроверять, тратя своё время.
>
> > Думаю, идея всех мыслей, где упоминается Ломоносов - именно в этом
> > всём.
>

> > On 2 фев, 14:03, Alex Vasyutin <alex.vasyu...@gmail.com (http://gmail.com)> wrote:
> > > On Thursday, February 2, 2012 at 1:40 PM, Zabazhanov Arkady wrote:
> > > > Ну я тоже не серьёзно разрешения спрашивал ) Я умею распознавать сарказм, правда.
>
> > > > Программист должен в первую очередь быть программистом. А уже потом на рельсах.
>
> > > > Ломоносов сказал как-то: "Математику уже затем учить следует, что она ум в порядок приводит". Это правило абсолютно применимо и к знаниям основных алгоритмов в программировании. Они ум в порядок приводят. Это я касательно сортировок.
>
> > > А по-моему это обман:) Знание алгоритмов и разнообразных паттернов не гарантируют адекватность кандидата. Это те знания, которые могут висеть совершенно мертвым грузом и постепенно забываться, в связи с недостатком областей для их применения.  Так же с математикой.
> > > Матанализ конечно собирает мысли в кучу и определенным образом дисциплинирует, но кто его сейчас помнит?
>
> > > Вот тут Павел говорил про слесарей, я с ним совершенно согласен:) Я бы предпочел в команде иметь толкового слесаря, который знает где и что надо проволокой прикрутить, а где лучше приварить, чем Разработчика Программного Обеспечения мыслящего в Абстрактных Категориях.
> > > Собственно, большинство задач которые приходится решать программисту каждый день -- это типичные задачи, которые просто надо взять и сделать.
>
> > > Относительно собеседований -- на мой взгляд, в большинстве средних российских компаний формальные собеседования с Кучей Сложных Вопросов и Задач служат для того, чтобы сказать кандидату о том, что он дурак и не заслуживает больше чем XXX денег:)
>
> > > Я на собеседовании обычно разговариваю немного на общие темы, а потом даю тестовую задачку. Код, который пишет человек гораздо более показателен, чем все вопросы про сортировки и хэши:)
>
> > --
> > --
> > Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> > FAQ группы находится по адресу:http://ru.wikibooks.org/wiki/RubyFAQ
>
> > Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу

> > ror...@googlegroups.com (mailto:ror...@googlegroups.com)
> > Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-un...@googlegroups.com (mailto:ror2ru-un...@googlegroups.com)

Павел Аргентов

unread,
Feb 2, 2012, 6:15:17 AM2/2/12
to ror...@googlegroups.com

Я писал про слесарей саркастически, ибо и по сей день разгребаю шедёвры, сделанные на "ништяк, работает". В целом же на практике конкретная задача, баланс и ум решают все.

Sincerely, Pavel.

02.02.2012 14:11 пользователь "Sergey" <psd2...@gmail.com> написал:

Max Lapshin

unread,
Feb 2, 2012, 6:50:03 AM2/2/12
to ror...@googlegroups.com
Мне очень нравится это обсуждение.

Пока полно таких, как Sergey, которые не понимают, зачем знать что-то
кроме пузырька, бизнес будет звать таких людей как я или марсиане для
консультаций со словами «у нас тут есть программисты, но они
слабенькие и сайт что-то плохо работает».

Anton Kosyakin

unread,
Feb 2, 2012, 6:51:34 AM2/2/12
to RubyOnRails to russian
Пришёл и всё опошлил! :-)

Andrey Voronkov

unread,
Feb 2, 2012, 6:58:20 AM2/2/12
to ror...@googlegroups.com
"Чем меньше знаете вы, тем ценнее я как специалист" (c)

2 февраля 2012 г. 15:51 пользователь Anton Kosyakin <an...@tinuviel.ru> написал:

Max Lapshin

unread,
Feb 2, 2012, 7:06:30 AM2/2/12
to ror...@googlegroups.com
Именно.


Ведь в тех вопросах, где я некомпетентен (например, матстат), тоже
нужны будут другие специалисты.

Sergey

unread,
Feb 2, 2012, 7:32:43 AM2/2/12
to RubyOnRails to russian
Т.е. мне никто не сможет дать ответ на простой, в общем-то, вопрос.
Всё свелось к обсуждению интеллектуального уровня и саморекламе.

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 7:37:10 AM2/2/12
to ror...@googlegroups.com
На какой Сергей? Про сортировку массива? Я ответил. У человека, у которого есть мозг, если он один раз реализовал квик сорт, то он понял идею и напишет второй раз. Первый раз человек реализовывал квик сорт в учебных целях, потому что любое обучение программированию и алгоритмам начинается с сортировок массива. Это является ответом на Ваш вопрос?

2012/2/2 Sergey <psd2...@gmail.com>
Т.е. мне никто не сможет дать ответ на простой, в общем-то, вопрос.
Всё свелось к обсуждению интеллектуального уровня и саморекламе.

Павел Аргентов

unread,
Feb 2, 2012, 7:38:50 AM2/2/12
to ror...@googlegroups.com
Да-да. И твои ерланги им в zhopa'у не уперлись! Предлагаю создать клуб
оторванных от жизни умников. Хотя есть уже... Правда, не клуб, а
компания ;-)

2 февраля 2012 г. 15:50 пользователь Max Lapshin
<max.l...@gmail.com> написал:

> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
>  Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror...@googlegroups.com
>  Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-un...@googlegroups.com
>  Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

--
Yours truly, Pavel.

Max Lapshin

unread,
Feb 2, 2012, 7:39:34 AM2/2/12
to ror...@googlegroups.com
2012/2/2 Timothy N. Tsvetkov <timothy....@gmail.com>:

> На какой Сергей? Про сортировку массива? Я ответил. У человека, у которого
> есть мозг, если он один раз реализовал квик сорт, то он понял идею и напишет второй раз.


На самом деле достаточно более простой вещи. Уже хорошо просто знать,
что есть и другие варианты что-то сделать.
И тогда знания в какой-то момент дают широту восприятия и понимание
того, что ты чего-то не знаешь.

А если думать, что пузырька хватит, то попросту не будешь понимать,
где и чего ты не знаешь.

Sergey

unread,
Feb 2, 2012, 7:42:55 AM2/2/12
to RubyOnRails to russian
Вы действительно верите что кому-то интересы интеллектуальные
способности создателя сайтов на рельсах? Или уровень образования?
Приходят два человека на собеседование - вы, который знает как
сортировать не пузырьком и Вася, который не знает, сколько планет в
солнечной системе, зато верстает в три раза быстрее вас, запускал
вконтакт и патчит линуксовое ядро когда ему скучно. На алгоритмы
сортировки он положил длинный болт ещё в институте. Правильный
работодатель должен взять вас, да?

On Feb 2, 2:55 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Sergey

unread,
Feb 2, 2012, 7:45:54 AM2/2/12
to RubyOnRails to russian
Тимофей, для человека, который претендует на особенный уровень
интеллектуального развития, вы непозволительно невнимательны. Я могу
повторить вопрос: каким образом умение реализовать квиксорт поможет
создать качественный сайт на рельсах?

On Feb 2, 4:37 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Alexey Plutalov

unread,
Feb 2, 2012, 7:45:58 AM2/2/12
to ror...@googlegroups.com
Что то больно толстый пример, и мало правдоподобный. Большие сомнения, что человек не знающий основы основ сможет прочитать и понять хотя бы строчку в ядре линукс и запускал контакт и так далее. А верстка к программированию мало относится. Правильный работодатель возьмет знающего человека с мозгами, а Васю запомнит на должность верстальщика. Вдруг когда нить пригодится. 

четверг, 2 февраля 2012 г. пользователь Sergey писал:

Alexey Plutalov

unread,
Feb 2, 2012, 7:47:40 AM2/2/12
to ror...@googlegroups.com
И вообще мне кажется не стоит сравнивать уровень проектов, которые обычно пишутся на Rails, и уровень PHP CMS, где как раз хватит Васи, который поменяет тему Wordpress и сайт готов. Ума там действительно не особо надо. Но и уровень это совершенно другой.


четверг, 2 февраля 2012 г. пользователь Sergey писал:
Вы действительно верите что кому-то интересы интеллектуальные

weiss Andy

unread,
Feb 2, 2012, 7:48:50 AM2/2/12
to ror...@googlegroups.com
Я думал что на рельсах не делают сайты, и что основное использование фреймворка - веб приложения. А тут недалеко до хайлоада, где и знания стека/кучи/указателей/внутренностей интерпретатора ruby неплохо было бы иметь. По крайней мере, высказывания людей в этом треде я как новичок понимаю именно так.

2 февраля 2012 г. 14:42 пользователь Sergey <psd2...@gmail.com> написал:

С А

unread,
Feb 2, 2012, 7:49:56 AM2/2/12
to ror...@googlegroups.com
В Теориях и практиках без Кнута не обойтись, да.

2 февраля 2012 г. 19:47 пользователь Alexey Plutalov
<demia...@gmail.com> написал:

Max Lapshin

unread,
Feb 2, 2012, 7:50:39 AM2/2/12
to ror...@googlegroups.com
2012/2/2 Sergey <psd2...@gmail.com>:

> Тимофей, для человека, который претендует на особенный уровень
> интеллектуального развития, вы непозволительно невнимательны. Я могу
> повторить вопрос: каким образом умение реализовать квиксорт поможет
> создать качественный сайт на рельсах?

Очень просто. Человек, который не знает, что такое бинарные деревья,
не понимает, почему база данных работает так или иначе.
А следовательно он не может сделать хороший быстрый сайт.

Sergey

unread,
Feb 2, 2012, 7:52:15 AM2/2/12
to RubyOnRails to russian
Чтобы понять строчку ядра линукс нужно знать язык Си и архитектуру
конкретной платформы. Ну и как вызывать библиотечный qsort, ггг.

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 7:51:56 AM2/2/12
to ror...@googlegroups.com
Я знаю людей, которые патчат линуксовое ядро :) И им даже за это деньги хорошие платят. И все они хорошо разбираются в алгоритмах. Там как раз алгоритмы + инженерные оптимизации очень важны. Посмотрите хотя бы на патчи @fanny_falcon в руби. Уж если пример привели, то огребайте.

Если я беру на работу верстальщика, то мне важно с какой скоростью он верстает, а если программиста, то мне наплевать на скорость его верстки.

"Сайт же на рельсах" это понятие растяжимое. Если сайта на рельсах это блог, то его можно брать любого идиота. Если нужно сделать что-то сложнее, то могут возникнуть задачи, где надо подумать о том какой код и как ты пишешь. Встречали код, который после переписывания вместо двух часов начинал выполняться 5 минут, а все потому, что писали в стиле "пузырька". Если человек никогда в жизни не задумывался о том, что алгоритм может быть не только один, тот который пришел тебе в голову первым, то вероятность, что он задумается об этом, когда это будет нужно весьма мала, потому что опыта такого нет :)

2012/2/2 Sergey <psd2...@gmail.com>

Eugene Hlyzov

unread,
Feb 2, 2012, 7:54:22 AM2/2/12
to ror...@googlegroups.com
Можно уточнить. Если требуется качественная разработка сложного, быстрого сайта, то квалификация разработчиков играет большое значение. Но согласитесь, чрезвычайно редко надо именно это. Чаще всего можно получать деньги делая кое-как и это устраивает почти всех. Кодеров, у которых всегда есть работа. Работодателей, которые не заморачиваясь меняют одну копеечную команду на другую.

--
Eugene Hlyzov


On Thursday, February 2, 2012 at 4:50 PM, Max Lapshin wrote:

> 2012/2/2 Sergey <psd2...@gmail.com (mailto:psd2...@gmail.com)>:

> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу

> ror...@googlegroups.com (mailto:ror...@googlegroups.com)
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-un...@googlegroups.com (mailto:ror2ru-un...@googlegroups.com)

Sergey

unread,
Feb 2, 2012, 7:55:27 AM2/2/12
to RubyOnRails to russian
Причем тут бинарные деревья? Ну знает он что это такое, это недолго
прочитать в википедии :D. И умеет расставлять индексы в базе. В общем,
незачот.

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:00:02 AM2/2/12
to ror...@googlegroups.com
Ага, то есть, что такое дерево он уже знает. То есть что-то уже в википедии прочитать надо. "И умеет расставлять индексы в базе". Интересно :) То есть кингу, где написано, что такое селективность индекса он все-таки открывал… хотя, постойте, какая книга, выже говорили их читать не надо. Ладно, индексы расставил, проект работает, а потом база вдруг все CPU съела. Дальше, что делать? Вот прямо сейчас у нас проблема: база начала жрать кучу процессора, делает там что-то, шушрит, постгрес, например. Как быть?

2012/2/2 Sergey <psd2...@gmail.com>

Alexey Plutalov

unread,
Feb 2, 2012, 8:01:04 AM2/2/12
to ror...@googlegroups.com
Ну и опять таки. К вам вопрос. Вот вы привели в пример тонны кода в Oracle, которые пишут индусы. Ок. 1) Откуда вообще такие данные, что Oracle сбрасывает свои разработки на оутсорс в индусофирмы. 2) Почему же, если к Rails-разработчикам нормальные работодатели не предъявляют никаких требований, то... Почему тот же Groupon не нанял пять десятков индусов, а работают с теми же Злыми Марсианами. Почему Google, Yandex и многие другие крупные компании не спихивают в оутсорс индусам задачи. Квалифицированные специалисты же не нужны. Почему бы индусам не отдать?

Я сейчас работаю в маленьком стартапе с очень сложными задачами. И вот встала задача, чтобы обновить большое количество данных, смержить и сопоставить их требуется сложное решение. Вручную это делать - может занять месяц. А полностью автоматически сделать это невозможно. И делаем это через нейросети. Как вы думаете. Если бы вместо нас работали люди, которые даже сортировку одну от другой не отличают - смогли бы они вообще подумать о существовании нейронных сетей встреться им такая задача? Вряд ли. И тогда бы начальству пришлось бы идти в какую-то контору крутую, с действительно хорошими разработчиками и просить сделать это их? То есть вот вам пожалуйста. Реальный пример. Ну не Rails, да. У нас Django. Но область такая же, и пример задачи более чем реальный. Прогодал ли наш работодатель, что взял образованных и адекватных разработчиков на проект даже далеко не highload, но с очень сложной структурой самой по себе, а не взял пяток индусов за 20к на всех в год? 


четверг, 2 февраля 2012 г. пользователь Sergey писал:
Чтобы понять строчку ядра линукс нужно знать язык Си и архитектуру

Павел Аргентов

unread,
Feb 2, 2012, 8:02:07 AM2/2/12
to ror...@googlegroups.com
Желаю на р-клубе и девконфе семинар "Рэльсоразработка в свете
эффективности HRM и найма программистов с пузырьком ". Пузырёк с меня,
если устроим :)

2 февраля 2012 г. 16:51 пользователь Timothy N. Tsvetkov
<timothy....@gmail.com> написал:

--
Yours truly, Pavel.

Andrey Voronkov

unread,
Feb 2, 2012, 8:04:15 AM2/2/12
to ror...@googlegroups.com
Я пришел к рельсам решая задачи быдлоразработки - тогда это требовалось, чтобы что-то кушать. Мне порой бывает стыдно, что я с Мухосранским непрофильным образованием не знаю некоторых базовых вещей, но в резюме указываю Ruby/Rails developer. Люди ожидают от Ruby/Rails разработчика обычно большего, чем от PHP разработчика соответственно нишам этих инструментов. Ниша PHP изначально - проекты малой сложности (это потом его начали тянуть выше), а ниша Ruby/Rails - это проекты средней сложности - требования и ожидания здесь выше.

2 февраля 2012 г. 16:55 пользователь Sergey <psd2...@gmail.com> написал:

Павел Аргентов

unread,
Feb 2, 2012, 8:04:45 AM2/2/12
to ror...@googlegroups.com
2 февраля 2012 г. 17:00 пользователь Timothy N. Tsvetkov
<timothy....@gmail.com> написал:

> Ага, то есть, что такое дерево он уже знает. То есть что-то уже в википедии
> прочитать надо. "И умеет расставлять индексы в базе". Интересно :) То есть
> кингу, где написано, что такое селективность индекса он все-таки открывал…
> хотя, постойте, какая книга, выже говорили их читать не надо. Ладно, индексы
> расставил, проект работает, а потом база вдруг все CPU съела. Дальше, что
> делать? Вот прямо сейчас у нас проблема: база начала жрать кучу процессора,
> делает там что-то, шушрит, постгрес, например. Как быть?

Ко мне высылать, в порядке персонального ада(tm) у меня есть именно
такой постгрес. Берегу на случай пыток пузырьком.
--
Yours truly, Pavel.

Alex Vasyutin

unread,
Feb 2, 2012, 8:04:46 AM2/2/12
to ror...@googlegroups.com
Так не заработает:) Программисту на C надо знать про память, массивы, деревья, биты и алгоритмы. Вообще, специфику задач не стоило бы смешивать. 

-- 
Alex Vasyutin
Skype: alexander.vasyutin
Sent with Sparrow

Sergey

unread,
Feb 2, 2012, 8:06:03 AM2/2/12
to RubyOnRails to russian
Конечно читать про бинарные деревья, это точно поможет :D

On Feb 2, 5:00 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:


> Ага, то есть, что такое дерево он уже знает. То есть что-то уже в википедии
> прочитать надо. "И умеет расставлять индексы в базе". Интересно :) То есть

> кингу, где написано, что такое селективность индекса он все-таки открывал...

Sergey

unread,
Feb 2, 2012, 8:08:05 AM2/2/12
to RubyOnRails to russian
Вы действительно не различаете этих вещей: "знать про массивы" и
"знать как десятью способами отсортировать эти массивы без применения
библиотечных функций"?

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:09:26 AM2/2/12
to ror...@googlegroups.com
Ну, вы в начале и про то, что книжки по технологиям читать бесполезно говорили. Главное, говорили опыт. На вопрос про ситуацию с БД не хотите ответить? Очень практическая задача. Из опыта.

2012/2/2 Sergey <psd2...@gmail.com>

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:10:58 AM2/2/12
to ror...@googlegroups.com
Знание, что такое B-дерево дает понимание, что такое индекс, какие у него возможности, дальше упрощает понимание селективности индекса и позволяет лучше понимать, как индексы накладывать.

2012/2/2 Sergey <psd2...@gmail.com>

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:11:29 AM2/2/12
to ror...@googlegroups.com
Кто-то говорил про 10 способ сортировки массива? Хм… 

2012/2/2 Sergey <psd2...@gmail.com>
--

Sergey

unread,
Feb 2, 2012, 8:17:10 AM2/2/12
to RubyOnRails to russian
1. Из всемирной глобальной сети "Интернет".
2. Я где-то говорил про то что "к Rails-разработчикам нормальные
работодатели не предъявляют никаких требований"?
3. Речь шла о конкретных алгоритмах, а тут как обычно сделали из мухи
слона с обсуждением моего интеллектуального уровня и пр.
4. Проблема в том, что вы делаете какие-то странные выводы на пустом
месте, находясь под каким-то внушениями. Кто вам сказал, что тот, кому
не интересны алгоритмы сортировки обязательно не слышал о нейронных
сетях? Тимофей Цветков?
5. Вы как-то слабо цените индусов :).

Sergey

unread,
Feb 2, 2012, 8:20:35 AM2/2/12
to RubyOnRails to russian
Утомительно разговаривать с человеком, который видит то, что хочет, а
не то, что есть. Я говорил, что для прохождения собеседования пустое
чтение книги по узкой теме почти не даст никакого эффекта. А не
"книжки по технологиям читать бесполезно". Если вы хотите получить
консультацию по оптимизации вашей БД то платите деньги, я бесплатно не
работаю.

On Feb 2, 5:09 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:23:11 AM2/2/12
to ror...@googlegroups.com
Я всего-то спросил, какие действия вы будете предпринимать. Это не оптимизация БД. Первые сами шаги, которые помогут вам понять, что происходит базой. Эти первые шаги занимают меньше часа (очевидно), а дальше уже идет оптимизация и размышление, как сделать так, чтобы такого не случалось. Готов заплатить Вам 50 баксов за описание ваших действий в такой ситуации. 

2012/2/2 Sergey <psd2...@gmail.com>

Alexey Plutalov

unread,
Feb 2, 2012, 8:23:36 AM2/2/12
to ror...@googlegroups.com
Думаю не стоит сарказничать и делать вид, что не поняли, что под индусами я имел ввиду дешевую неквалифицированную рабочую силу.

Что касается простых алгоритмов, то это лучше спрашивать, так как это все таки какой-никакой показатель. Знать о нейронных сетях можно, даже не зная каких-то базовых вещей. Теоретически. Но таких людей 1 на миллион. Те кто хотя бы когда то касался "высоких материй", тот понимает, что нужно знать и азы. По крайней мере на собеседовании это легче проверить знанием каких-то базовых алгоритмов, нежели гонять соискателя нейросетями и высокими материями.

Что касается опыта - опыт безусловно важен. Но давайте все таки помнить, что опыт сам по себе тоже не решающая характеристика специалиста. Можно быть опытным в решении любой задачи в лоб и неэффективными методами. Человек долгое время пишущий много кода, пусть работающего, пусть без багов, но над которым он не думает - со временем просто приобретает привычку писать такой код. И в данном случае, опыт будет отрицательным показателем, и в один прекрасный момент, за таким человеком придется подчищать много кода. 


четверг, 2 февраля 2012 г. пользователь Sergey писал:
1. Из всемирной глобальной сети "Интернет".

Max Lapshin

unread,
Feb 2, 2012, 8:24:09 AM2/2/12
to ror...@googlegroups.com
2012/2/2 Sergey <psd2...@gmail.com>:

> Если вы хотите получить консультацию по оптимизации вашей БД то платите деньги, я бесплатно не работаю.
>

В том то всё и дело, что ни один более менее информированный человек к
тебе не пойдет за консультациями после слов «зачем читать книжки».

Alex Vasyutin

unread,
Feb 2, 2012, 8:24:58 AM2/2/12
to ror...@googlegroups.com
В странное русло уходит дискуссия:) Если говорить о разработке на С, то бывает неплохо знать как чего и в каких случаях лучше сортировать. Во всяких геймдевах по слухам очень требуются люди которые хорошо об этом знают:) В случае веб-разработки эти знания сложно назвать мерилом адекватности, но хороший бэкграунд это всегда плюс.

-- 
Alex Vasyutin
Skype: alexander.vasyutin
Sent with Sparrow

V. Kachalko

unread,
Feb 2, 2012, 8:26:03 AM2/2/12
to ror...@googlegroups.com
А я томат.

2 февраля 2012 г. 16:24 пользователь Alex Vasyutin <alex.v...@gmail.com> написал:



--
Yours respectfully, V. Kachalko

Sergey

unread,
Feb 2, 2012, 8:28:21 AM2/2/12
to RubyOnRails to russian
Пожалуйста, платите, мыло для связи вам известно.

On Feb 2, 5:23 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Alex Vasyutin

unread,
Feb 2, 2012, 8:28:35 AM2/2/12
to ror...@googlegroups.com
Зачем про томат, там если почитать была ветка, где Sergey упомянул про C, qsort, ответ был в ту сторону.  

-- 
Alex Vasyutin
Skype: alexander.vasyutin
Sent with Sparrow

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:29:41 AM2/2/12
to ror...@googlegroups.com
Давайте публично. Вы мне кидаете номер счета, я вам перевожу 50 баксов и вы публично в группе рассказываете.

2012/2/2 Sergey <psd2...@gmail.com>

Sergey

unread,
Feb 2, 2012, 8:32:35 AM2/2/12
to RubyOnRails to russian
Зачем? На пару с Лапшиным вы переиначиваете мои слова, т.к. вам нечего
ответить (и дураку ясно, что для разработки сайта на рельсах знание
конкретных алгоритмов сортировки не нужно), а во что превратится
публичная консультация страшно и подумать :D.

On Feb 2, 5:29 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:35:12 AM2/2/12
to ror...@googlegroups.com
На практический вопрос отвечать отказались. Сначала попросили деньги, а потом и за деньги отказались. Спасибо.

2012/2/2 Sergey <psd2...@gmail.com>

Sergey

unread,
Feb 2, 2012, 8:40:30 AM2/2/12
to RubyOnRails to russian
:D Я вас буду приглашать туда, когда надо с наглым видом любой ценой
доказать, что собеседник неправ. По-моему вам ясно сказали - платите
деньги, будет вам консультация? Это действительно похоже на "Сначала
попросили деньги, а потом и за деньги отказались."? Может у нас с вами
разные русские языки?

On Feb 2, 5:35 pm, "Timothy N. Tsvetkov" <timothy.tsvet...@gmail.com>
wrote:

Anton Kosyakin

unread,
Feb 2, 2012, 8:46:05 AM2/2/12
to RubyOnRails to russian
* запасся попкорном *

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 8:49:31 AM2/2/12
to ror...@googlegroups.com
О, исполнитель, который говорит "По-моему вам ясно сказали". Это хороший sales. На что я предложил свои условия, что я плачу деньги, но консультация публичная. Так как номер вашего счета я не получил, я понял, что вы отказались дать консультацию по этому плевому вопросу публично. Любой бы нормальный человек давно бы уже ответил на него, потому что ответ на него на консультацию вообще слабо тянет.

2012/2/2 Sergey <psd2...@gmail.com>

Andrey Ognevsky

unread,
Feb 2, 2012, 8:51:54 AM2/2/12
to ror...@googlegroups.com
Сергей, а можно вас попросить показать 2 ссылки с «типичным сайтом на рельсах»? Просто чтобы расставить все точки над i. 
Просто, видимо, вы тут о разных проектах говорите, вот мне и интересно стало.

Я не скажу именно за сортировку, но наравне с сортировкой, думаю, тут можно вставить и «паттерны проектирования», верно? Ну, такая вещь, которая не очень–то нужна при создании сайтов. 

Я вот недавно узнал, как пользоваться большой буквой О, и очень горд собой. И мне стыдно, что раньше я косил университет и не понимал, как точно она работает. Такие знания нужны разработчику на рельсах? Мне вот легче стало с этим жить, а другие никогда не слышали и счастливы.

Ну, в общем я буду признателен за список сайтов, хватит и двух. Спасибо, пожалуйста, извините.

Zabazhanov Arkady

unread,
Feb 2, 2012, 8:51:58 AM2/2/12
to ror...@googlegroups.com
По-моему, Сергей действительно говорил о том, что чтение книжек перед собеседованием не поможет на этом самом собеседовании. И он вполне себе прав. Читать книжки надо гораздо раньше. Или позже уже ) А к собеседованию в принципе готовиться смысла нет. Ты либо знаешь предметную область, либо нет. И это видно сразу и подготовка не поможет.

2 февраля 2012 г. 20:46 пользователь Anton Kosyakin <an...@tinuviel.ru> написал:
* запасся попкорном *

Alexey Plutalov

unread,
Feb 2, 2012, 8:55:51 AM2/2/12
to ror...@googlegroups.com
Ну тут уже была мысль по этому поводу. На собеседовании может и не поможет. Но это хороший стимул прочитать таки эти книжки. Хороший так сказать пинок, когда в обычных условиях просто забьешь и найдется десяток другой дел, а книжки отложатся на потом. )

четверг, 2 февраля 2012 г. пользователь Zabazhanov Arkady писал:

Sergey

unread,
Feb 2, 2012, 9:05:49 AM2/2/12
to RubyOnRails to russian
On Feb 2, 5:51 pm, Andrey Ognevsky <a.ognev...@gmail.com> wrote:
> Сергей, а можно вас попросить показать 2 ссылки с <<типичным сайтом на рельсах>>? Просто чтобы расставить все точки над i.
> Просто, видимо, вы тут о разных проектах говорите, вот мне и интересно стало.

www.groupon.ru, rubyflow.ru. Код последнего есть на гитхабе.

>
> Я не скажу именно за сортировку, но наравне с сортировкой, думаю, тут можно вставить и <<паттерны проектирования>>, верно? Ну, такая вещь, которая не очень-то нужна при создании сайтов.

Сколько паттернов вы знаете не заглядывая в учебник (разбуди ночью,
начни задавать вопросы)? Читали ли GoF?

>
> Я вот недавно узнал, как пользоваться большой буквой О, и очень горд собой. И мне стыдно, что раньше я косил университет и не понимал, как точно она работает. Такие знания нужны разработчику на рельсах? Мне вот легче стало с этим жить, а другие никогда не слышали и счастливы.
>
> Ну, в общем я буду признателен за список сайтов, хватит и двух. Спасибо, пожалуйста, извините.

Ну и как "точно работает О"? Оно вообще "работает"? :D

Timothy N. Tsvetkov

unread,
Feb 2, 2012, 9:16:54 AM2/2/12
to ror...@googlegroups.com
Снаружи наверное не видно, но внутри групон сложно устроен. Над ним постоянно работает несколько человек в очень хорошем темпе. Это большой сложный проект внутри, хотя снаружи, конечно пару страничек.

Вопрос про БД, который я задавал это такие групоновские будни. А еще много чего интересного и не очень.

2012/2/2 Sergey <psd2...@gmail.com>

Andrey Ognevsky

unread,
Feb 2, 2012, 9:18:42 AM2/2/12
to ror...@googlegroups.com

On Thursday, February 2, 2012 at 4:05 PM, Sergey wrote:

On Feb 2, 5:51 pm, Andrey Ognevsky <a.ognev...@gmail.com> wrote:
Сергей, а можно вас попросить показать 2 ссылки с <<типичным сайтом на рельсах>>? Просто чтобы расставить все точки над i.
Просто, видимо, вы тут о разных проектах говорите, вот мне и интересно стало.

www.groupon.ru, rubyflow.ru. Код последнего есть на гитхабе.
Спасибо.
 


Я не скажу именно за сортировку, но наравне с сортировкой, думаю, тут можно вставить и <<паттерны проектирования>>, верно? Ну, такая вещь, которая не очень-то нужна при создании сайтов.

Сколько паттернов вы знаете не заглядывая в учебник (разбуди ночью,
начни задавать вопросы)? Читали ли GoF?

Я? Какие–то знаю, какие–то — нет. Но я здесь никому ничего не доказываю, — это важно. GoF не читал, читал Design Patterns in Ruby, потому что GoF для Ruby мне не очень понятен. 


Я вот недавно узнал, как пользоваться большой буквой О, и очень горд собой. И мне стыдно, что раньше я косил университет и не понимал, как точно она работает. Такие знания нужны разработчику на рельсах? Мне вот легче стало с этим жить, а другие никогда не слышали и счастливы.

Ну, в общем я буду признателен за список сайтов, хватит и двух. Спасибо, пожалуйста, извините.

Ну и как "точно работает О"? Оно вообще "работает"? :D
Консультации за деньги. 

digitalfox

unread,
Feb 3, 2012, 6:48:46 AM2/3/12
to RubyOnRails to russian
Ой, мальчики, простите, что прерываю столь оживлённую перепалку.. Было
очень интересно читать, спасибо!
Вы меня извините, у меня остался ещё один маленький вопросик... Про
тестовые задания на Rails.. Часто такие встречаются?.. Хотелось бы
пример, если можно, пожалуйста..

Konstantin Shabanov

unread,
Feb 3, 2012, 6:49:36 AM2/3/12
to ror...@googlegroups.com

Konstantin Shabanov

unread,
Feb 3, 2012, 6:50:12 AM2/3/12
to ror...@googlegroups.com
хотя это не rails, а plain ruby.

-- 
Konstantin Shabanov

Reply all
Reply to author
Forward
0 new messages