Savjeti za programiranje

Top 50 često postavljanih pitanja i odgovora za intervju s Rubyjem

Top 50 često postavljanih pitanja i odgovora za intervju s Rubyjem

Ruby je suvremeni programski jezik razvijen u Japanu oko 90-ih. Ovaj jezik visoke razine namijenjen je razvoju softvera opće namjene. Ruby je stekla golemu popularnost tijekom prijelaza web stranica na web aplikacije. Zahvaljujući velikoj skalabilnosti i robusnom skupu značajki, napaja se prva generacija ovih aplikacija. Čak i nakon procvata JS-a, Ruby i dalje uživa u sve većoj potražnji. Tvrtke često traže programere koji tečno govore Ruby i Rails, Rubyev vodeći mrežni okvir za održavanje njihovih postojećih proizvoda i dodavanje novih funkcionalnosti. Dakle, bitno je znati uobičajena pitanja o razgovoru za rubine ako se želite zaposliti za Ruby.

Često postavljana pitanja za intervju s Ruby


Tvrtke mogu postaviti svakakva pitanja na razgovoru za posao u Rubyju. Poduzeća s velikim timovima tijekom ovih intervjua obično žele znati dubinu programera. S druge strane, startupi uglavnom traže iskusnije programere sposobne za brzu izgradnju poslovnih proizvoda. Važno je znati Rubyjevu uporabu u razvoju proizvoda uz osnove.

1. Što je Ruby?


Ruby je jezik opće namjene koji se koristi za razvoj svih vrsta tehnoloških proizvoda. S Rubyem je lako graditi web aplikacije zahvaljujući svojoj popularnoj razvojnoj platformi na strani poslužitelja, Rails. Ruby nudi iznimnu svestranost programerima zahvaljujući robusnim slojevima apstrakcije. Međutim, programi Ruby nisu najbrži iz istog razloga. Štoviše, programeri smatraju Ruby vrlo fleksibilnim pri dizajniranju sučelja.

2. Tko je razvio Ruby?


Japanski programer pod imenom Yukihiro "Matz" Matsumoto razvio je Ruby. Implementirao ga je koristeći programski jezik C. Referentnu primjenu Rubyja, poznatog kao MRI (Matzov tumač Rubyja), također je razvio on.

3. Koje su najbolje značajke Rubyja?


Ruby je objektno orijentirani programski jezik koji omogućuje patkasto, dinamično i jako tipkanje. Mixini omogućuju Ruby programerima da implementiraju fleksibilna pojedinačna nasljeđivanja. Nudi veliki broj standardnih knjižnica, izvornih API-ja dodataka, centralizirano upravljanje paketima, višerazinski varijabilni opseg, prvoklasne nastavke i robusni sakupljač smeća, između ostalog.

4. Koja je najbolja alternativa Rubyju?


Python je jedna od najboljih alternativa Rubyju. Oboje su interpretirani jezici i nude podršku za glavne standardne knjižnice. Oboje su prikladni kandidati za izgradnju modernih web aplikacija. Internetski okvir Ruby on Rails vrlo je sposoban, kao i Django i Flask okvir za python. Uz to, Ruby i Python omogućavaju programerima da kreiraju drugi generalizirani softver poput sistemskih programa, komunikacijskih alata i aplikacija na više platformi.

5. Zašto razvijati web aplikacije koristeći Ruby?


Među mnoštvom rubinastih pitanja, tražitelji posla često se pitaju zašto koristiti Ruby za izradu web aplikacija. Očiti razlog je okvir Ruby on Rails. Rails je poznat po svojim vrhunskim sposobnostima prototipiranja. Programeri mogu brzo prototipirati ideje za nove proizvode koristeći već postojeće strukture i komponente. Tako se proizvodi mogu vizualizirati sa što manje redaka kodova. To je jedna od najprodavanijih točaka Rubyja.

6. Kako provjeriti broj verzije Rubyja?


Vrlo je lako provjeriti je li ruby ​​instaliran u sustav i ako je odgovor koja je njegova verzija. Jednostavno upotrijebite sljedeću naredbu za provjeru broja rubin verzije u distribucijama na Linuxu i Unixu.

$ ruby ​​-v $ ruby ​​--verzija

