40+ ofte stilte Ruby on Rails intervjuspørsmål og svar [2023]

Ruby on Rails er sannsynligvis det mest kjente Ruby-rammeverket. Dens enkelhet i bruk, MVC-arkitektur, fellesskap og skalerbarhet er årsakene til populariteten.

Noen av de store navnene som bruker Ruby on Rails er GitHub, Dribble, Shopify, Airbnb, Etsy, Kickstarter, Twitch og Zendesk, for å nevne noen.

Hvis du er en middels eller dyktig Ruby on Rails-ingeniør, er det et smart trekk å forstå hva slags spørsmål du sannsynligvis vil finne i ditt neste intervju.

Intervjuer kan være skummelt hvis du ikke er forberedt. Men hvis du er godt forberedt, vil selvtilliten din skyte opp, og du kan være heldig som får en ny rolle i drømmeselskapet ditt.

Dette er noen vanlige Ruby on Rails-intervjuspørsmål og svarene deres.

Innholdsfortegnelse

Hva er Ruby on Rails?

Ruby er et objektorientert programmeringsspråk med en enkel syntaks.

Ruby on Rails er et Ruby-rammeverk som utviklere bruker til å lage webapplikasjoner.

Diskuter fordelene med Ruby on Rails

  • Mindre kode enn andre språk: Du kan oppnå mye med bare noen få linjer med kode med Rails.
  • Omfattende bibliotek og edelstener: Det finnes tonnevis av biblioteker og edelstener for å forbedre funksjonaliteten til en Ruby on Rails-app.
  • Lett å lære: Ruby on Rails-koden ser ut som vanlig engelsk.
  • Et stort fellesskap.

Diskuter grensene for Ruby on Rails

  • Sammenlignet med Django og Node.js er Rails» kjørehastighet og ytelse lav.
  • Begrenset dokumentasjon for noen av edelstenene.
  • Ruby on Rails er selvstendig, noe som begrenser en utviklers fleksibilitet.
  Slik viser du Heardle-arkivet

Hva er en Rails-kontroller?

Det er det logiske sentrum av en Ruby on Rails-applikasjon. Rails-kontrolleren administrerer, koordinerer og overvåker alle interaksjoner mellom brukere, modeller og visninger.

Hva er Rails» Active Record?

Active Record er en teknikk for kartlegging av objektrelasjoner (ORM). Dette laget med Ruby-kode kjører mellom kodelogikken og databasen din. Etter at du har skrevet Ruby-kode, kjører du «migreringer» for å gjøre endringer i databasen.

Hva er MVC, og hvordan fungerer det?

Model-view-controller (MVC) arkitektoniske mønster skiller forretningslogikken fra input- og presentasjonslogikken.

  • Modell: håndterer all datalogikk i en Rails-app.
  • Vis: dette er en del av applikasjonen som brukere ser.
  • Kontroller: er som en bro eller megler som lar modellen og utsikten kommunisere.

Hva er en handlingskontroller i Ruby on Rails?

Handlingskontrolleren er C i MVC-mønsteret. Handlingskontrolleren mottar innkommende forespørsler, forstår forespørselen og produserer riktig utdata.

Hva er rake i Rails?

Rake er en oppgaveløper for Ruby on Rails og Ruby-applikasjoner. Rails har forhåndsdefinerte Rake-oppgaver for å utføre tester, kjøre migreringer og lage databaser.

Hva er avkastningen i Ruby on Rails?

Yield er et nøkkelord som brukes i metoder for å kalle en blokk. Det er ingen begrensning på antall argumenter Yield kan sende til blokken. Blokker, i dette tilfellet, er metoder uten navn som kan brukes som ekstra argumenter til andre metoder.

Hva er Garbage Collection Ruby on Rails?

Garbage Collection er prosessen med å kontrollere minnet som brukes av dataprogrammer. Ruby on Rails holder styr på hvilke objekter som brukes av programmet i stedet for programmereren. Utviklerne kan dermed fokusere på logikk og konvensjon i stedet for å bekymre seg for minneallokering.

Hva er rollen til Garbage Collection i Rails-appen?

Det frigjør minne på maskinen din slik at andre prosesser kan utføres. Søppelinnsamling oppnår dette ved å fjerne utilgjengelige objekter som et program forlater etter kjøring.

Hva er en eiendelspipeline?

En Asset Pipeline i Ruby on Rails gir et rammeverk som minimerer og sammenkobler CSS- og JavaScript-ressurser. Dette rammeverket lar alle eiendelene i Rails-appen din automatisk kombineres med eiendeler fra andre edelstener.

Skille mellom dynamiske og statiske stillaser

Stillas er prosessen med å generere store deler av Rails-applikasjonen.

