Topp 53 Ruby on Rails intervjufrågor och svar (2025)

Här är Ruby on Rails intervjufrågor och svar för nybörjare såväl som erfarna Ruby-utvecklarkandidater för att få sitt drömjobb.

1) Förklara vad är Ruby on Rails?

  • Rubin: Det är ett objektorienterat programmeringsspråk inspirerat av PERL, Smalltalk, Eiffel, Ada, Basic och Lisp.
  • skenor: Det är ett ramverk som används för att bygga webbapplikationer

2) Förklara vad är klassbibliotek i Ruby?

Klassbibliotek i Ruby består av en mängd olika domäner, såsom datatyper, trådprogrammering, olika domäner, etc.

Gratis PDF-nedladdning: Ruby on Rails intervjufrågor och svar


3) Nämn vad är namnkonventionen i Rails?

  • variabler: För att deklarera variabler är alla bokstäver gemener och ord separeras med understreck
  • Klass och modul: Moduler och klasser använder MixedCase och har inget understreck; varje ord börjar med en stor bokstav
  • Databastabell: Databastabellens namn ska ha små bokstäver och understreck mellan ord, och alla tabellnamn ska vara i pluralform, till exempel fakturaposter
  • Artikelnummer : Den representeras av obruten MixedCase och har alltid singularis med tabellnamnet
  • Kontroller: Kontrollerklassnamn representeras i pluralform, så att OrdersController skulle vara kontrollenheten för ordertabellen.

4) Förklara vad är "yield" i Ruby on Rails?

En Ruby-metod som tar emot ett kodblock anropar det genom att anropa det med "Yield".


5) Förklara vad är ORM (Object-Relationship-Model) i Rails?

ORM eller Object Relationship Model in Rails indikerar att dina klasser är mappade till tabellen i databasen, och objekt mappas direkt till raderna i tabellen.


6) Nämn vad skillnaden är mellan falskt och noll i Ruby?

I Ruby är false ett objekt av FalseClass för att representera ett booleskt värde, medan Nil är ett objekt av NilClass som indikerar frånvaron av ett värde. Den har ett object_id 4.

Ruby on Rails intervjufrågor
Ruby on Rails intervjufrågor


7) Nämn vilka är de positiva aspekterna av Rails?

Rails ger många funktioner som

  • Metaprogrammering: Rails använder kodgenerering men för tunga lyft förlitar den sig på metaprogrammering. Ruby anses vara ett av de bästa språken för metaprogrammering.
  • Aktiv post: Den sparar objekt i databasen genom Active Record Framework. Rails-versionen av Active Record identifierar kolumnen i ett schema och binder dem automatiskt till dina domänobjekt med hjälp av metaprogrammering
  • Byggnadsställningar: Räls har en förmåga att skapa ställningar eller tillfällig kod automatiskt
  • Konvention över konfiguration: Till skillnad från andra utvecklingsramverk kräver Rails inte mycket konfiguration, om du följer namnkonventionen noggrant
  • Tre miljöer: Rails kommer med tre standardmiljötestning, utveckling och produktion.
  • Inbyggd testning: Den stöder kod som kallas sele och fixturer som gör att testfall kan skrivas och köras.

8) Förklara vilken roll underkatalogapp/kontroller och app/hjälpare har?

  • App/kontroller: En webbförfrågan från användaren hanteras av kontrollenheten. Styrenhetens underkatalog är där Rails letar för att hitta styrenhetsklasser
  • App/hjälpare: Hjälparens underkatalog innehåller alla hjälpklasser som används för att assistera visnings-, modell- och kontrollklasserna.

9) Nämn vad är skillnaden mellan sträng och symbol?

De båda agerar på samma sätt bara de skiljer sig åt i sina beteenden som är motsatta varandra. Skillnaden ligger i object_id, minne och process tune när de används tillsammans. Symbol tillhör kategorin oföränderliga objekt medan strängar betraktas som föränderliga objekt.


10) Förklara hur Symbol skiljer sig från variabler?