Ispisat će broj verzije s obzirom da je ruby ​​već instaliran. Inače, vratit će se naredba koja nije pronađena.

7. Koje su knjižnice razreda dostupne u Rubyu?


Knjižnice razreda su ugrađene knjižnice za različite domene, poput navoja niti, komunikacije i vrste podataka. Ruby dolazi s nekim od sljedećih knjižnica razreda-

Ovo su neki zadaci za koje Ruby već nudi neke unaprijed izgrađene funkcionalnosti. Programeri mogu stvoriti bilo koju vrstu personaliziranih knjižnica koje žele koristeći Ruby.

8. Koji su najčešće korišteni operateri u Rubyu?


Kao i kod značajnih programskih jezika, Ruby također nudi niz primitivnih operatora za izračunavanje. Operateri definiraju operaciju potrebnu za izvođenje pomoću vašeg koda. Osnovni operateri navedeni su u nastavku -

9. Koji se od sljedećih izraza vraća netočno?


pravi ? "True": "False" false ? "True": "False" ništa ? "True": "False" 1 ? "True": "False" 0 ? "Točno netočno" [] ? "Točno netočno"

Anketari često testiraju temelj tražitelja posla koristeći jedan ili više gore navedenih izraza. Čak i iskusni programeri sa znanjem jezika poput Pythona i JavaScript-a možda neće odgovoriti. Ruby samo lažne i nula vrijednosti procjenjuje kao lažne. Konstrukcije poput 0 i [] procjenjuju na true.

10. Koje su vrijednosti donjih varijabli nakon izvršenja?


number1 = true i false number2 = true && false

To je još jedan primjer često postavljanih pitanja o rubinskom intervjuu. Iako su na prvi pogled naizgled jednake, njihova procjena može vas iznenaditi. Ako ih ispišete, dobit ćete vrijednost true1, a broj2 false. To se događa jer = (dodijeli operator) ima veću prednost u Rubyu od logičkog i operatora.

Dakle, prvi izraz samo govori tumaču da izvrši (number1 = true) i false, što rezultira time da true1 bude istina. Međutim, operator && ima veći prioritet od =, pa drugi izraz ocjenjuje prema očekivanjima.

11. Možete li objasniti vrste varijabli u Rubyu?


Kao i kod ostalih programskih jezika, Ruby koristi varijable za čuvanje različitih programskih podataka. Varijable u Rubyju djeluju nekako slično Pythonu. Ruby ima četiri zadane vrste varijabli. Oni su -

12. Koje su razlike između Nila i Falsea?


Već smo vam rekli o nultim i lažnim konstrukcijama dostupnim u Rubyju. Iako ih oboje ocjenjuju lažnim kada se koriste unutar izraza, među njima postoje suptilne razlike. Kao prvo, nil ne može biti vrijednost, ali lažno može. Obično Ruby programi vraćaju nulu kada nema predikata, a u slučaju predikata vraća se true ili false. False je također logički tip podataka, dok nil ne predstavlja nijedan tip.

13. Raspravite o osnovnim vrstama podataka koje se koriste u Rubyu.


Kandidati se često pitaju za svoje znanje o vrstama podataka u rubinima na pitanjima razgovora na šinama. Kao programski jezik opće namjene, Ruby podržava više vrsta podataka koji olakšavaju različite aspekte naših projekata. Osnovni tipovi podataka dostupni u Rubyju su -

14. Razlikovati opterećenje od zahtjeva


Ruby nudi dva različita načina za uključivanje vanjskih isječaka koda u vašu bazu kodova, a to su učitavanje i zahtijeva. Iako su naizgled slični, među njima postoje suptilne razlike. Opterećenje treba koristiti u slučajevima kada je za svaku promjenu događaja potreban vanjski kod. S druge strane, require djeluje kao automatsko učitavanje i trebao bi se koristiti za automatsko uključivanje isječaka koda.

15. Kako se nositi s kondicionalima u Rubyu?


Uvjetne konstrukcije leže u središtu modernih programskih jezika. Oni kontroliraju tijek i izvršenje vašeg programa. Većina jezika danas nudi neku vrstu (ako - tada - radnje) konstrukcije u tu svrhu. Ruby se može nositi s uvjetnim korištenjem različitih varijacija klasične if konstrukcije.