Statisk stillas legger eksplisitt inn en kommando som produserer de nødvendige dataene i respektive felt. For å fullføre statisk stillas må du kjøre migreringer.

Dynamisk stillas genererer innhold og brukergrensesnitt under kjøring. Denne prosessen kan brukes til å opprette, endre og slette handlinger i en Rails-app.

Hva er et klassebibliotek?

Et klassebibliotek omfatter domener i Ruby on Rails, og trådprogrammering og datatyper er eksempler på slike domener. Et klassebibliotek lar en utvikler lage kodeabstraksjon og dermed bruke samme logikk innenfor ulike elementer i en app.

Beskriv Polymorphic Association in Rails

Polymorphic Association er en type Active Record Association. Polymorfisme betyr at et objekt kan ha mange former. I Rails-sammenheng lar Polymorphic Association deg definere en enkelt modell som kan assosieres med eller tilhøre andre modeller uten å skrive en repetisjonskode.

  Hvor kan jeg kjøpe domenenavn billig?

Hva er strenginterpolasjon i Ruby?

String Interpolation legger til plassholdere som refererer til andre verdier i et strengobjekt. Bruken av addisjonsoperatoren er den enkleste måten å interpolere verdier på.

Tenk på dette eksemplet:

name = "Titus"

puts "Hello " + name

Utgangen vil være;

Hei Titus

Hva er Object Relationship Model (ORM)?

En ORM er en bro mellom databaser og objektorienterte programmer. En objektrelasjon, i Rails, indikerer når klasser blir kartlagt til en tabell i databasen din.

Forklar Rails-migrering

Migreringer hjelper utviklere med å gjøre endringer i et databaseskjema på en enkel måte. Utviklere kan dermed administrere utrulling og tilbakerulling i databaseskjemaet i et kontrollert miljø. Denne tilnærmingen forhindrer deg i å administrere individuelle SQL-skript for å definere endringene dine.

Forklar navnekonvensjonen i Rails

  • Klasse og modul: bruk MixedCase, men har ikke understrek. Navn i klasser og moduler starter med en stor bokstav.
  • Databasetabell: Navnet på en databasetabell skal være i flertall og store og små bokstaver.
  • Variabler: bokstaver som deklarerer variabler skal være med små bokstaver og snake_case med et understrek som skiller dem.
  • Modell: bruk MixedCase for å spesifisere en modell og sikre at navnet er i entallsform.
  • Kontrollere: Kontrollernavn er i flertall.

Hva er forskjellen mellom streng og tekst i Rails?

:string passer når du vil lagre kort tekst med opptil 255 tegn. Du kan bruke den med navn, brukernavn, e-post, passord og titler.

:tekst passer til lange beskrivelser. Perfekte eksempler på kommentarer på et blogginnlegg eller en butikkbeskrivelse.

class CreatePosts < ActiveRecord::Migration

   def self.up

      create_table:posts do |t|

         t.string:description

         t.text :content 

      end

   end

Forklar Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF) er et onlineangrep der angriperen fanger autentiserte brukere for å utføre visse handlinger på deres vegne.

Rails krever at utviklere legger til «protect_from_forgery» til ApplicationController for å unngå CSRF-angrep. Appen vil alltid kreve et CSRF-token for å autentisere en bruker.

Forklar hva mixin er i Rails

En mixin tilbyr en kontrollert måte å legge til funksjonalitet til en klasse. Mange forskjellige blandinger utgjør en klasse. Mixins utrydder behovet for å ha flere arv.

Hva er bruken av belastning og krav i Ruby?

require( ) brukes til å importere biblioteker/edelstener

load() brukes til å utføre en kodeblokk

Hva er forskjellen mellom tilbakeringinger og observatører i Ruby on Rails

Skinneobservatører brukes når en metode ikke er direkte relatert til livssyklusen til et objekt. Livssyklusene deres er store, og de kan festes eller løsnes når som helst.

Tilbakeringing kan bare kalles ved spesifikke tilfeller i livssyklusen til et objekt. Eksempler på slike tilfeller er oppdateringer, opprettelse og validering. Tilbakeringinger er kun aktive i korte perioder.

Hva er seler og inventar i Ruby?

Fixtures refererer til en måte å organisere data på som du vil teste. De kan opprettes i filer som slutter med filtypen .yml.

  9 beste VR-hodesett for en oppslukende Virtual Reality-opplevelse

Harnesses er miljøet eller testløperen for å kjøre Rails-tester. Inventar er satt opp i Seler.

Hva er forskjellen mellom utvide og inkludere?

«Inkluder» legger til en forekomstmetode til en klasse. Koden vil dermed være tilgjengelig via klassemetoder.

«Extend» legger til forekomstmetoder definert i modulen til den utvidede klassen.

Er edelstener og plugins det samme i Ruby?