Symbol skiljer sig från variabler i följande aspekter

  • Det är mer som en sträng än variabel
  • I Ruby är sträng föränderlig men en symbol är oföränderlig
  • Endast en kopia av symbolen behöver skapas
  • Symboler används ofta som motsvarande enums i Ruby

11) Förklara vad är Rails Active Record i Ruby on Rails?

Rails aktiva post är objekt/Relational Mapping (ORM)-skiktet som levereras med Rails. Den följer standard ORM-modellen som

  • Tabellkarta till klasser
  • Rader mappar till objekt
  • Kolumner mappar till objektattribut

12) Förklara hur Rails implementerar Ajax?

Ajax-driven webbsida hämtar webbsidan från servern som är ny eller ändrad till skillnad från andra webbsidor där du måste uppdatera sidan för att få den senaste informationen.

Rails utlöser en Ajax-operation på följande sätt

  • Några utlöser bränder: Utlösaren kan vara en användare som klickar på en länk eller knapp, att användarna inducerar ändringar av data i fältet eller på ett formulär
  • Webbklienten anropar servern: En Java-script-metod, XMLHttpRequest, skickar data kopplade till triggern till en åtgärdshanterare på servern. Uppgifterna kan vara ID för en kryssruta, hela formuläret eller texten i inmatningsfältet
  • Servern bearbetar: Serverns handlingshanterare gör något med data och hämtar en html fragment till webbklienten
  • Kunden får svaret: JavaScript på klientsidan, som Rails genererar automatiskt, tar emot HTML-fragmentet och använder det för att uppdatera en viss del av den aktuella

13) Nämn hur du kan skapa en controller för ämne?

För att skapa en styrenhet för ämne kan du använda följande kommando

C:\ruby\library> ruby ​​script/generera kontrollämne


14) Nämn vad är Rails Migration?

Rails Migration gör det möjligt för Ruby att göra ändringar i databasschemat, vilket gör det möjligt att använda ett versionskontrollsystem för att lämna saker synkroniserade med den faktiska koden.


15) Lista ut vad Rails Migration kan göra?

Rails Migration kan göra följande saker

  • Skapa tabell
  • Släpp bord
  • Byt namn på tabell
  • Lägg till kolumn
  • Byt namn på kolumn
  • Ändra kolumn
  • Ta bort kolumn och så vidare

16) Nämn vad är kommandot för att skapa en migrering?

För att skapa migreringskommando inkluderar

C:\ruby\application>ruby script/generera migrationstabellnamn


17) Förklara när metoden self.up och self.down används?

När du migrerar till en ny version, själv.upp metoden används medan själv.nedåt metod används för att återställa mina ändringar om det behövs.


18) Nämn vilken roll Rails Controller har?

Rails-styrenheten är applikationens logiska centrum. Det underlättar interaktionen mellan användarna, åsikterna och modellen. Den utför även andra aktiviteter som

  • Den kan dirigera externa förfrågningar till interna åtgärder. Den hanterar URL extremt bra
  • Den reglerar hjälpmoduler, som utökar kapaciteten för vymallarna utan att bulta deras kod
  • Den reglerar sessioner; som ger användarna intrycket av en pågående interaktion med våra applikationer

19) Nämn vad som är skillnaden mellan Active supports "HashWithIndifferent" och Ruby's "Hash"?

Ocuco-landskapet Hash klass i Rubys kärnbibliotek returnerar värde genom att använda en standard "= =" jämförelse på tangenterna. Det betyder att värdet lagrat för en Symbolen nyckel kan inte hämtas med motsvarande sträng. Medan HashWithIndifferentAccess behandlar symbolnycklar och strängnycklar som likvärdiga.


20) Förklara vad som är Cross-Site Request Forgery (CSRF) och hur Rails skyddas mot det?

CSRF är en form av attack där hackare skickar en sidförfrågan för din räkning till en annan webbplats, orsakar skada eller avslöjar dina känsliga uppgifter. För att skydda mot CSRF-attacker måste du lägga till "skydda_från_förfalskning" till din ApplicationController. Detta kommer att få Rails att kräva en CSRF-token för att behandla begäran. CSRF-token ges som ett dolt fält i varje form som skapas med Rails formbyggare.