16. Kako petlje rade u Rubyu?


Petlje su preferirani način izvođenja iteracija za većinu programera. Ruby nudi nekoliko različitih konstrukcija petlje kako bi to olakšao. Kratko ćemo ih pogledati u nastavku.

17. Kako rade pauze u Rubyu?


Konstrukcija prekida uobičajena je za glavne programske jezike. Jednako djeluje i u Rubyju. Izjavu break možete koristiti da se doslovno oslobodite opsega. Programeri ga često koriste za povrat unatrag iz petlji i rekurzivne funkcije. U nastavku prikazujemo kako u Rubyu izbiti for petlju for.

#!/ usr / bin / ruby ​​za i u [1, 2, 3, 4, 5] do stavlja i ako i == 3 break end end

Ovaj kôd ispisat će do 3, a zatim će se završiti. To se događa jer smo upotrijebili "break" čim je "i jednako tri".

18. Zašto koristiti sljedeću izjavu?


Sljedeća izjava u Rubyu nadopunjuje izjavu break. Koristi se za preskakanje određene iteracije petlje i nastavlja na sljedeću. Ekvivalentno je naredbi continue u C i sljedećoj u Perlu. Sljedeća naredba preskače drugu iteraciju, ali prelazi na treću.

#!/ usr / bin / ruby ​​za i u 1 ... 6 ako je i == 2 onda sljedeći kraj stavlja i kraj

Budući da su pitanja o iteracijama petlje česta u pitanjima rubin intervjua, budite oprezni kada odgovarate na njih.

19. Kako funkcioniraju Redo izjave?


Redo izjave mogu se koristiti za ponovnu procjenu određene iteracije u vašoj petlji. Uvjet petlje se ne izvršava u slučaju naredbe redo. Isječak u nastavku daje jednostavan primjer.

jer i u 1… 6 stavlja i i + = 1 i ponavlja ako je i == 2 kraj

Ako povećavate brojač nakon naredbe redo, on se nikada neće izvršiti. Tako će vaš program pasti u beskonačnu petlju. To je uobičajena pogreška kod novih programera Ruby.

20. Kako funkcioniraju izjave za ponovni pokušaj?


Izvještaj o ponovnom pokušaju zgodan je način ponavljanja iteracija petlje u Rubyu. Korištenje izjave za ponovni pokušaj često se pokazuje kao malo izazovan za mnoge sezonske programere.

#!/ usr / bin / ruby ​​za i za 0… 5 begin stavlja "i = # i" podiže ako i> = 3 spasi pokušaj pokušaj završi

Ovaj isječak koda pasti će u beskonačnu petlju. To se događa jer uvjet da ako uvijek procjenjuje istinu. A onda ponavljanje ponavlja ponavljanje ponavljanja.

21. Kako koristiti komentare u Rubyu?


Komentari su bitni za čitljivost i dokumentaciju. Ruby podržava Python-ov komentar u jednom retku. Jednostavno dodajte znak # prije dijela koda koji želite komentirati.

# komentar = 1 stavlja komentar

Trebali biste dobiti NameError budući da vaš program nema pojma o varijabli koju ste prokomentirali. Višeredni komentari također su dostupni u Rubyju.

= start stavlja "zdravo" = kraj

Ovaj se kôd neće procijeniti i stoga neće ispisati ništa.

22. Je li valjana sljedeća Ruby izjava?


-> (a) p a ["Hello Universe"]

Gornja rubin izjava je potpuno valjana. Jednostavno stvara proc pomoću stenografskog zapisa (->). Ovaj proc je također lambda. Kao parametar uzima parametar, ispisuje ga, aktivira taj postupak i prosljeđuje parametar "Hello Universe". Dakle, rezultat bi trebao biti jednostavno "Hello Universe".

23. Kako stvoriti objekte u Rubyu?


Mnogi poslodavci vole pitati o predmetima i klasama tijekom svojih pitanja o rubinskim razgovorima. Srećom, vrlo je lako stvoriti objekte klase u Rubyju. Jednostavno će vam trebati ime klase objekta i možete ga pohraniti poput varijabli.

