40+ gyakran ismételt Ruby on Rails interjúkérdések és válaszok [2023]

A Ruby on Rails valószínűleg a leghíresebb Ruby keretrendszer. A használat egyszerűsége, az MVC architektúra, a közösség és a skálázhatóság az oka népszerűségének.

A Ruby on Rails-t használó nagy nevek közül néhány a GitHub, a Dribble, a Shopify, az Airbnb, az Etsy, a Kickstarter, a Twitch és a Zendesk, hogy néhányat említsünk.

Ha Ön középhaladó vagy képzett Ruby on Rails mérnök, okos lépés, ha megérti a következő interjú során felmerülő kérdések természetét.

Az interjúk ijesztőek lehetnek, ha felkészületlen vagy. Ha azonban jól felkészült, az önbizalma felszáll, és szerencsés lehet, hogy új szerepet kap álmai társaságában.

Ez a Ruby on Rails interjú néhány gyakori kérdése és válaszai.

Tartalomjegyzék

Mi az a Ruby on Rails?

A Ruby egy egyszerű szintaxisú objektum-orientált programozási nyelv.

A Ruby on Rails egy Ruby keretrendszer, amelyet a fejlesztők webalkalmazások létrehozására használnak.

Beszéljétek meg a Ruby on Rails előnyeit

  • Kevesebb kód, mint más nyelveken: A Rails segítségével néhány sornyi kóddal sokat érhet el.
  • Kiterjedt könyvtár és drágakövek: Rengeteg könyvtár és drágakő létezik a Ruby on Rails alkalmazás funkcionalitásának javítására.
  • Könnyen megtanulható: A Ruby on Rails kódja egyszerű angolnak tűnik.
  • Egy nagy közösség.
  Sablon alapú számlagenerátor kisvállalkozások számára [Web]

Beszéljétek meg a Ruby on Rails korlátait

  • A Django-val és a Node.js-szel összehasonlítva a Rails futási sebessége és teljesítménye alacsony.
  • Korlátozott dokumentáció néhány drágakövéhez.
  • A Ruby on Rails véleménynyilvánító, ami korlátozza a fejlesztők rugalmasságát.

Mi az a Rails vezérlő?

Ez a Ruby on Rails alkalmazás logikai központja. A Rails vezérlő kezeli, koordinálja és figyeli a felhasználók, modellek és nézetek közötti összes interakciót.

Mi a Rails aktív rekordja?

Az Active Record egy objektumreláció-leképezési (ORM) technika. Ez a Ruby-kód réteg a kódlogika és az adatbázis között fut. Miután megírta a Ruby kódot, „migrációkat” futtat az adatbázis módosításához.

Mi az MVC, és hogyan működik?

A modell-nézet-vezérlő (MVC) architektúra mintája elválasztja az üzleti logikát a bemeneti és megjelenítési logikától.

  • Modell: kezeli az összes adatlogikát egy Rails alkalmazásban.
  • Nézet: ez a felhasználók által megtekintett alkalmazás része.
  • Vezérlő: olyan, mint egy híd vagy közvetítő, amely lehetővé teszi a modell és a nézet közötti kommunikációt.

Mi az a műveletvezérlő a Ruby on Railsben?

Az Action Controller a C az MVC mintában. Az Action Controller fogadja a bejövő kéréseket, értelmezi a kérést, és előállítja a megfelelő kimenetet.

Mi az a rake a Railsben?

A Rake egy feladatfutó a Ruby on Rails és Ruby alkalmazásokhoz. A Rails előre meghatározott Rake-feladatokkal rendelkezik a tesztek végrehajtásához, az áttelepítések futtatásához és az adatbázisok létrehozásához.

Mi a hozam Ruby on Railsben?

A hozam egy kulcsszó, amelyet a blokkok meghívására használt metódusokon belül használnak. A blokknak átadható hozam argumentumok száma nincs korlátozva. A blokkok ebben az esetben olyan nevek nélküli metódusok, amelyek további argumentumaként átadhatók más metódusokhoz.

Mi az a szemétgyűjtő Ruby on Rails?