21) Förklara vad Mixin i Rails är?

Mixin i Ruby erbjuder ett alternativ till flera arv, med hjälp av mixin-moduler kan importeras in i andra klasser.


22) Förklara hur du definierar Instance Variable, Global Variable och Class Variable i Ruby?

  • Ruby Instance-variabeln börjar med — @
  • Ruby Class-variabler börjar med — @@
  • Ruby Globala variabler börjar med — $

23) Förklara hur du kan köra Rails-applikationen utan att skapa databaser?

Du kan köra din ansökan genom att avkommentera raden i environment.rb

path=> rootpath conf/environment.rb

config.frameworks = [ action_web_service, :action_mailer, :active_record]

24) Nämn vad är skillnaden mellan Observers och Callbacks i Ruby on Rails?

  • Rails observatörer: Observers är samma som Callback, men den används när metoden inte är direkt kopplad till objektets livscykel. Dessutom lever observatören längre, och den kan tas loss eller fästas när som helst. Till exempel att visa värden från en modell i användargränssnittet och uppdatera modellen från användarinmatning.
  • Rails Callback: Callbacks är metoder som kan anropas vid vissa ögonblick av ett objekts livscykel, till exempel kan det anropas när ett objekt valideras, skapas, uppdateras, raderas. Ett callback är kortlivat. Till exempel att köra en tråd och ge ett callback som anropas när tråden avslutas

25) Förklara vad är rake i Rails?

Rake är en Ruby Make; det är ett Ruby-verktyg som ersätter Unix-verktyget 'make' och använder en 'Rakefile' och '.rake-filer' för att bygga upp en lista med uppgifter. I Rails används Rake för normala administrationsuppgifter som att migrera databasen genom skript, ladda ett schema i databasen, etc.


26) Förklara hur du kan lista alla rutter för en applikation?

För att lista ut alla rutter för en applikation kan du skriva rakerutter i terminalen.


27) Förklara vad som är sopmaskin i Rails?

Sweepers ansvarar för att cacher upphör eller avslutas när modellobjekt ändras.


28) Nämn loggen som måste ses för att rapportera fel i Ruby Rails?

Rails kommer att rapportera fel från Apache i loggen/Apache.log och fel från Ruby-koden i log/development.log.


29) Förklara vad är skillnaden mellan dynamiska och statiska ställningar?

Dynamiska ställningar Statiska ställningar
  • Den skapar automatiskt hela innehållet och användargränssnittet vid körning
  • Det gör det möjligt att skapa nya, ta bort, redigera metoder för användning i applikationen
  • Den behöver ingen databas för att synkroniseras
  • Det kräver manuell inmatning i kommandot för att skapa data med sina fält
  • Det kräver inte att någon sådan generation äger rum
  • Det kräver att databasen migreras

30) Nämn vad är funktionen för sophämtning i Ruby on Rails?

Funktionerna för sophämtning i Ruby on Rails inkluderar

  • Det gör det möjligt att ta bort pekarvärdena som lämnas kvar när exekveringen av programmet avslutas
  • Det frigör programmeraren från att spåra objektet som skapas dynamiskt under körning
  • Det ger fördelen att ta bort otillgängliga objekt från minnet och tillåter andra processer att använda minnet

31) Nämn vad är skillnaden mellan omdirigering och rendering i Ruby on Rails?

  • Omdirigering är en metod som används för att skicka felmeddelandet om sidan inte utfärdas eller hittas i webbläsaren. Den säger åt webbläsaren att bearbeta och utfärda en ny begäran.
  • Render är en metod som används för att göra innehållet. Render fungerar bara när styrenheten ställs in korrekt med de variabler som måste renderas.

32) Nämn vad är syftet med RJs in Rails?

RJs är en mall som producerar JavaScript som körs i ett eval-block av webbläsaren som svar på en AJAX-förfrågan. Det används ibland för att definiera JavaScript, prototyp och hjälpare som tillhandahålls av Rails.


33) Förklara vad är Polymorphic Association i Ruby on Rails?