object1 = ime klase.novi

Sada će object1 sadržavati novu instancu klase className.

24. Kako stvoriti nastavu u Rubyu?


Predavanja su prototipovi vaših predmeta. Također definira metode dopuštene na njima. Morat ćete stvoriti klasu prije nego što možete instancirati objekt. Isječak koda u nastavku pokazuje kako stvoriti jednostavnu klasu u Rubyju.

class className # kodovi ovdje završavaju

Sada možete lako stvoriti objekt pomoću metode prikazane u prethodnom pitanju.

25. Kako stvoriti metode?


Ruby metode su ekvivalentne funkcijama u drugim jezicima kao što su C i Python. Programerima onemogućuje pisanje istih blokova koda unutar svog programa. Nakon što definirate metodu, možete je pozvati s bilo kojeg mjesta u programu. Pogledajte sljedeći primjer.

def Loop za i za 0 ... 10 stavlja i end end Loop ()

Sada ovu metodu možete nazvati kako je prikazano u posljednjem retku kako biste ispisali brojeve 0 do 9 s bilo kojeg mjesta u izvornom kodu.

26. Možete li objasniti različite jednake operatore Rubyja?


Ruby nudi nekoliko jednakih operatora za provjeru jednakosti brojeva i objekata. Svaki operater ima malo drugačije slučajeve upotrebe, što prilično često zbunjuje nove programere. U nastavku ćemo pogledati četiri različita jednaka operatora u Rubyju.

27. Razlikovati između super i super () u Rubyju


Iako slični na prvi pogled, super i super () ima prilično razlike. Super poziv poziva roditeljsku metodu prosljeđivanjem istih argumenata proslijeđenih podređenoj metodi. Često može dovesti do neočekivanog ponašanja zbog moguće neusklađenosti parametara roditeljske metode. Međutim, pozivanje super () poziva roditeljsku metodu izravno bez prosljeđivanja bilo kakvih parametara.

28. Kako predati referencu u Rubyu?


Ruby ne nudi pokazivače i s tim povezane preusmjeravanja. Međutim, programerima i dalje omogućuje prosljeđivanje referenci umjesto lokalnih varijabli. To se može učiniti pomoću znaka ampersand (&). Pogledajte donji kod da biste shvatili kako ovo funkcionira u rubinima.

#! / usr / bin / ruby ​​def metoda (& block) stavlja blok "Ovo je metoda".metoda završetka poziva stavlja "Ovo je referenca bloka"

Ako dobijete pogreške, svakako provjerite uvlake i razmake.

29. Kako moduli rade u Rubyu?


Moduli u Rubyu zbirka su konstanti i metoda. Definirani su kao razredi i dijele mnoštvo sličnih zajedničkih osobina, poput definicija razreda, konstanti i drugih modula. Međutim, Ruby ne dopušta stvaranje objekata pomoću modula. Također, nema podrške za nasljeđivanje.

Svrha modula je pružiti prostore imena za sprečavanje sukoba imenovanja. Uz to, omogućuju kombinacijama da dijele zajedničke funkcionalnosti među klasama.

30. Kako Mixini rade u Rubyju?


Budući da Ruby ne nudi više nasljedstava objektima klase, programeri trebaju drugačiji način za to. Dakle, moduli se koriste za zaobilaženje ovog problema. Iako se moduli ne mogu instancirati, oni se lako mogu uključiti u različite klase. Dakle, i dalje možete imati pristup metodama definiranim u modulu tako što ćete ga uključiti u klasu. Mixini dobivaju svoje ime prema "miješanjima" modula unutar klase.

31. Je li moguće nazvati privatnu metodu izvan Ruby tečaja?


Da, moguće je u Rubyju. Morat ćemo upotrijebiti objekt klase da bismo mu pozvali privatnu metodu. To se može učiniti metodom slanja. Kôd u nastavku to pokazuje na djelu.

class ClassName private def metoda p "Ovo je privatna metoda" kraj end

Ovu privatnu metodu sada možemo nazvati iz interpretatora Ruby koristeći redak u nastavku.

>> Ime klase.novi.poslati (: metoda)

32. Objasnite razlike između Uključi i Proširi