Edelstener er pakket Ruby-applikasjoner som må installeres. De er generelle og er ikke avhengige av Rails for funksjonalitet.

Plugins i Ruby on Rails distribueres sammen med Rails-applikasjonen din. De modifiserer eller legger til kjernefunksjonaliteten til Rails.

Hva er jernbaneobservatører?

Rails observer tilbyr en mekanisme der ett objekt informerer de andre når dets tilstand endres. Den er anvendelig i et en-til-mange-forhold slik at når ett objekt endres, blir alle de avhengige objektene informert og endret automatisk.

Hvilken kommando brukes til å opprette en migrering?

bin/rails db:migrate

Vis hvordan du definerer klasse-, forekomst- og globale variabler i Ruby

  • Klassevariabler: Kan brukes hvor som helst i klassen deres. Klassens etterkommere kan også få tilgang til dem. De begynner med @@.
  • Forekomstvariabler: Brukes i det lokale omfanget som er spesifikt for det opprettede objektets forekomster. De kan variere fra ett objekt til et annet. De begynner med @.
  • Globale variabler: Tilgjengelig hvor som helst i programmet. Starter med $.

Hvilken rolle spiller rakefile tilgjengelig i demokatalogen i Ruby?

Rakefile hjelper med testing og pakking av Rails-kode. Filen definerer oppgavene som utfører tester eller demonstrerer applikasjonens funksjoner.

Hva er en sweeper i Rails?

Feiemaskiner fungerer som terminatorer i caching. De fungerer som halvfiltre og halvobservatører og implementerer tilbakeringinger for de to rollene. «expire_cache» finner alle cache-fragmentene som må utløpe og sletter dem,

Hva er filtre?

Dette er metoder «før» eller «etter» en kontrollers handling er utført. Slike metoder er arvet og vil kjøre med hver forespørsel appen din mottar så lenge du har satt dem i ApplicationController.

Skille mellom omdirigering og gjengivelse i Rails

Render: brukes til å gjengi en mal og deretter sende den til klienten som svar på forespørselen. Denne malen genererer deretter siden som nettleseren vil vise.

Omdirigering: sender en ny HTTP-forespørsel til en annen URL. Denne handlingen omdirigerer klienten til en annen kontroller eller handling. Denne metoden er nyttig når du vil endre URL-klientene ser på nettleseren.

Skille mellom å ringe super() og superkalle

  • Super: sender en melding til gjeldende objekts overordnede for å påkalle alle argumenter for den påkalte metoden.
  • super(): sender ingen argumenter til forelderen.

Hva er forskjellen mellom Procs og Blocks?

  • Blokker: Et stykke kode omgitt av gjør/slutt-setninger eller krøllete klammeparenteser. De opprettes og utføres hver gang metoden kalles.
  • Pros.: Kodeblokker bundet sammen til et sett med lokale variabler. Denne koden kan kalles i forskjellige sammenhenger og har fortsatt tilgang til variablene.

Hva er forskjellen mellom puts og print statements?

Vi bruker puts når vi vil skrive ut noe på skjermen. For eksempel,

puts “Hello World!!!”

Trykker Hello World!!! på skjermen

Vi bruker print når vi ikke ønsker å legge til en ny linje på konsollen.

print “Hello World!!!” 

Sender ut Hello World!!!, men en ny linje vil ikke bli lagt til konsollen.

Hva er dynamiske finnere?

Dynamiske finner lar utviklere søke etter poster i databasen deres uten å bruke rå SQL-spørringer. De bruker søkeordet find_by_, som deretter følges attributtet for å bli søkt.

Forklar hvordan Rail implementerer ajax

  • En utløser, for eksempel å sende inn et skjema eller klikke på en knapp, startes.
  • JavaScript-metoden sender utløserdataene til en behandler på serveren.
  • Behandleren på serversiden jobber med dataene og sender HTML til webklienten.
  • JavaScript-behandler på klientsiden mottar HTML-innhold og oppdaterer gjeldende side.

Forklar Dig, Float og Max

  • Med Dig-metoden kan du trekke ut verdier fra nestede hasher eller matriser.
  • Float er en Ruby-datatype som representerer reelle tall med flytepunktpresisjon.
  • Max er en metode som kan brukes med arrays og hashes. Den returnerer maksimumsverdien i en samling av elementer/verdier.
array = [2, 9, 4, 7, 3]

maximum = array.max

Konsollen vil gi ut 9 da det er det største tallet.

Konklusjon

Over er noen spørsmål du sannsynligvis vil finne i din neste Ruby on Rails. Hvis du er en allsidig programvareingeniør, sjekk disse Node.js-intervjuspørsmålene. Sørg for at du forstår stillingsbeskrivelsen til en Rails-ingeniør før du deltar på ditt neste intervju.