A szemétgyűjtés a számítógépes programok által használt memória szabályozásának folyamata. A Ruby on Rails nyomon követi, hogy milyen objektumokat használ a program, nem pedig a programozó. A fejlesztők így a logikára és a konvenciókra összpontosíthatnak ahelyett, hogy a memóriafoglalás miatt aggódnának.

Mi a Szemetgyűjtés szerepe a Rails alkalmazásban?

Memóriát szabadít fel a gépen más folyamatok végrehajtásához. A szemétgyűjtés ezt úgy éri el, hogy eltávolítja azokat a hozzáférhetetlen objektumokat, amelyeket a program végrehajtása után elhagy.

Mi az az eszközvezeték?

Az Asset Pipeline a Ruby on Railsben olyan keretrendszert biztosít, amely minimalizálja és összefűzi a CSS- és JavaScript-eszközöket. Ez a keretrendszer lehetővé teszi, hogy a Rails alkalmazásban lévő összes eszköz automatikusan kombinálódjon más drágakövekből származó eszközökkel.

Tegyen különbséget a dinamikus és a statikus állványok között

Az állványozás a Rails alkalmazás főbb részei létrehozásának folyamata.

A statikus állványzat kifejezetten beír egy parancsot, amely előállítja a szükséges adatokat a megfelelő mezőkben. A statikus állványozás befejezéséhez migrációt kell futtatnia.

A dinamikus állványzat tartalmakat és felhasználói felületeket hoz létre futás közben. Ez a folyamat használható műveletek létrehozására, módosítására és törlésére a Rails alkalmazásban.

Mi az az osztálykönyvtár?

Az osztálykönyvtár Ruby on Rails tartományokat tartalmaz, és a szálprogramozás és az adattípusok példák az ilyen tartományokra. Az osztálykönyvtár lehetővé teszi a fejlesztő számára, hogy kódabsztrakciót hozzon létre, és így ugyanazt a logikát használja az alkalmazás különböző elemeiben.

  10 dedikált AMD szerver hosting üzleti alkalmazásokhoz

Mutassa be a sínek polimorf társulását

A Polymorphic Association az aktív rekordtársítás egy típusa. A polimorfizmus azt jelenti, hogy egy objektumnak többféle formája lehet. A Rails kontextusban a Polymorphic Association lehetővé teszi egyetlen modell definiálását, amely társítható vagy tartozhat más modellekhez anélkül, hogy ismételt kódot írna.

Mi a karakterlánc-interpoláció rubinban?

A karakterlánc-interpoláció olyan helyőrzőket ad hozzá, amelyek más értékekre hivatkoznak egy karakterlánc objektumban. Az összeadás operátor használata a legegyszerűbb módja az értékek interpolációjának.

Tekintsük ezt a példát:

name = "Titus"

puts "Hello " + name

A kimenet a következő lesz;

Szia Titusz

Mi az az objektumkapcsolati modell (ORM)?

Az ORM egy híd az adatbázisok és az objektumorientált programok között. A Rails objektumkapcsolata jelzi, hogy az osztályok mikor vannak leképezve egy táblára az adatbázison belül.

Magyarázza el a Rails migrációt

Az áttelepítések segítségével a fejlesztők kényelmesen módosíthatják az adatbázissémát. A fejlesztők így szabályozott környezetben kezelhetik az adatbázissémában a közzétételt és a visszaállítást. Ez a megközelítés megakadályozza, hogy egyedi SQL-parancsfájlokat kezeljen a módosítások meghatározásához.

Magyarázza el a Rails elnevezési konvencióját

  • Osztály és modul: használja a MixedCase-t, de ne legyen aláhúzás. Az osztályok és modulok nevei nagybetűvel kezdődnek.
  • Adatbázistábla: az adatbázistábla neve többes számban és kis- és nagybetűben legyen.
  • Változók: a változókat deklaráló betűket kisbetűvel és kígyó-betűvel kell írni, aláhúzással elválasztva.
  • Modell: a MixedCase használatával adja meg a modellt, és győződjön meg arról, hogy a név egyes számban van megadva.
  • Vezérlők: a vezérlők nevei többes számban vannak megadva.

Mi a különbség a karakterlánc és a szöveg között a Railsben?