Svoje module možete koristiti koristeći izjave za uključivanje i proširivanje. Međutim, oni su prilično različiti i koriste se u određene svrhe. Ukratko, include dodaje metode modula objektu klase, dok extension dodaje metode klase.

33. Kako pristupiti niskim elementima u Rubyu?


Nizovi su jedna od osnovnih vrsta podataka koje nudi Ruby. Sve što je okruženo s ”” je žica u Rubyju. Elemente Ruby niza možete lako dobiti pomoću kvadratnih [] zagrada. To pokazuje donji isječak koda.

#! / usr / bin / ruby ​​foo = "nešto što ima veze sa žicama" length = foo.duljina za i u 0… foo.duljina p foo [i] kraj

Ovaj blok koda ispisat će sve znakove datog niza jedan po jedan u standardnom izlazu.

34. Je li moguće pisati višeredne žice u Ruby?


Tijekom mnogih pitanja o razgovoru za rubine, tražitelje posla pitaju se da li je moguće u Ruby napisati višeredne žice. Iako vam možda nije poznat, to je moguće i lako učiniti. U nastavku prikazujemo tri različita načina kako to učiniti u Rubyju.

stavlja "R Ru Rub Ruby" stavlja% / R Ru Rub Ruby / stavlja< 

35. Koja je razlika između klona i dup?


Ruby nudi dvije robusne metode za kloniranje / umnožavanje objekata u vašem programu. Iako se čini da čine isto, postoji prilično velika razlika - poziv na kloniranje kopira cijeli objekt, uključujući kombinacije modula. Međutim, dup stvara plitku kopiju Objekta i ne kopira nijednu kombinaciju.

36. Kako ukloniti nulte vrijednosti s Ruby nizova?


Budući da je nil valjana vrsta u Rubyu, često ćete je naći u cijelom programu. Programeri moraju biti sigurni da uklanjaju što više takvih pojava u cijeloj svojoj kodnoj bazi. Sasvim je jednostavno pronaći i ukloniti ove nil vrijednosti iz nizova u Rubyu. Ispod će biti prikazan isječak koda.

arr = [nil, "test", nil, "test", nil, "test"].kompaktni stavlja arr

Iako arr konstruira holove šest vrijednosnih objekata, ispisuje samo tri, sve vrijednosti koje nisu nula. Kompaktna metoda omogućuje nam to.

37. Napišite rubi program za generiranje Fibonaccijevih brojeva


Mnogi poslodavci vole postavljati pitanja vezana uz teoriju klasičnih brojeva tijekom pitanja s rubinskim intervjuom. Fibonaccijeva serija zasigurno je jedna od omiljenih među anketarima. Svaki broj u ovoj seriji zbroj je svoja prethodna dva broja. Isječak u nastavku može generirati jednostavnu Fibonaccijevu seriju.

first_number = 0 second_number = 1 next_term = 0 stavlja "Koliko pojmova: -" n = dobiva.chomp.to_i stavlja "Prvi # n pojam Fibonaccijeve serije: -" i = 1 while (i<=n+1) if(i<=1) next_term=i else puts next_term next_term=first_number+second_number first_number=second_number second_number=next_term end i+=1 end

38. Možete li razlikovati Procs i lambdas?


I procs i lambda dio su zatvaranja, leksički opseg funkcije ili bloka koda. Koriste se za pakiranje ili grupne blokove koda radi veće čitljivosti. Blokovi su također zatvarači, ali oni nisu predmeti poput procs ili lambda. Procs i lambda također se mogu vratiti unutar funkcija. Međutim, oni su sasvim različiti. Ukratko, sve lambde su procs, ali nisu svi procs lambde. Lambde su stroge prilikom provjere brojeva parametara, ali procs nisu. Lambde vraćaju jednostavno vrijednosti, dok procs vraća vrijednosti iz trenutnog opsega.

39. Kako kontrolirati razine pristupa za Ruby metode?


Ruby omogućuje programerima da lako kontroliraju razinu pristupa svojih metoda. Svoje metode možete učiniti javnim, privatnim ili zaštićenim. Na taj način možete odrediti koji objekti imaju pristup kojim metodama u cijelom programu. Kao što sugerira naziv, javnim metodama može pristupiti svatko. Privatne metode dostupne su samo objektima te klase kojima metode pripadaju. S druge strane, zaštićene metode dostupne su samo klasi u kojoj je definirana i njezinim podrazredima.