Polymorphic Association tillåter att ett ActiveRecord-objekt kopplas till flera ActiveRecord-objekt. Ett perfekt exempel på Polymorphic Association är en social sida där användare kan kommentera var som helst oavsett om det är videor, foton, länkar, statusuppdateringar etc. Det skulle inte vara möjligt om du måste skapa en individuell kommentar som photos_comments, videos_comment och så vidare .


34) Nämn vilka är gränserna för Ruby on Rails?

Ruby on Rails har designats för att skapa en CRUD-webbapplikation med MVC. Detta kan göra Rails inte användbart för andra programmerare. Några av funktionerna som Rails inte stöder inkluderar

  • Utländsk nyckel i databaser
  • Länka till flera databaser samtidigt
  • Tvålwebbtjänster
  • Anslutning till flera databasservrar samtidigt

35) Nämn vad är skillnaden mellan att anropa super() och superanrop?

  • super(): Ett anrop till super() anropar den överordnade metoden utan några argument, som förmodligen förväntat. Som alltid är det bra att vara tydlig i din kod.
  • supersamtal: Ett anrop till super anropar den överordnade metoden med samma argument som skickades till den underordnade metoden. Ett fel kommer därför att uppstå om argumenten som skickas till den underordnade metoden inte stämmer överens med vad föräldern förväntar sig.

36) Förklara om Dig, Float och Max?

  • Float class används när funktionen ändras konstant.
  • Dig används när du vill representera en float i decimalsiffror.
  • Max används när det finns ett stort behov av Float.

37) Förklara hur vi kan definiera Ruby reguljära uttryck?

Ruby reguljära uttryck är en speciell sekvens av tecken som hjälper dig att matcha eller hitta andra strängar. Ett reguljärt uttryck literal är ett mönster mellan godtyckliga avgränsare eller snedstreck följt av %r.


38) Förklara vad är den definierade operatorn?

Definiera operatorn anger om ett passerat uttryck är definierat eller inte. Om uttrycket är definierat returnerar det beskrivningssträngen och om det inte är definierat returnerar det ett nollvärde.


39) Lista ut de få funktionerna hos Ruby?

  • Fritt format – Du kan börja skriva från program från valfri rad och kolumn
  • Skiftlägeskänslig – De stora och små bokstäverna är distinkta
  • Kommentarer – Allt följt av ett ocitat #, till slutet av raden där den förekommer, ignoreras av tolken
  • Uttrycksavgränsare – Flera påståenden på en rad måste separeras med semikolon, men de krävs inte i slutet av en rad.

40) Nämn vilka typer av variabler som finns tillgängliga i Ruby Class?

Typer av variabler tillgängliga i Ruby Class är,

  • Lokala variabler
  • Globala variabler
  • Klassvariabler
  • Instansvariabler

41) Förklara hur du kan deklarera ett block i Ruby?

I Ruby är koden i blocket alltid innesluten inom klammerparenteser ({}). Du kan anropa ett block genom att använda "yield statement".


42) Förklara vad är skillnaden mellan put och putc-sats?

Till skillnad från puts-satsen, som matar ut hela strängen på skärmen. Putc-satsen kan användas för att mata ut ett tecken åt gången.


43) Förklara vad är ett klassbibliotek i Ruby?

Ruby-klassbibliotek består av en mängd olika domäner, såsom trådprogrammering, datatyper, olika domäner, etc. Dessa klasser ger flexibla möjligheter på en hög abstraktionsnivå, vilket ger dig möjligheten att skapa kraftfulla Ruby-skript användbara i en mängd olika problem domäner. Följande domäner som har relevanta klassbibliotek är,

  • GUI-programmering
  • Nätverksprogrammering
  • CGI-programmering
  • Textbehandling

44) I Ruby förklarar det om den definierade operatorn?

Den definierade operatorn talar om om ett passerat uttryck är definierat eller inte. Om uttrycket inte är definierat ger det null, och om uttrycket är definierat returnerar det beskrivningssträngen.