A :string akkor megfelelő, ha rövid, legfeljebb 255 karakteres szöveget szeretne tárolni. Használhatja nevekkel, felhasználónevekkel, e-mail címekkel, jelszavakkal és címekkel.

:text illik a hosszú leírásokhoz. Tökéletes példák egy blogbejegyzéshez vagy az üzlet leírásához fűzött megjegyzésekre.

class CreatePosts < ActiveRecord::Migration

   def self.up

      create_table:posts do |t|

         t.string:description

         t.text :content 

      end

   end

Magyarázza el a webhelyek közötti kérelem-hamisítást (CSRF)

A Cross-Site Request Forgery (CSRF) egy online támadás, amelynek során a támadók csapdába ejtik a hitelesített felhasználókat, hogy bizonyos műveleteket hajtsanak végre a nevükben.

A Rails megköveteli a fejlesztőktől, hogy hozzáadják a „protect_from_forgery” értéket az ApplicationControllerhez, hogy elkerüljék a CSRF-támadásokat. Az alkalmazásnak mindig szüksége lesz egy CSRF tokenre a felhasználó hitelesítéséhez.

Magyarázza el, mi a mixin a Railsben

A mixin szabályozott módot kínál arra, hogy funkciókat adjon egy osztályhoz. Sok különböző mixin alkot egy osztályt. A mixinek felszámolják a többszörös öröklődés szükségességét.

Mi a terhelés és követelmény haszna a Rubyban?

A követelmény( ) könyvtárak/gemek importálására szolgál

A load() egy kódblokk végrehajtására szolgál

Mi a különbség a visszahívások és a megfigyelők között a Ruby on Railsben?

A sínfigyelőket akkor használják, ha egy módszer nem kapcsolódik közvetlenül egy objektum életciklusához. Életciklusuk nagy, és bármikor fel- vagy leválaszthatók.

A visszahívások csak bizonyos esetekben hívhatók meg egy objektum életciklusában. Ilyen példányok például a frissítések, a létrehozás és az érvényesítés. A visszahívások csak rövid ideig aktívak.

  A leggyakoribb folyamatábra szimbólumok magyarázata

Mik azok a hevederek és rögzítők Rubyban?

A rögzítések a tesztelni kívánt adatok rendszerezési módjára utalnak. Létrehozhatók .yml kiterjesztésű fájlokban.

A Harnesses a Rails tesztek futtatásának környezete vagy tesztfutója. A szerelvények a hevederekben vannak felállítva.

Mi a különbség a kiterjesztése és a belefoglalás között?

Az „Include” egy példánymetódussal ad hozzá egy osztályt. A kód így elérhető lesz osztálymetódusokon keresztül.

Az „Extend” hozzáadja a modulban meghatározott példánymetódusokat a kiterjesztett osztályhoz.

A drágakövek és a bővítmények ugyanazok a Rubyban?

A drágakövek csomagolt Ruby alkalmazások, amelyeket telepíteni kell. Általános célúak, és nem függnek a Rails-től a funkcionalitásuk miatt.

A Ruby on Rails beépülő moduljai a Rails alkalmazással együtt kerülnek telepítésre. Módosítják vagy kiegészítik a Rails alapvető funkcióit.

Mik azok a vasúti megfigyelők?

A Rails megfigyelő olyan mechanizmust kínál, amelyben az egyik objektum tájékoztatja a többieket, ha állapota megváltozik. Alkalmazható egy-a-többhöz viszonylatban, így amikor egy objektum megváltozik, az összes függő objektum értesül, és automatikusan megváltozik.

Milyen paranccsal hozzuk létre a migrációt?

bin/rails db:migrate

Mutassa be, hogyan definiálhat osztályt, példányt és globális változókat a Rubyban

  • Osztályváltozók: Az osztályukon belül bárhol használhatók. Az osztály leszármazottai is hozzáférhetnek hozzájuk. @@-al kezdődnek.
  • Példányváltozók: A létrehozott objektum példányaira jellemző helyi hatókörben használják. Ezek tárgyonként változhatnak. @-vel kezdődnek.
  • Globális változók: A programon belül bárhonnan elérhető. $-lal kezdődik.

Milyen szerepet játszik a Ruby demókönyvtárában elérhető rakefile?