40. Što su dragulji u Rubyu?


Dragulji su postali popularan pojam od svojih početaka. Rubin dragulji su rubinski programi koji se distribuiraju u paketu. Oni su bili vitalni čimbenik koji stoji iza Rubyna uspjeha. Vrlo je jednostavno pakirati svoju aplikaciju i podijeliti je / primijeniti pomoću dragulja. Jednostavno, ali produktivno CLI sučelje ovog upravitelja paketima vrlo je fleksibilno i omogućava programerima da bez napora pakiraju svoj program. Ruby gems paket menadžer sada dolazi ugrađen sa standardnim Ruby runtimeom.

41. Što je Rails Engine?


Potencijalne kandidate često pitaju za tračničke motore tijekom ruby ​​on trails intervjua. Rails Engine je mehanizam koji programerima omogućuje da svoju tračničku aplikaciju ili neke specifične funkcionalnosti umotaju u druge programe ili dio većih distribuiranih paketa. Rails Engines možete smatrati mini-aplikacijama. Pristup tim mehanizmima ovisi o politici usmjeravanja vašeg poslužitelja. Jednostavno montirate motor i usmjerivači ga mogu koristiti.

42. Kako zamrznuti objekte u Rubyu?


Ruby omogućuje programerima zamrzavanje objekata tijekom izvršavanja njihovih programa. To može dobro doći u brojnim situacijama. Sljedeći isječci koda pokazuju zamrzavanje Ruby objekata na djelu.

foo = "nešto" foo.zamrznuti ako (foo.smrznuto? ) stavlja "kraj foo je smrznuti objekt", inače stavlja kraj "foo je redoviti objekt"

Dakle, metoda zamrzavanja koristi se za zamrzavanje predmeta i zamrzavanje? provjeriti njegovo stanje. Ako prokomentirate drugi redak, dobit ćete izlaz bloka else.

43. Razgovarajte o CRUD glagolima dostupnim u Railsu


CRUD je osnovni gradivni element RESTful API-ja. Okvir Rails dopušta sve glavne CRUD operacije. U nastavku razmatramo web-glagole Rails.

  • GET - ovaj se glagol koristi za dohvaćanje resursa stranice
  • POST - stvaranje i podnošenje novih resursa
  • PATCH / PUT - ažurirajte postojeće resurse
  • IZBRIŠI - ukloni određene resurse

44. Kakva je veza između udruživanja niti i životnog ciklusa navoja?


Životni ciklusi s jednom niti u Rubyju automatski se pokreću čim vaš CPU ima dostupne resurse. Iako su niti potrebe za resursima, možete znatno poboljšati brzinu svoje aplikacije Ruby on Rails koristeći više niti istovremeno. Tehnika udruživanja niti široko se koristi za olakšavanje rada više niti bez prekida. U ovoj se tehnici u pripravnosti čeka više već postojećih niti za višekratnu upotrebu. Kad god su dostupni novi resursi, nove niti automatski se pokreću.

45. Koji su najbolji alati za testiranje aplikacija šina?


Jedno od najčešćih pitanja o rubin razgovoru s kojima se suočavaju tražitelji posla odnosi se na alate za testiranje. Budući da se Ruby on Rails intenzivno koristi za izradu velikih web aplikacija, testiranje je izuzetno važan dio. Srećom, postoji značajan broj unaprijed izgrađenih alata za povećanje brzine i rezultata testiranja za nove Ruby programere. Neki su popularni i korisni alati za testiranje šina -

  • rspec - alat specifičan za domenu za testiranje rubin koda
  • minitest - punopravni paket za testiranje koji podržava TDD, BDD, benchmarking i brze izrade prototipova.
  • test-unit - robusni okvir za testiranje jedinice za Ruby zasnovan na xUnit principima.
  • krastavac - fleksibilni Ruby alat za izvođenje automatiziranih testova za Ruby.

46. Na koliko načina možete dodati predmete u Ruby nizove?


