Rozmowa o prace RoR - o co byś zapytał?

Hej,
kiedyś zapisywałem się na warsztaty z RoR, na samych warsztatach były rzeczy dość proste i podstawowe(CanCan i Devise) natomiast dużo trudniej było się dostać na warsztaty, gdyż trzeba było wypełnić formularz z 10 pytaniami na temat wiedzy o Rubym i Railsach. Napisałem ale przy kilku musiałem pogooglować(przyznaje się :))

Jestem samoukiem Railsów i uczyłem się z książek opartych na przykładach i dzięki Wam na tym forum :slight_smile:

Chciałbym jednak znaleźć pracę związaną z Railsami, wysyłam CV do kilku firm.

Dlatego mam pytanie do tych, którzy już dobrze się na tym znają, jakie 5 pytań zadalibyście na rozmowie dotyczące Rubyego i Railsów. Takie “must know”

Chciałbym wiedzieć jakich prostych rzeczy jeszcze nie wiem i uniknąć wpadki :slight_smile:

Pozdrawiam

Słabo. Ja i Wojtek mamy taką listę ze 40 pytań z różnych dziedzin, nie tylko Railsów. Począwszy od tego jak działają cookies, na SQLu skończywszy. 5 pytań to zdecydowanie za mało, ale z mojej strony takie sugestie:

  1. Jak wygląda wzorzec MVC w wariancie stosowanym w RoR.
  2. Co to są i jak działają domknięcia w języku Ruby.
  3. Jaką asocjację byś zrobił mając …i tu jakiś wycinek schematu bazy danych…
  4. Do czego służy “yield”
  5. Co to jest i jak wygląda BDD? Jak ie znasz narzędzia pomocne przy BDD w RoR.

Dałbyś radę udostępnić tę listę? ;>

Bardzo chętnie douczę się nowych rzeczy.

Wieczorem umieszcze pytania jakie mie zadawali ludzie na rozmowie

Ja bym najpierw zapytał o kod, więc jeżeli nie masz żadnych dobrych przykładów to zainwestuj w jakąś własną aplikacyjkę, którą możesz odpowiednio wypicować :wink:

W jaki sposób zamienić string name = „Rails” na symbol?
W jaki sposób wydobyć z tablicy [0,1,2,3,4,5,6] tylko liczby parzyste?
Co oznacza zapis x = 1…10 i czym się różni od x = 1…10 oraz jakiego typu będzie zmienna x?
Jaka jest różnica między eql? i equal? ?
Jaka jest różnica między sub a sub! wywołanych na obiekcie klasy String?
W jaki sposób definiuje się aliasy dla metod i funkcji w Ruby?
Jaka jest podstawowa różnica między klasą a modułem w Ruby?
Jaka jest różnica między include a extend modułu w klasie?
Czy scope zdefiniowany w modelu jest dostępny dla instancji tej klasy?
W jaki sposób działa single table inheritance (STI) w Rails?
Jakich gem’ów użyłbyś do uwierzytelniania użytkowników?
W jaki sposób dodałbyś kod który ma się wykonać przed każdą akcją w kontrolerze?
W jaki sposób nadpisałbyś metodę start_date=(date) w modelu?

Ogólnie większość pytań nie jest trudna a nawet bardzo prosta, pod warunkiem że miało się styczność z tym.

@drogus +1
reszta:

@wafcio: większość programistów (ścisłowców, którzy mają inżynieryjny sposób myślenia) - nie odpowie na większość pytań, bo jest nieprecyzyjna. Parę jest wręcz wyjętych z dupy.

[quote=hubertlepicki]Słabo. Ja i Wojtek mamy taką listę ze 40 pytań z różnych dziedzin, nie tylko Railsów. Począwszy od tego jak działają cookies, na SQLu skończywszy. 5 pytań to zdecydowanie za mało, ale z mojej strony takie sugestie:

  1. Jak wygląda wzorzec MVC w wariancie stosowanym w RoR.
  2. Co to są i jak działają domknięcia w języku Ruby.
  3. Jaką asocjację byś zrobił mając …i tu jakiś wycinek schematu bazy danych…
  4. Do czego służy “yield”
  5. Co to jest i jak wygląda BDD? Jak ie znasz narzędzia pomocne przy BDD w RoR.[/quote]
    Dzięki o takie pytania mi właśnie chodziło, w końcu dowiedziałem się co się nazywa domknięciami :slight_smile:

Jeżeli jeszcze jakieś sobie przypomnisz chętnie się z nimi zmierzę.

Mam pytanie odnośnie własnej aplikacji czy wystarczający były tu już system rezerwacji(z kilkoma dodatkami), CMS, lub własne proste forum?
Po prostu mam proste aplikacje, które tworzyłem dla własnych potrzeb dla ok 50 użytkowników.

Czy musi to być coś na miarę Twittera :wink:

Pozdrawiam

Może być cokolwiek, i tak najlepiej wysłać wybrane pliki/metody, całego projektu bym nie przeglądał.

Co do pytań, to nie jest też tak, że ja bym zupełnie o nic nie pytał, bo pytam, ale kod ma zawsze pierwszeństwo. Już samo wybranie kawałka kodu jest ciężkie, jeżeli ktoś wysyła wątpliwej jakości kod, jako coś czym chce się pochwalić, to widać, że jest problem. Bo tak ogólnie, to każdy pisze brzydki kod (zmęczenie, deadline’y, brak motywacji itepe), kwestia jest taka czy to widzi.

Jeśli chcesz jakościowo polepszyć konto na githubie, to polecam zamieszczenie rozwiązań zadań z http://puzzlenode.com. Czysty ruby, 0 użerania się z railsami. A jeśli chodzi o railsy, to zbuduj aplikację wykorzystując fajne rzeczy, które są omawiane na http://railscasts.com. Do tego trochę testów (ale tylko do najważniejszych rzeczy). Polecam sklep - można dodawać różne niezależne ficzery, z różnych dziedzin. Budowanie takiego portfolio to kwestia nawet lat (zależy ile masz czasu), ale się opłaca. Codziennie mały commit :slight_smile:

Dla mnie jako pracodawcy najważniejszy jest kod.

Patrząc na commity mogę ocenić: sposób pracy (regularna czy z doskoku), sposób myślenia, znajomość bibliotek. Jeśli ktoś udziela się na forum w taki czy inny sposób to mogę ocenić jak pracuje w grupie. Podobnie jeśli pokaże mi tickety open source nad którymi pracował.

CV i sposób komunikacji (e-mail, Skype, Jabber) też wiele mówią o człowieku - ale są to cechy drugorzędne w stosunku do umiejętności.

Pytania testowe to głupota i relikt masowego traktowania ludzi. Dlatego tak często spotykane są w korporacjach i uprawiane przez ludzi z nich się wywodzących.

I’ll bite: czym się (w Ruby) różni metoda od funkcji?

Nie przejmuj się jakie pytania usłyszysz. Albo będziesz znał odpowiedź albo nie. To nie jest test do którego można się przygotować. Zastanów się jakie pytania chcesz zadać, czego sam wymagałbyś od pracodawcy i na czym Ci zależy :slight_smile:

http://www.rubyinside.com/tips-hiring-ruby-web-developers-4757.html

Dość fajny artykuł odnośnie rekrutacji (ostatnio był na HN):

http://ayende.com/blog/90113/if-you-donrsquo-t-have-pet-projects-i-donrsquo-t-think-i-want-you

Zawsze na rozmowach, oprócz standardów (kod itp.), sprawdzam, czy kandydat ma opinię na jakiś temat. Choćby ActiveRecord czy DataMapper, jQuery czy Prototype, CSS, SASS czy LESS i tym podobne.

Polecam też przeczytanie w wolnej chwili http://weblog.raganwald.com/2006/06/my-favourite-interview-question.html (razem z odnośnikami pod koniec).

Cholera ja się łapię na tym, że coraz bardziej mi wszystko jedno jakiego narzędzia używam. Chyba się starzeję.

Ale masz o nich jakąś opinię prawda? Ludzie z druga wspominali, że warto pytać ludzi o słabe strony narzędzi, których używali. Jeśli znają to znaczy, że naprawdę używali a nie tylko przeczytali zajawkowe reklamy w readme :slight_smile:

Ta, mam opinie, tak tylko wylewam żale :wink:

odświeże troche i ustosunkuje się do pytań, które podałem, pytanie nie są mojego autorstwa, takie pytania otrzymałem na rozmowie o pracę (dosłownie o takiej treści).