Topp 53 Ruby on Rails-intervjuspørsmål og -svar (2025)
Her er Ruby on Rails intervjuspørsmål og svar for ferskinger så vel som erfarne Ruby-utviklerkandidater for å få drømmejobben.
1) Forklar hva er Ruby on Rails?
- Rubin: Det er et objektorientert programmeringsspråk inspirert av PERL, Smalltalk, Eiffel, Ada, Basic og Lisp.
- Skinner: Det er et rammeverk som brukes til å bygge webapplikasjoner
2) Forklar hva er klassebiblioteker i Ruby?
Klassebiblioteker i Ruby består av en rekke domener, for eksempel datatyper, trådprogrammering, ulike domener, etc.
Gratis PDF-nedlasting: Ruby on Rails-intervjuspørsmål og -svar
3) Nevn hva er navnekonvensjonen i Rails?
- Variabler: For å deklarere variabler er alle bokstaver små, og ord er atskilt med understreking
- Klasse og modul: Moduler og klasser bruker MixedCase og har ingen understreking; hvert ord starter med en stor bokstav
- Databasetabell: Databasetabellnavnet skal ha små bokstaver og understreke mellom ord, og alle tabellnavn skal være i flertallsform, for eksempel fakturaposter
- Modell: Det er representert av ubrutt MixedCase og har alltid entall med tabellnavnet
- Controller: Kontrollerklassenavn er representert i flertallsform, slik at OrdersController vil være kontrolleren for ordretabellen.
4) Forklar hva er "Yield" i Ruby on Rails?
En Ruby-metode som mottar en kodeblokk påkaller den ved å kalle den med "Yield".
5) Forklar hva er ORM (Object-Relationship-Model) i Rails?
ORM- eller objektrelasjonsmodell i Rails indikerer at klassene dine er tilordnet tabellen i databasen, og objekter er direkte tilordnet radene i tabellen.
6) Nevn hva forskjellen er mellom falsk og null i Ruby?
I Ruby er false et objekt av FalseClass for å representere en boolsk verdi, mens Nil er et objekt av NilClass som indikerer fravær av en verdi. Den har en object_id 4.
7) Nevn hva er de positive sidene ved Rails?
Rails gir mange funksjoner som
- Meta-programmering: Rails bruker kodegenerering, men for tunge løft er den avhengig av meta-programmering. Ruby regnes som et av de beste språkene for metaprogrammering.
- Aktiv post: Den lagrer objekt til databasen gjennom Active Record Framework. Rails-versjonen av Active Record identifiserer kolonnen i et skjema og binder dem automatisk til domeneobjektene dine ved hjelp av metaprogrammering
- Stillas: Skinner har en mulighet til å lage stillaser eller midlertidig kode automatisk
- Konvensjon over konfigurasjon: I motsetning til andre utviklingsrammeverk, krever ikke Rails mye konfigurasjon, hvis du følger navnekonvensjonen nøye
- Tre miljøer: Rails kommer med tre standard miljøtesting, utvikling og produksjon.
- Innebygd testing: Den støtter kode kalt sele og inventar som gjør testsaker til å skrive og utføre.
8) Forklar hvilken rolle underkatalog-app/kontrollere og app/hjelpere har?
- App/kontrollere: En nettforespørsel fra brukeren håndteres av kontrolløren. Kontrollerunderkatalogen er der Rails ser for å finne kontrollerklasser
- App/hjelpere: Hjelperens underkatalog inneholder alle hjelpeklasser som brukes til å hjelpe visnings-, modell- og kontrollerklassene.
9) Nevn hva som er forskjellen mellom streng og symbol?
De oppfører seg begge på samme måte, bare de er forskjellige i sin oppførsel som er motsatt av hverandre. Forskjellen ligger i object_id, minne og prosess-melodi når de brukes sammen. Symbol tilhører kategorien uforanderlige objekter, mens strenger betraktes som foranderlige objekter.
10) Forklar hvordan Symbol er forskjellig fra variabler?
Symbol er forskjellig fra variabler i følgende aspekter
- Det er mer som en streng enn variabel
- I Ruby er streng mutbar, men et symbol er uforanderlig
- Bare én kopi av symbolet må opprettes
- Symboler brukes ofte som tilsvarende opptegnelser i Ruby
11) Forklar hva er Rails Active Record i Ruby on Rails?
Rails aktive post er Object/Relational Mapping (ORM)-laget som leveres med Rails. Den følger standard ORM-modellen som
- Tabellkart til klasser
- Rader kartlegges til objekter
- Kolonner tilordnes objektattributter
12) Forklar hvordan Rails implementerer Ajax?
Ajax-drevet nettside henter nettsiden fra serveren som er ny eller endret i motsetning til andre nettsider hvor du må oppdatere siden for å få den nyeste informasjonen.
Rails utløser en Ajax-operasjon på følgende måter
- Noen utløser brann: Utløseren kan være en bruker som klikker på en lenke eller knapp, brukerne induserer endringer i dataene i feltet eller på et skjema
- Nettklienten kaller serveren: En Java-script-metode, XMLHttpRequest, sender data knyttet til utløseren til en handlingsbehandler på serveren. Dataene kan være ID-en til en avkrysningsboks, hele skjemaet eller teksten i inntastingsfeltet
- Serveren behandler: Handlingsbehandleren på serversiden gjør noe med dataene og henter en HTML fragment til webklienten
- Kunden mottar svaret: JavaScript på klientsiden, som Rails genererer automatisk, mottar HTML-fragmentet og bruker det til å oppdatere en bestemt del av gjeldende
13) Nevn hvordan du kan lage en kontroller for faget?
For å lage en kontroller for emne kan du bruke følgende kommando
C:\ruby\library> ruby script/generer kontrolleremne
14) Nevn hva er Rails Migration?
Rails Migration gjør det mulig for Ruby å gjøre endringer i databaseskjemaet, noe som gjør det mulig å bruke et versjonskontrollsystem for å la ting være synkronisert med den faktiske koden.
15) List ut hva Rails Migration kan gjøre?
Rails Migration kan gjøre følgende ting
- Opprett tabell
- Slippbord
- Gi tabell nytt navn
- Legg til kolonne
- Gi kolonnen nytt navn
- Endre kolonne
- Fjern kolonne og så videre
16) Nevn hva er kommandoen for å opprette en migrering?
For å lage migreringskommando inkluderer
C:\ruby\application>ruby script/generer migreringstabellnavn
17) Forklar når self.up og self.down metoden brukes?
Når du migrerer til en ny versjon, selv.opp metoden brukes mens selv.ned metoden brukes til å rulle tilbake endringene mine om nødvendig.
18) Nevn hvilken rolle Rails Controller har?
Rails-kontrolleren er det logiske sentrum av applikasjonen. Det letter samspillet mellom brukerne, synspunktene og modellen. Den utfører også andre aktiviteter som
- Den er i stand til å dirigere eksterne forespørsler til interne handlinger. Den håndterer URL ekstremt godt
- Den regulerer hjelpemoduler, som utvider mulighetene til visningsmalene uten å fylle koden deres
- Den regulerer økter; som gir brukerne inntrykk av en pågående interaksjon med våre applikasjoner
19) Nevn hva som er forskjellen mellom Active Supports "HashWithIndifferent" og Ruby's "Hash"?
Din Hash klasse i Rubys kjernebibliotek returnerer verdi ved å bruke en standard «= =» sammenligning på tastene. Det betyr at verdien som er lagret for en symbol nøkkel kan ikke hentes ved hjelp av tilsvarende streng. Mens HashWithIndifferentAccess behandler symboltaster og strengnøkler som likeverdige.
20) Forklar hva som er Cross-Site Request Forgery (CSRF) og hvordan Rails er beskyttet mot det?
CSRF er en form for angrep der hackere sender inn en sideforespørsel på dine vegne til et annet nettsted, forårsaker skade eller avslører sensitive data. For å beskytte mot CSRF-angrep, må du legge til «beskytt_fra_forfalskning» til din ApplicationController. Dette vil føre til at Rails krever et CSRF-token for å behandle forespørselen. CSRF-token er gitt som et skjult felt i alle skjemaer som er opprettet ved hjelp av Rails-skjemabyggere.
21) Forklar hva er Mixin i Rails?
Mixin i Ruby tilbyr et alternativ til flere arv, ved å bruke mixin-moduler kan importeres i andre klasser.
22) Forklar hvordan du definerer Instance Variable, Global Variable og Class Variable i Ruby?
- Ruby Instance-variabel begynner med — @
- Ruby Class-variabler begynner med — @@
- Ruby Globale variabler begynner med — $
23) Forklar hvordan du kan kjøre Rails-applikasjonen uten å lage databaser?
Du kan kjøre applikasjonen din ved å fjerne kommentering av linjen i environment.rb
path=> rotbane conf/environment.rb
config.frameworks = [ action_web_service, :action_mailer, :active_record]
24) Nevn hva som er forskjellen mellom observatører og tilbakeringinger i Ruby on Rails?
- Sporobservatører: Observatører er den samme som tilbakeringing, men den brukes når metoden ikke er direkte knyttet til objektets livssyklus. Observatøren lever også lenger, og den kan løsnes eller festes når som helst. For eksempel visning av verdier fra en modell i brukergrensesnittet og oppdatering av modellen fra brukerinndata.
- Rails tilbakeringing: Tilbakeringing er metoder som kan kalles på bestemte tidspunkter av et objekts livssyklus, for eksempel kan det kalles når et objekt er validert, opprettet, oppdatert, slettet. Et tilbakekall er kortvarig. For eksempel kjøre en tråd og gi en tilbakeringing som kalles når tråden avsluttes
25) Forklar hva er rake i Rails?
Rake er en Ruby Make; det er et Ruby-verktøy som erstatter Unix-verktøyet 'make', og bruker en 'Rakefile' og '.rake-filer' for å bygge opp en liste over oppgaver. I Rails brukes Rake til vanlige administrasjonsoppgaver som å migrere databasen gjennom skript, laste et skjema inn i databasen, etc.
26) Forklar hvordan du kan liste opp alle ruter for en applikasjon?
For å liste opp alle rutene for en applikasjon kan du skrive rakeruter i terminalen.
27) Forklar hva som er sweeper i Rails?
Feiemaskiner er ansvarlige for å utløpe eller avslutte cacher når modellobjekt endres.
28) Nevn loggen som må sees for å rapportere feil i Ruby Rails?
Rails vil rapportere feil fra Apache i loggen/Apache.log og feil fra Ruby-koden i log/development.log.
29) Forklar hva som er forskjellen mellom dynamiske og statiske stillaser?
Dynamisk stillas | Statisk stillas |
|
|
30) Nevn hva som er funksjonen til søppelhenting i Ruby on Rails?
Funksjonene til søppelinnsamling i Ruby on Rails inkluderer
- Den gjør det mulig å fjerne pekerverdiene som blir liggende igjen når kjøringen av programmet avsluttes
- Det frigjør programmereren fra å spore objektet som blir opprettet dynamisk på kjøretid
- Det gir fordelen av å fjerne de utilgjengelige objektene fra minnet, og lar andre prosesser bruke minnet
31) Nevn hva som er forskjellen mellom omdirigering og gjengivelse i Ruby on Rails?
- Omdirigering er en metode som brukes til å sende feilmeldingen i tilfelle siden ikke blir utstedt eller funnet til nettleseren. Den ber nettleseren behandle og sende en ny forespørsel.
- Render er en metode som brukes for å lage innholdet. Render fungerer bare når kontrolleren blir satt opp riktig med variablene som må gjengis.
32) Nevn hva er formålet med RJs in Rails?
RJs er en mal som produserer JavaScript som kjøres i en eval-blokk av nettleseren som svar på en AJAX-forespørsel. Noen ganger brukes det til å definere JavaScript, prototype og hjelpere levert av Rails.
33) Forklar hva er Polymorphic Association i Ruby on Rails?
Polymorphic Association lar et ActiveRecord-objekt kobles til flere ActiveRecord-objekter. Et perfekt eksempel på Polymorphic Association er et sosialt nettsted hvor brukere kan kommentere hvor som helst, enten det er videoer, bilder, lenker, statusoppdateringer osv. Det ville ikke vært mulig hvis du må lage en individuell kommentar som photos_comments, videos_comment og så videre .
34) Nevn hva er grensene for Ruby on Rails?
Ruby on Rails er designet for å lage en CRUD-webapplikasjon ved hjelp av MVC. Dette kan gjøre Rails ikke nyttig for andre programmerere. Noen av funksjonene som Rails ikke støtter inkluderer
- Fremmednøkkel i databaser
- Kobling til flere databaser samtidig
- Såpenetttjenester
- Tilkobling til flere databaseservere samtidig
35) Nevn hva som er forskjellen mellom å ringe super() og superkalle?
- super(): Et kall til super() påkaller den overordnede metoden uten noen argumenter, som antagelig forventet. Som alltid er det en god ting å være eksplisitt i koden din.
- super samtale: Et kall til super påkaller den overordnede metoden med de samme argumentene som ble sendt til den underordnede metoden. En feil vil derfor oppstå hvis argumentene som sendes til den underordnede metoden ikke samsvarer med det forelderen forventer.
36) Forklar om Dig, Float og Max?
- Float klasse brukes når funksjonen endres konstant.
- Dig brukes når du vil representere en flyte i desimalsiffer.
- Max brukes når det er et stort behov for Float.
37) Forklar hvordan vi kan definere Ruby regulære uttrykk?
Ruby regulære uttrykk er en spesiell sekvens av tegn som hjelper deg med å matche eller finne andre strenger. Et regulært uttrykk bokstavelig er et mønster mellom vilkårlige skilletegn eller skråstreker etterfulgt av %r.
38) Forklar hva som er den definerte operatoren?
Definer-operatoren angir om et bestått uttrykk er definert eller ikke. Hvis uttrykket er definert, returnerer det beskrivelsesstrengen, og hvis det ikke er definert, returnerer det en nullverdi.
39) Liste ut de få funksjonene til Ruby?
- Gratis format – Du kan begynne å skrive fra program fra hvilken som helst linje og kolonne
- Skiller mellom store og små bokstaver – De store og små bokstavene er forskjellige
- Kommentarer – Alt etterfulgt av en ikke-sitert #, til slutten av linjen den vises på, ignoreres av tolken
- Utsagnsavgrensningstegn - Flere utsagn på én linje må skilles med semikolon, men de er ikke påkrevd på slutten av en linje.
40) Nevn hvilke typer variabler som er tilgjengelige i Ruby Class?
Typer variabler tilgjengelig i Ruby Class er,
- Lokale variabler
- Globale variabler
- Klassevariabler
- Forekomstvariabler
41) Forklar hvordan du kan erklære en blokk i Ruby?
I Ruby er koden i blokken alltid omsluttet av klammeparenteser ({}). Du kan påkalle en blokk ved å bruke "yield statement".
42) Forklar hva som er forskjellen mellom put og putc-setning?
I motsetning til puts-setningen, som sender ut hele strengen på skjermen. Putc-setningen kan brukes til å skrive ut ett tegn om gangen.
43) Forklar hva er et klassebibliotek i Ruby?
Ruby-klassebiblioteker består av en rekke domener, for eksempel trådprogrammering, datatyper, ulike domener osv. Disse klassene gir fleksible muligheter på et høyt abstraksjonsnivå, og gir deg muligheten til å lage kraftige Ruby-skript som er nyttige i en rekke problemer domener. Følgende domener som har relevante klassebiblioteker er,
- GUI programmering
- Nettverksprogrammering
- CGI programmering
- Tekstbehandling
44) I Ruby forklarer det om den definerte operatøren?
Den definerte operatoren forteller om et bestått uttrykk er definert eller ikke. Hvis uttrykket ikke er definert, gir det null, og hvis uttrykket er definert returnerer det beskrivelsesstrengen.
45) Nevn hva som er forskjellen i omfang for disse to variablene: @@navn og @navn?
Forskjellen i omfang for disse to variablene er at:
- @@navn er en klassevariabel
- @navn er en forekomstvariabel
46) Nevn hva er syntaksen for Ruby collect Iterator?
Syntaksen for Ruby collect Iterator collection = collection.collect.
47) I Ruby-kode blir det ofte observert at koder bruker en kort håndform for å bruke et uttrykk som matrise.map(&:metodenavn) i stedet for array.map { |element| element.method_name }. Hvordan fungerer dette trikset egentlig?
Når en parameter sendes med "&" foran seg. Ruby vil kalle to_proc på den i et forsøk på å gjøre den brukbar som en blokk. Så, symbol to_Proc vil påkalle metoden for det tilsvarende navnet på det som sendes til det. Dermed hjelper stenografitrikset vårt til å fungere.
48) Forklar hva er interpolasjon i Ruby?
Ruby Interpolation er prosessen med å sette inn en streng i en bokstavelig. Ved å plassere en Hash (#) innenfor {} åpne og lukke parenteser, kan man interpolere en streng til bokstavelig.
49) Nevn hva er notasjonen som brukes for å betegne klassevariabler i Ruby?
I Ruby,
- En konstant skal begynne med en stor bokstav, og den skal ikke defineres inne i en metode
- En lokal må begynne med _ understrek-tegnet eller en liten bokstav
- En global variabel bør begynne med $-tegnet. En uinitialisert global har verdien av "null", og det burde den heve en advarsel. Det kan henvises til hvor som helst i programmet.
- En klassevariabel skal begynne med dobbel @@ og må først initialiseres før den brukes i en metodedefinisjon
50) Nevn hva som er forskjellen mellom Procs og Blocks?
Forskjellen mellom Procs og Blocks,
- Blokk er bare delen av syntaksen til en metode mens proc har egenskapene til en blokk
- Pros er objekter, blokker er ikke
- Høyst én blokk kan vises i en argumentliste
- Bare blokk kan ikke lagres i en variabel mens Proc kan
51) Nevn hva er forskjellen mellom et enkelt anførselstegn og et dobbelt anførselstegn?
En strenger med et anførselstegn behandler ikke ASCII-escape-koder, og de utfører ikke strenginterpolering.
52) Nevn hva som er forskjellen mellom en perle og en plugin i Ruby?
- Perle: En perle er en bare rubinkode. Den er installert på en maskin, og den er tilgjengelig for alle ruby-applikasjoner som kjører på den maskinen.
- plugin: Plugin er også rubinkode, men den er installert i applikasjonsmappen og kun tilgjengelig for den spesifikke applikasjonen.
53) Nevn hva er forskjellen utvide og inkludere?
"Inkluder" gjør modulens metoder tilgjengelig for forekomsten av en klasse, mens "utvid" gjør disse metodene tilgjengelige for klassen selv.
Disse intervjuspørsmålene vil også hjelpe i din viva(orals)
Yield er ikke funksjon. Det er ruby nøkkelord som brukes for å utføre blokk.
Spesifikt yield vil gi kontrollen over tråden (Main.thread mest sannsynlig) til blokken som enten ble sendt inn eksplisitt som en parameter dvs. def my_method(&my_block) Eller alternativt kunne en blokk blitt sendt implisitt som f.eks.
min_klasse.min_metode gjør
# kode i denne blokken vil bli gitt til inne i kallemetoden
slutt
veldig hyggelig... fortsett med det
Flott innhold!
på spørsmål #6, i Ruby, er det ingen "boolsk" klasse, derfor ingen "boolsk type". Det er bare TrueClass og FalseClass.
Den er oppdatert.
Flink
god
faktisk Thread.main ... my bad :)
Ruby er ikke inspirert av Python, den ble inspirert av følgende (Perl, Smalltalk, Eiffel, Ada, BASIC og Lisp)
Den er oppdatert.
ja…
Fint glimt av rubin og skinner
6) nil.object_id er lik 8