A Rakefile segít a Rails kód tesztelésében és csomagolásában. A fájl meghatározza azokat a feladatokat, amelyek teszteket hajtanak végre, vagy bemutatják az alkalmazás funkcióit.

Mi az a seprőgép a Railsben?

A seprők terminátorként működnek a gyorsítótárban. Félig szűrőként és félig megfigyelőként működnek, és visszahívásokat hajtanak végre a két szerepkörhöz. Az ‘expire_cache’ megkeresi az összes lejárt gyorsítótár-részletet, és törli őket,

Mik azok a szűrők?

Ezek a metódusok „előtte” vagy „után” egy vezérlő műveletének végrehajtása. Az ilyen metódusok öröklöttek, és minden olyan kéréssel futnak, amelyet az alkalmazás fogad, mindaddig, amíg beállította őket az ApplicationControllerben.

Tegyen különbséget az átirányítás és a megjelenítés között a Railsben

Renderelés: egy sablon megjelenítésére, majd a kérésre válaszul az ügyfélnek való elküldésére szolgál. Ez a sablon ezután létrehozza azt az oldalt, amelyet a böngésző megjelenít.

Átirányítás: új HTTP kérést küld egy másik URL-re. Ez a művelet átirányítja az ügyfelet egy másik vezérlőre vagy műveletre. Ez a módszer akkor hasznos, ha módosítani szeretné az ügyfelek által a böngészőben látott URL-címet.

Tegyen különbséget a super() és a szuper hívás között

  • Szuper: üzenetet küld az aktuális objektum szülőjének, hogy meghívja a meghívott metódus összes argumentumát.
  • super(): nem küld argumentumot a szülőnek.

Mi a különbség a Procs és a Blocks között?

  • Blokkok: Do/end utasításokkal vagy kapcsos zárójelekkel körülvett kódrészlet. A metódus minden egyes meghívásakor létrejönnek és végrehajtódnak.
  • Eljárások: A helyi változók halmazához kötött kódblokkok. Ez a kód különböző kontextusokban hívható, és továbbra is hozzáfér a változókhoz.

Mi a különbség a puts és a print utasítások között?

Puts-t használunk, ha valamit ki akarunk nyomtatni a képernyőre. Például,

puts “Hello World!!!”

Nyomatok Hello World!!! a képernyőn

A nyomtatást akkor használjuk, ha nem akarunk új sort hozzáadni a konzolhoz.

print “Hello World!!!” 

Kimenet a Hello World!!!, de új sor nem kerül a konzolba.

Mik azok a dinamikus keresők?

A dinamikus keresők lehetővé teszik a fejlesztők számára, hogy nyers SQL-lekérdezések használata nélkül keressenek rekordokat az adatbázisukban. A find_by_ kulcsszót használják, amelyet ezután követnek a kereséshez.

Magyarázza el, hogyan valósítja meg a Rail az ajaxot

  • A rendszer elindít egy eseményindítót, például egy űrlap elküldését vagy egy gombra kattintást.
  • A JavaScript metódus elküldi az eseményindító adatokat a szerver egy kezelőjének.
  • A szerveroldali kezelő az adatokon dolgozik, és HTML-kódot küld a webes kliensnek.
  • Az ügyféloldali JavaScript-kezelő fogadja a HTML-tartalmat, és frissíti az aktuális oldalt.

Magyarázza el a Dig, Float és Max

  • A Dig metódussal értékeket nyerhet ki beágyazott hash-ekből vagy tömbökből.
  • A Float egy Ruby adattípus, amely lebegőpontos pontossággal reprezentálja a valós számokat.
  • A Max egy tömbökkel és hashekkel használható metódus. A maximális értéket adja vissza az elemek/értékek gyűjteményében.
array = [2, 9, 4, 7, 3]

maximum = array.max

A konzol 9-et fog kiadni, mivel ez a legnagyobb szám.

Következtetés

A fenti néhány kérdés valószínűleg megtalálható a következő Ruby on Railsben. Ha Ön sokoldalú szoftvermérnök, ellenőrizze ezeket a Node.js interjúkérdéseket. Győződjön meg arról, hogy megértette a Rails mérnök munkaköri leírását, mielőtt részt vesz a következő interjún.