45) Nämn vad som är skillnaden i omfattning för dessa två variabler: @@namn och @namn?

Skillnaden i omfattning för dessa två variabler är att:

  • @@name är en klassvariabel
  • @name är en instansvariabel

46) Nämn vad är syntaxen för Ruby collect Iterator?

Syntaxen för Ruby collect Iterator collection = collection.collect.


47) I Ruby-kod observeras det ofta att kodaren använder en kort handform för att använda ett uttryck som array.map(&:metodnamn) istället för array.map { |element| element.method_name }. Hur fungerar det här tricket egentligen?

När en parameter skickas med "&" framför sig. Ruby kommer att anropa to_proc på den i ett försök att göra den användbar som ett block. Så symbol to_Proc kommer att anropa metoden för motsvarande namn på vad som än skickas till den. På så sätt hjälper vårt stenografitrick att fungera.


48) Förklara vad är interpolation i Ruby?

Ruby Interpolation är processen att infoga en sträng i en bokstavlig. Genom att placera en hash (#) inom {} öppna och stängda parenteser kan man interpolera en sträng till bokstaven.


49) Nämn vilken notation som används för att beteckna klassvariabler i Ruby?

I Ruby,

  • En konstant ska börja med en stor bokstav och den ska inte definieras i en metod
  • En lokal måste börja med understrecket _ eller en liten bokstav
  • En global variabel bör börja med $-tecknet. En oinitierad global har värdet "noll" och det borde den höja en varning. Det kan hänvisas var som helst i programmet.
  • En klassvariabel bör börja med dubbel @@ och måste först initieras innan den används i en metoddefinition

50) Nämn vad är skillnaden mellan Procs och Blocks?

Skillnaden mellan Procs och Blocks,

  • Block är bara en del av syntaxen för en metod medan proc har egenskaperna hos ett block
  • Procs är objekt, block är inte
  • Högst ett block kan förekomma i en argumentlista
  • Endast block kan inte lagras i en variabel medan Proc kan

51) Nämn vad är skillnaden mellan ett enkelt citat och ett dubbelt citat?

En sträng med citationstecken bearbetar inte ASCII-escape-koder, och de gör inte stränginterpolation.


52) Nämn vad är skillnaden mellan en pärla och en plugin i Ruby?

  • Pärla: En pärla är en bara rubinkod. Den är installerad på en maskin, och den är tillgänglig för alla ruby-applikationer som körs på den maskinen.
  • plugin: Plugin är också ruby-kod, men den är installerad i applikationsmappen och endast tillgänglig för den specifika applikationen.

53) Nämn vad är skillnaden förlänga och inkludera?

"inkludera" gör modulens metoder tillgängliga för instansen av en klass, medan "extend" gör dessa metoder tillgängliga för klassen själv.

Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)

Dela

14 Kommentarer

  1. Avatar Hasanuzzaman Sumon säger:

    Yield är inte funktion. Det är ruby ​​nyckelord som används för att exekvera block.

    1. Avatar Terry Ray säger:

      Specifikt kommer yield att skicka kontrollen över tråden (Main.thread mest troligt) till blocket som antingen skickades in explicit som en parameter, dvs def my_method(&my_block) eller alternativt kunde ett block ha skickats implicit som t.ex.

      min_klass.min_metod gör
      # kod i detta block kommer att ges till insidan av anropsmetoden
      änden

  2. mycket trevligt... fortsätt så

  3. Jorge Armando säger:

    på fråga #6, i Ruby, finns det ingen "boolesk" klass, därför ingen "boolesk typ". Det finns bara TrueClass och FalseClass.

    1. Alex Silverman Alex Silverman säger:

      Den är uppdaterad.

  4. Avatar Terry Ray säger:

    faktiskt Thread.main ... my bad :)

  5. Ruby är inte inspirerad av Python, den inspirerades av följande (Perl, Smalltalk, Eiffel, Ada, BASIC och Lisp)

    1. Alex Silverman Alex Silverman säger:

      Den är uppdaterad.

  6. Fin glimt av rubin och räls

  7. 6) nil.object_id är ekv till 8

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är markerade *