Kao što je već spomenuto, nizovi su važna struktura podataka u Rubyu. Postoji više načina za dodavanje novih stavki u već postojeći niz. Neki od njih prikazani su u nastavku.

foo = ["nešto", "ufo", "što?"] stavlja foo foo.push ("bar") stavlja foo foo.unshift ("newItem") stavlja foo foo.insert (1, "anotherNewItem") stavlja foo

Metoda guranja dodaje nove elemente na kraju niza, pomakne pomak na početku i umetne za dodavanje stavki u bilo kojem navedenom položaju.

47. Na koliko načina možete ukloniti stavke iz Ruby nizova?


Uklanjanje predmeta iz nizova također nije velika stvar u Rubyju. Programeri za to mogu koristiti razne metode. U nastavku donosimo jednostavnu demonstraciju. To je dio još jednog uobičajenog pitanja o rubinskom intervjuu s kojim se možete suočiti.

foo = ["nešto", "ufo", "što?"," anotherNewItem "," newItem "," bar "] foo.pop stavlja foo foo.shift stavlja foo foo.delete ("ufo") stavlja foo foo.uniq stavlja foo

Dakle, pop briše posljednju stavku niza, pomiče prvu i briše određene stavke. Metoda uniq uklanja dvostruke stavke iz niza.

48. Kako pohraniti sigurne podatke u tračnice?


Aplikacije Rails često se bave osjetljivim informacijama poput lozinki, korisničkih imena, IP adresa. Izuzetno je loša ideja pohranjivanje tih podataka kao otvorenog teksta. Uvijek biste trebali poduzeti odgovarajuća mjerenja kako biste osigurali sigurnost podataka. Podaci trećih strana poput plaćanja i pozadinskih podataka trebali bi se pohraniti putem specijaliziranih usluga kao što je Stripe. Šifrirajte podatke baze podataka prije nego što ih pohranite. Obavezno šaljite i primajte mrežne podatke pomoću sigurnih veza kako biste spriječili prisluškivanje.

49. Kako se rukuje datotekama u Rubyu?


Poput ostalih programskih jezika, datoteke i njihova manipulacija sastoje se od velikog dijela Ruby programiranja. Zahvaljujući Rubyjevim robusnim knjižnicama i ugrađenim metodama, rukovanje datotekama u Rubyju prilično je naporno. Pogledajte donji isječak kako biste razumjeli neke operacije datoteka.

new_file = Datoteka.otvoren ("test.txt ") data_data = nova_datoteka.pročitajte novi_datoteku.close file_data = Datoteka.pročitati ("test.txt ").podijeljena datoteka.otvoren ("test.txt "," w ") | f | f.napiši "# Vrijeme.sada - Nova datoteka napisana \ n " datoteka.napiši ("test.txt "," podaci ... ", način rada:" a ")

50. Kako postupati s iznimkama koristeći Catch u Rubyu?


U mnogim pitanjima o rubinovim intervjuima, anketari pitaju kandidate kako bi se trebali nositi s iznimkama u Ruby programima. Kao i drugi moderni jezici, Ruby omogućuje programerima da uhvate runtime pogreške i obrade ih bez rušenja cijele aplikacije. Sintaksa se, međutim, ponešto razlikuje od iskaza try-catch koji se nalaze u drugim jezicima.

throw: Label_Name # ... kod se neće izvršiti catch: Label_Name do # ... izvršiti podudaranje catch ako se naiđe na bacanje. kraj

Završavajući misli


Budući da se pitanja za razgovor za Ruby mogu razlikovati, ovisno o radnom mjestu na koje ste se prijavili i tvrtki, teško je u jedan vodič obuhvatiti sva moguća pitanja. Međutim, naši urednici su se potrudili da istaknu najčešće postavljana pitanja za intervju za Ruby on Rails kako bi vam pomogli u pripremama za posao. Ako ste novi u Ruby, predlažemo da ne ulazite izravno u složena pitanja ili tehnike. Umjesto toga, uvijek biste trebali pokušati svladati osnove i stvoriti jednostavne projekte iz stvarnog života. To će vam pomoći da se intervjua bavite puno lakše. Ostanite s nama za više vodiča o zahtjevnim poslovima CS-a.

Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...