Programmēšanas padomi

50 populārākie bieži uzdotie rubīna intervijas jautājumi un atbildes

50 populārākie bieži uzdotie rubīna intervijas jautājumi un atbildes

Rubīns ir mūsdienu programmēšanas valoda, kas izstrādāta Japānā ap 90. gadiem. Šī augsta līmeņa valoda ir paredzēta vispārējas nozīmes programmatūras izstrādei. Rubīns ieguva milzīgu popularitāti, pārejot vietnēm uz tīmekļa lietotnēm. Augstas mērogojamības un izturīgo funkciju kopas dēļ tā nodrošina šo lietotņu pirmās paaudzes degvielu. Pat pēc JS uzplaukuma Rubīns joprojām bauda pieaugošo pieprasījumu. Uzņēmumi bieži meklē izstrādātājus, kuri brīvi pārvalda Ruby and Rails, kas ir Ruby pamatsistēmas pamatsistēma, lai saglabātu savus esošos produktus un pievienotu jaunas funkcijas. Tātad, ja vēlaties paņemt Ruby darbu, ir svarīgi zināt parastos rubīna intervijas jautājumus.

Bieži uzdotie rubīna intervijas jautājumi


Uzņēmumi Ruby darba intervijā var uzdot visdažādākos jautājumus. Uzņēmumi ar lielām komandām šo interviju laikā parasti vēlas uzzināt izstrādātāja dziļumu. Savukārt jaunizveidotie uzņēmumi meklē vairāk pieredzējušus izstrādātājus, kas spēj ātri izveidot biznesa produktus. Ir svarīgi zināt Ruby izmantošanu produktu izstrādē līdzās pamatiem.

1. Kas ir Rubīns?


Rubīns ir vispārējas nozīmes valoda, ko izmanto visu veidu tehnoloģiju produktu izstrādei. Pateicoties tās populārajai servera puses attīstības platformai Rails, ir viegli izveidot tīmekļa lietotnes ar Ruby. Rubīns piedāvā izcilu daudzpusību izstrādātājiem, pateicoties tā izturīgajiem abstrakcijas slāņiem. Tomēr šī paša iemesla dēļ rubīna programmas nav ātrākās. Turklāt programmētāji saskata Rubīnu ļoti elastīgi, izstrādājot saskarnes.

2. Kas izstrādāja Rubīnu?


Japāņu programmētājs vārdā Jukihiro “Matz” Matsumoto izstrādāja Rubīnu. Viņš to ieviesa, izmantojot C programmēšanas valodu. Viņš ir izstrādājis arī Ruby, kas pazīstams kā MRI (Matz's Ruby Interpreter), atsauces ieviešanu.

3. Kādas ir labākās rubīna īpašības?


Rubīns ir objektorientēta programmēšanas valoda, kas ļauj ievadīt pīli, dinamiski un spēcīgi. Mixins ļauj Ruby izstrādātājiem ieviest elastīgus vienreizējus mantojumus. Tas piedāvā lielu skaitu standarta bibliotēku, vietējo spraudņu API, centralizētu pakotņu pārvaldību, daudzlīmeņu mainīgo darbības jomu, pirmās klases turpinājumus un spēcīgu atkritumu savācēju, starp daudziem citiem.

4. Kāda ir labākā alternatīva rubīnam?


Python ir viena no labākajām alternatīvām Ruby. Tās abas ir tulkotas valodas un piedāvā atbalstu lielākajām standarta bibliotēkām. Viņi abi ir piemēroti kandidāti modernu tīmekļa lietojumprogrammu veidošanai. Ruby on Rails tīmekļa sistēma ir ļoti spējīga, tāpat kā Django un Flask sistēma pitonam. Turklāt gan Ruby, gan Python ļauj izstrādātājiem izveidot citu vispārinātu programmatūru, piemēram, sistēmas utilītas, sakaru rīkus un starpplatformu lietojumprogrammas.

5. Kāpēc izstrādāt tīmekļa lietotnes, izmantojot Ruby?


Starp daudziem rubīna intervijas jautājumiem darba meklētājiem bieži tiek uzdots iemesls, kāpēc Ruby izmantot tīmekļa lietojumprogrammās. Acīmredzamais iemesls ir Ruby on Rails ietvars. Sliedes ir pazīstamas ar izcilām prototipēšanas spējām. Izstrādātāji var ātri prototipēt jaunas produktu idejas, izmantojot jau esošās struktūras un komponentus. Tātad produktus var vizualizēt ar pēc iespējas mazāk kodu rindām. Tas ir viens no labākajiem Ruby pārdošanas punktiem.

6. Kā pārbaudīt Ruby versijas numuru?


Ir ļoti viegli pārbaudīt, vai rubīns ir instalēts sistēmā, un, ja jā, tad kuru tā versiju. Vienkārši izmantojiet nākamo komandu, lai pārbaudītu rubīna versijas numuru Linux un Unix balstītos izplatījumos.

$ ruby ​​-v $ ruby ​​--versija

Tas izvadīs versijas numuru, jo rubīns jau ir instalēts. Pārējā gadījumā tiks atgriezta uzvedne komanda nav atrasta.

7. Kādas klases bibliotēkas ir pieejamas rubīnā?


Klases bibliotēkas ir iebūvētas bibliotēkas dažādiem domēniem, piemēram, pavedieniem, saziņai un datu tipiem. Rubīns nāk ar dažām no šīm klases bibliotēkām-

Šie ir daži uzdevumi, kuriem Rubīns jau nodrošina dažas iepriekš izveidotas funkcijas. Izstrādātāji var izveidot jebkura veida personalizētas bibliotēkas, kuras viņi vēlas, izmantojot Ruby.

8. Kādi ir Rubīnā visbiežāk izmantotie operatori?


Tāpat kā ievērojamās programmēšanas valodās, arī Rubīns aprēķinam piedāvā vairākus primitīvus operatorus. Operatori nosaka operāciju, kas nepieciešama, lai veiktu, izmantojot jūsu kodu. Galvenie operatori ir uzskaitīti zemāk -

9. Kurš no šiem izteicieniem atgriež False?


taisnība ? "True": "False" nepatiesa ? "True": "False" nulle ? "True": "False" 1 ? "True": "False" 0 ? "True": "False" [] ? "True": "False"

Intervētāji bieži pārbauda darba meklētāju pamatprincipus, izmantojot vienu vai vairākus iepriekš minētos izteicienus. Pat pieredzējuši programmētāji, kuri zina tādas valodas kā Python un JavaScript, var uz tiem neatbildēt. Rubīns kā nepatiesas vērtē tikai nepatiesas un nulle vērtības. Konstrukcijas, piemēram, 0 un [], vērtē kā patiesu.

10. Kādas ir zemāk esošo mainīgo vērtības pēc izpildes?


skaitlis1 = patiess un nepatiess skaitlis2 = patiess && nepatiess

Tas ir vēl viens bieži uzdoto rubīna intervijas jautājumu piemērs. Lai arī no pirmā acu uzmetiena tas šķiet līdzvērtīgs, viņu vērtējums var jūs pārsteigt. Ja tos izdrukājat, iegūsiet skaitli1 kā patiesu un skaitli2 kā nepatiesu. Tas notiek tāpēc, ka = (piešķirt operatoram) Ruby prioritāte ir augstāka nekā loģiskajam un operatoram.

Tātad pirmā izteiksme tulkotājam tikai liek veikt (skaitlis1 = patiess) un nepatiess, kā rezultātā skaitlis1 ir patiess. Tomēr operatoram && ir augstāka prioritāte nekā =, un tāpēc otrā izteiksme tiek vērtēta kā paredzēts.

11. Vai jūs varat izskaidrot mainīgos veidus rubīnā?


Tāpat kā citās programmēšanas valodās, arī Rubīns izmanto mainīgos dažādu programmu datu glabāšanai. Mainīgie lielumos Ruby darbojas nedaudz līdzīgi kā Python. Rubīnam ir četri noklusējuma mainīgo veidi. Viņi ir -

12. Kādas ir atšķirības starp nulli un nepatiesu?


Mēs jau esam jums teikuši par Ruby pieejamo nulle un nepatieso konstrukciju. Lai gan abi izteicieni tiek uzskatīti par nepatiesiem, tos lietojot, ir atšķirīgas atšķirības. Pirmkārt, nulle nevar būt vērtība, bet nepatiesa. Parasti rubīna programmas atgriež nulli, ja nav predikāta, un predikātu gadījumā tiek atgriezta patiesa vai nepatiesa. Nepatiesa ir arī būla datu tips, turpretī nulle nepastāv nevienu veidu.

13. Apspriediet galvenos datu veidus, kas izmantoti rubīnā.


Kandidātiem bieži tiek jautāts par to, kā viņi pārzina datu veidus rubīna uz sliedēm intervijas jautājumos. Kā vispārējas nozīmes programmēšanas valoda Ruby atbalsta vairākus datu veidus, kas atvieglo dažādus mūsu projektu aspektus. Pakalpojumā Ruby pieejamie pamatdatu veidi ir -

14. Atšķiriet slodzi un prasību


Rubīns piedāvā divus atšķirīgus veidus, kā koda bāzē iekļaut ārējos koda fragmentus, proti, ielādēt un pieprasīt. Lai arī šķietami līdzīgi, starp tām ir smalkas atšķirības. Slodze jāizmanto gadījumos, kad ārējs kods ir nepieciešams katrai notikuma izmaiņai. No otras puses, ir nepieciešamas darbības kā automātiska ielāde, un tās jāizmanto, lai automātiski iekļautu koda fragmentus.

15. Kā rīkoties ar nosacījumiem rubīnā?


Nosacījuma konstrukcijas atrodas mūsdienu programmēšanas valodu centrā. Viņi kontrolē jūsu programmas plūsmu un izpildi. Mūsdienās lielākā daļa valodu šim nolūkam piedāvā sava veida (ja - tad - darbības) konstrukciju. Rubīns var rīkoties ar nosacījumiem, izmantojot dažādas klasikas, ja konstrukcijas variācijas.

16. Kā cilpas darbojas rubīnā?


Cilpas ir vēlamais veids, kā veikt atkārtojumus lielākajai daļai programmētāju. Lai to atvieglotu, Rubīns piedāvā dažas dažādas cilpu konstrukcijas. Mēs tos īsumā apskatīsim zemāk.

17. Kā pārtraukumi darbojas rubīnā?


Pārtraukumu konstrukcija ir izplatīta visās galvenajās programmēšanas valodās. Tas darbojas tāpat kā rubīnā. Jūs varat izmantot pārtraukuma paziņojumu, lai burtiski atbrīvotos no darbības jomas. Programmētāji to bieži izmanto, lai atgrieztos no cilpām un rekursīvām funkcijām. Zemāk mēs parādīsim, kā izkļūt no for for Ruby.

#!/ usr / bin / ruby ​​i i [1, 2, 3, 4, 5] do liek i, ja i == 3 pārtraukuma beigas

Šis kods tiks izdrukāts līdz 3 un pēc tam tiks pārtraukts. Tas notiek, jo mēs izmantojām “break”, tiklīdz “i ir vienāds ar trim”.

18. Kāpēc izmantot nākamo paziņojumu?


Nākamais Ruby paziņojums ir papildinājums break break paziņojumam. To izmanto, lai izlaistu noteiktu cilpas atkārtojumu un turpinātu nākamo. Tas ir līdzvērtīgs turpinājuma paziņojumam C un nākamajam Perlā. Šī komanda izlaiž otro atkārtojumu, bet pāriet uz trešo.

#!/ usr / bin / ruby ​​i i 1 ... 6, ja i == 2, tad nākamais gals i i beidzas

Tā kā rubīna intervijas jautājumos bieži sastopami jautājumi par ciklu atkārtojumiem, atbildiet uz tiem uzmanīgi.

19. Kā pārtaisīt paziņojumus?


Pārrakstīšanas paziņojumus var izmantot, lai atkārtoti novērtētu noteiktu atkārtojumu jūsu ciklā. Cikla nosacījums netiek izpildīts pārrakstīšanas paziņojuma gadījumā. Zemāk esošajā fragmentā ir sniegts vienkāršs piemērs.

i i 1 ... 6 liek i i + = 1 un pārtaisa, ja i == 2 beigas

Ja pēc redo paziņojuma palielināsiet skaitītāju, tas nekad netiks izpildīts. Tātad jūsu programma nonāks bezgalīgā lokā. Šī ir izplatīta kļūda ar jaunajiem Ruby programmētājiem.

20. Kā darbojas atkārtoti paziņojumi?


Atkārtotais paziņojums ir ērts veids, kā atkārtot ciklu atkārtojumus Ruby. Atkārtota mēģinājuma izmantošana daudziem sezonas programmētājiem bieži izrādās nedaudz sarežģīta.

#!/ usr / bin / ruby ​​i 0 ... 5 sākumā liek "i = # i" paaugstināt, ja i> = 3 glābšanas mēģinājuma beigu beigas

Šis koda fragments nonāks bezgalīgā ciklā. Tas notiek, jo nosacījums, ja tas vienmēr tiek novērtēts kā patiess. Un pēc tam atkārtojums mēģina atkārtot atkārtojumu.

21. Kā lietot komentārus rubīnā?


Komentāri ir būtiski lasāmībai un dokumentēšanai. Rubīns atbalsta Python līdzīgus vienas rindas komentārus. Vienkārši pievienojiet # pirms koda daļas, kuru vēlaties komentēt.

# comment = 1 ievieto komentāru

Jums vajadzētu iegūt NameError jo jūsu programmai nav ne jausmas par mainīgo, kuru komentējāt. Vairāku rindiņu komentāri ir pieejami arī rubīnā.

= sākt liek "sveiki" = beigas

Šis kods netiks novērtēts, un tādējādi nekas netiks izdrukāts.

22. Vai šāds Rubīna paziņojums ir derīgs?


-> (a) p a ["Sveiks Visums"]

Šis rubīna paziņojums ir pilnīgi derīgs. Tas vienkārši izveido procu, izmantojot stenogrāfijas (->) apzīmējumu. Šis proc ir arī lambda. Tas prasa parametru a, izdrukā to, aktivizē procesu un nodod parametru “Hello Universe”. Tātad rezultātam jābūt vienkārši “Hello Universe”.

23. Kā izveidot objektus rubīnā?


Daudzi darba devēji labprāt jautā par priekšmetiem un nodarbībām rubīna intervijas jautājumu laikā. Par laimi, Rubīnā ir ļoti viegli izveidot klases objektus. Jums vienkārši būs nepieciešams objekta klases nosaukums un to var glabāt kā mainīgos.

object1 = klases nosaukums.jauns

Tagad objektā1 būs jauns klases className gadījums.

24. Kā izveidot klases rubīnā?


Klases ir jūsu objektu prototipi. Tas arī nosaka metodes, kas tām atļautas. Jums būs jāizveido klase, lai jūs varētu instantificēt objektu. Šis koda fragments parāda, kā izveidot vienkāršu klasi Ruby.

class className # kodi šeit beidzas

Tagad jūs varat viegli izveidot objektu, izmantojot metodi, kas parādīta iepriekšējā jautājumā.

25. Kā izveidot metodes?


Rubīna metodes ir līdzvērtīgas funkcijām citās valodās, piemēram, C un Python. Tas neļauj programmētājiem rakstīt tos pašus kodu blokus savā programmā. Kad esat definējis metodi, to varat izsaukt no jebkuras vietas programmā. Pārbaudiet nākamo piemēru.

def Loop i i laikā 0… 10 i end end Loop ()

Tagad jūs varat izsaukt šo metodi, kā parādīts pēdējā rindā, lai izdrukātu skaitļus no 0 līdz 9 no jebkura avota koda.

26. Vai jūs varat izskaidrot dažādus vienlīdzīgus rubīna operatorus?


Rubīns nodrošina vairākus vienādus operatorus, lai pārbaudītu ciparu un objektu vienādību. Katram operatoram ir nedaudz atšķirīgi lietošanas gadījumi, kas diezgan bieži mulsina jaunos programmētājus. Mēs apskatīsim četrus dažādus vienādus operatorus zemāk esošajā Ruby.

27. Rubīnā atšķirt super un super ()


Lai gan no pirmā acu uzmetiena ir līdzīgi, super un super () ir diezgan atšķirīgas. Super zvans izsauc vecāku metodi, nododot tos pašus argumentus, kas nodoti bērna metodei. Tas bieži var izraisīt negaidītu rīcību iespējamās vecāku metodes parametru neatbilstības dēļ. Tomēr, izsaucot super (), tiek izsaukta vecāku metode, nenododot nekādus parametrus.

28. Kā nodot atsauci rubīnā?


Rubīns nepiedāvā norādes un ar to saistītu novirzīšanos. Tomēr tas joprojām ļauj programmētājiem nodot atsauces vietējo mainīgo vietā. To var izdarīt, izmantojot zīmi (&). Apskatiet zemāk esošo kodu, lai saprastu, kā tas darbojas rubīnā.

#! / usr / bin / ruby ​​def metode (& bloķēt) ievieto bloku "Šī ir metode".zvana beigšanas metode ievieto "This is block reference"

Ja rodas kļūdas, noteikti pārbaudiet atkāpi un atstarpes.

29. Kā moduļi darbojas rubīnā?


Rubīna moduļi ir konstantu un metožu kolekcijas. Tie ir definēti kā klases, un tiem ir kopīgas daudzas līdzīgas iezīmes, piemēram, klases definīcijas, konstantes un citi moduļi. Tomēr Rubīns neļauj veidot objektus, izmantojot moduļus. Nav arī mantojuma atbalsta.

Moduļa mērķis ir nodrošināt vārdu vietas, lai novērstu nosaukumu sadursmes. Turklāt tie ļauj mixins dalīties kopīgās funkcijās starp klasēm.

30. Kā Mixins darbojas rubīnā?


Tā kā Rubīns nepiedāvā vairākus mantojumus klases objektiem, programmētājiem ir nepieciešams cits veids, kā to izdarīt. Tātad, lai apietu šo problēmu, tiek izmantoti moduļi. Lai gan moduļus nevar izveidot, tos var viegli iekļaut dažādās klasēs. Tātad, jūs joprojām varat piekļūt modulī definētajām metodēm, iekļaujot to klasē. Mixins savu vārdu iegūst no klases iekšējo moduļu “mix-ins”.

31. Vai ir iespējams izsaukt privātu metodi ārpus rubīna klases?


Jā, tas ir iespējams Rubīnā. Mums būs jāizmanto klases objekts, lai metodi izsauktu par privātu. To var izdarīt, izmantojot sūtīšanas metodi. Zemāk redzamais kods to parāda darbībā.

klases ClassName privātā def metode p "Šī ir privāta metode" beigu beigas

Tagad mēs varam izsaukt šo privāto metodi no Ruby tulka, izmantojot zemāk esošo rindu.

>> Klases nosaukums.jauns.nosūtīt (: metode)

32. Paskaidrojiet atšķirības starp Iekļaut un Paplašināt


Moduļus var izmantot, izmantojot gan iekļaušanas, gan paplašināšanas paziņojumus. Tomēr tie ir diezgan atšķirīgi un tiek izmantoti īpašiem mērķiem. Īsāk sakot, iekļaujiet moduļa metožu pievienošanu klases objektam, savukārt paplašinājums - klases metožu pievienošanai.

33. Kā piekļūt virknes elementiem rubīnā?


Stīgas ir viens no galvenajiem datu tipiem, ko piedāvā Ruby. Viss, ko ieskauj ””, ir virkne rubīnā. Izmantojot kvadrātiekavas [] iekavās, varat viegli iegūt Ruby stīgas elementus. Zemāk redzamais koda fragments to parāda.

#! / usr / bin / ruby ​​foo = "kaut kas saistīts ar virknēm" garums = foo.garums i 0 ... foo.garums p foo [i] beigas

Šis kodu bloks izdrukās visas dotās virknes rakstzīmes pa vienai standarta izvadē.

34. Vai ir iespējams rakstīt vairākrindu virknes rubīnā?


Daudzu rubīna intervijas jautājumu laikā darba meklētājiem tiek jautāts, vai ir iespējams rakstīt vairākrindu virknes rubīnā. Lai gan jūs, iespējams, neesat pazīstams, tas ir iespējams un viegli izdarāms. Zemāk mēs parādīsim trīs dažādus veidus, kā to izdarīt Ruby.

ieliek "R Ru Rub Ruby" liek% / R Ru Rub Ruby / ieliek< 

35. Kāda ir atšķirība starp klonu un dup?


Rubīns nodrošina divas spēcīgas metodes objektu klonēšanai / dublēšanai jūsu programmā. Lai gan šķiet, ka viņi dara to pašu, ir diezgan liela atšķirība - zvans klonēt kopē visu objektu, ieskaitot moduļu kombinācijas. Tomēr dup izveido seklu Object kopiju un nekopē nevienu mixinu.

36. Kā noņemt nulles vērtības no rubīna masīviem?


Tā kā rubīnā nulle ir derīgs tips, to bieži atradīsit visā savā programmā. Programmētājiem jāpārliecinās, ka viņi visā koda bāzē novērš pēc iespējas vairāk šādu gadījumu. Ir diezgan vienkārši atrast un noņemt šīs nulles vērtības no masīviem Ruby. Tālāk sniegtais koda fragments sniegs demonstrāciju.

arr = [nulle, "tests", nulle, "tests", nulle, "tests"].kompakts liek arr

Lai gan arr konstrukcija attēlo sešus vērtību objektus, tā izdrukā tikai trīs no tiem, visas vērtības, kas nav nulles. Kompaktā metode ļauj mums to izdarīt.

37. Uzrakstiet Rubīna programmu, lai ģenerētu Fibonači numurus


Daudzi darba devēji labprāt uzdod jautājumus, kas saistīti ar skaitļu teoriju, rubīna intervijas laikā. Fibonači sērija noteikti ir viena no iecienītākajām intervētāju vidū. Katrs šīs sērijas skaitlis ir tā iepriekšējo divu skaitļu summa. Šis fragments var ģenerēt vienkāršu Fibonacci sēriju.

first_number = 0 second_number = 1 next_term = 0 ievieto "Cik terminu: -" n = saņem.čomp.to_i ievieto "Fibonači sērijas pirmos # n terminus: -" 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. Vai jūs varat atšķirt Procs un lambdas?


Gan proci, gan lambdas ir daļa no slēgšanas, funkcijas vai koda bloka leksiskās darbības jomas. Tos izmanto iesaiņošanai vai grupas kodu blokiem, lai palielinātu lasāmību. Bloki ir arī slēgšana, taču tie nav objekti, piemēram, proci vai lambdas. Procs un lambdas var atgriezt arī no funkciju iekšienes. Tomēr tie ir diezgan atšķirīgi. Īsāk sakot, visi lambdas ir proci, bet ne visi proci ir lambdas. Lambdas ir stingras, pārbaudot parametru numurus, bet procs nav. Lambdas atgriež vienkārši vērtības, savukārt procs atgriež vērtības no pašreizējās darbības jomas.

39. Kā kontrolēt piekļuves līmeņus rubīna metodēm?


Rubīns ļauj programmētājiem viegli kontrolēt savu metožu piekļuves līmeņus. Metodes var padarīt publiskas, privātas vai aizsargātas. Tādā veidā jūs varat norādīt, kuriem objektiem ir piekļuve kādām metodēm visā jūsu programmā. Kā norāda nosaukums, publiskām metodēm var piekļūt ikviens. Privātās metodes ir pieejamas tikai tās klases objektiem, kuriem šīs metodes pieder. Savukārt aizsargātajām metodēm var piekļūt tikai klase, kurā tā ir definēta, un tās apakšklases.

40. Kas ir dārgakmeņi rubīnā?


Dārgakmeņi ir kļuvuši par populāru jēdzienu kopš tā pirmsākumiem. Rubīna dārgakmeņi ir rubīna programmas, kas tiek izplatītas kā paketes. Tie ir bijuši būtisks faktors, kas sekmē Rubīna panākumus. Lietojumprogrammu ir ļoti viegli iesaiņot un koplietot / izvietot, izmantojot dārgakmeņus. Šī pakotņu pārvaldnieka vienkāršā, bet produktīvā CLI saskarne ir ļoti elastīga un ļauj izstrādātājiem bez piepūles iepakot savu programmu. Ruby dārgakmeņu pakotņu pārvaldnieks tagad ir iebūvēts ar standarta Ruby izpildlaiku.

41. Kas ir Rails Engine?


Potenciālajiem kandidātiem bieži tiek jautāts par sliežu dzinējiem, intervējot jautājumus rubīna uz sliedēm laikā. Rails Engine ir mehānisms, kas ļauj programmētājiem ietīt savu sliežu lietojumprogrammu vai dažas specifiskas funkcijas ar citām lietojumprogrammām vai daļu no lielākām izplatāmām pakotnēm. Jūs varat iedomāties Rails dzinējus kā mini lietotnes. Piekļuve šiem dzinējiem ir atkarīga no jūsu servera maršrutēšanas politikas. Jūs vienkārši uzstādāt motoru, un maršrutētāji to var izmantot.

42. Kā iesaldēt objektus rubīnā?


Rubīns ļauj programmētājiem iesaldēt objektus programmu izpildes laikā. Tas var noderēt vairākās situācijās. Tālāk redzamie koda fragmenti parāda Rubīna objektu iesaldēšanu darbībā.

foo = "kaut kas" foo.iesaldēt, ja (foo.sasaluši? ) ievieto "foo ir sasalis objekts", citādi ievieto "foo ir regulārs objekts" beigas

Tātad objekta sasaldēšanai un sasaldēšanai tiek izmantota iesaldēšanas metode? lai pārbaudītu tā stāvokli. Ja jūs komentējat otro rindiņu, jūs saņemsiet pārējā bloka izvadi.

43. Apspriediet CRUD darbības vārdus, kas pieejami sliedēs


CRUD ir RESTful API pamatelements. Rails sistēma ļauj veikt visas galvenās CRUD operācijas. Zemāk mēs apspriežam Rails tīmekļa darbības vārdus.

  • GET - šis darbības vārds tiek izmantots lapas resursu iegūšanai
  • POST - jaunu resursu izveidošana un iesniegšana
  • PATCH / PUT - atjauniniet esošos resursus
  • DELETE - noņemt norādītos resursus

44. Kāda ir saistība starp pavedienu apvienošanu un pavedienu dzīves ciklu?


Viena pavediena dzīves cikli rubīnā tiek sākti automātiski, tiklīdz jūsu procesoram ir pieejami resursi. Lai gan pavedieni ir izsalkuši, varat ievērojami uzlabot lietojumprogrammas Ruby on Rails ātrumu, vienlaikus izmantojot vairākus pavedienus. Vītņu apvienošanas tehnika tiek plaši izmantota, lai atvieglotu vairāku pavedienu bez pārtraukuma darbību. Šajā tehnikā gaidīšanas režīmā tiek gaidīti vairāki jau esoši atkārtoti izmantojami pavedieni. Ikreiz, kad ir pieejami jauni resursi, automātiski tiek sākti jauni pavedieni.

45. Kādi ir labākie instrumenti sliežu lietojumprogrammu testēšanai?


Viens no visbiežāk sastopamajiem rubīna intervijas jautājumiem, ar kuriem saskaras darba meklētāji, ir par rīku testēšanu. Tā kā Ruby on Rails tiek plaši izmantots liela mēroga tīmekļa lietojumprogrammu veidošanai, testēšana ir ārkārtīgi svarīga sastāvdaļa. Par laimi pastāv ievērojams skaits iepriekš izveidotu rīku, lai palielinātu testēšanas ātrumu un rezultātu jaunajiem Ruby izstrādātājiem. Daži populāri un noderīgi Rails testēšanas rīki ir -

  • rspec - domēna specifisks rīks rubīna koda pārbaudei
  • minitest - pilnvērtīgs testēšanas komplekts, kas atbalsta TDD, BDD, etalonu noteikšanu un ātru prototipu veidošanu.
  • testa vienība - stabila vienības testēšanas sistēma Rubīnam, kuras pamatā ir xUnit principi.
  • gurķis - elastīgs Ruby rīks, lai palaistu Ruby automatizētus testus.

46. Cik daudz veidu jūs varat pievienot vienumus rubīna masīviem?


Kā jau tika apspriests, masīvi ir svarīga Ruby datu struktūra. Ir vairāki veidi, kā pievienot jaunus vienumus jau esošam masīvam. Daži no tiem ir parādīti zemāk.

foo = ["kaut kas", "ufo", "kas?"] liek foo foo.push ("bar") liek foo foo.unshift ("newItem") liek foo foo.insert (1, "anotherNewItem") liek foo

Stumšanas metode masīva beigās pievieno jaunus elementus, sākumā atceļ pārslēgšanu un ievieto, lai pievienotu vienumus jebkurā norādītajā pozīcijā.

47. Cik daudz veidu jūs varat noņemt vienumus no rubīna masīviem?


Vienumu noņemšana no masīviem arī nav Ruby īpaša problēma. Programmētāji var izmantot dažādas metodes, lai to izdarītu. Mēs sniedzam vienkāršu demonstrāciju zemāk. Tā ir daļa no citiem izplatītiem rubīna intervijas jautājumiem, ar kuriem jūs varat saskarties.

foo = ["kaut kas", "ufo", "kas?"," anotherNewItem "," newItem "," bar "] foo.pops liek foo foo.maiņa liek foo foo.dzēst ("ufo") liek foo foo.uniq liek foo

Tātad, pop izdzēš masīva pēdējo vienumu, pārvieto pirmo un izdzēš konkrētus vienumus. Uniq metode noņem dublētus elementus no masīva.

48. Kā uzglabāt drošus datus sliedēs?


Rails lietojumprogrammas bieži nodarbojas ar sensitīvu informāciju, piemēram, parolēm, lietotājvārdiem, IP adresēm. Ir ārkārtīgi slikta ideja šos datus glabāt kā vienkāršu tekstu. Lai nodrošinātu datu drošību, jums vienmēr jāveic atbilstoši mērījumi. Trešās puses dati, piemēram, maksājumi un pamatinformācija, būtu jāuzglabā, izmantojot specializētus pakalpojumus, piemēram, Stripe. Pirms datu glabāšanas šifrējiet datu bāzes datus. Pārliecinieties, ka tīkla dati tiek nosūtīti un saņemti, izmantojot drošus savienojumus, lai novērstu noklausīšanos.

49. Kā rīkoties ar failu operācijām rubīnā?


Tāpat kā citas programmēšanas valodas, faili un to manipulācijas veido lielāko daļu Ruby programmēšanas. Pateicoties spēcīgajām Ruby bibliotēkām un iebūvētajām metodēm, failu apstrāde Ruby ir diezgan vienkārša. Pārbaudiet tālāk sniegto fragmentu, lai saprastu dažas faila darbības.

new_file = Fails.atvērt ("tests.txt ") file_data = new_file.lasīt new_file.aizvērt file_data = Fails.lasīt ("tests.txt ").sadalīt failu.atvērt ("tests.txt "," w ") | f | f.uzraksti "# Laiks.tagad - jauns rakstīts datu \ n " fails.rakstīt ("tests.txt "," dati ... ", režīms:" a ")

50. Kā rīkoties ar izņēmumiem, izmantojot ķeršanu rubīnā?


Daudzos rubīna intervijas jautājumos intervētāji jautā kandidātiem, kā viņiem rīkoties ar izņēmumiem Rubīna programmās. Tāpat kā citas mūsdienu valodas, arī Rubīns ļauj programmētājiem noķert izpildlaika kļūdas un rīkoties ar tām, neiznīcinot visu lietojumprogrammu. Sintakse tomēr nedaudz atšķiras no citās valodās atrodamajiem mēģinājumiem noķert.

mest: Label_Name #… kods netiks izpildīts catch: Label_Name do #… izpilda atbilstošo nozveju, ja tiek konstatēts metiens. beigas

Beigu domas


Tā kā Rubīna intervijas jautājumi var atšķirties atkarībā no amata, uz kuru esat pieteicies, un uzņēmuma, ir grūti visus iespējamos jautājumus ietvert vienā ceļvedī. Tomēr mūsu redaktori ir darījuši visu iespējamo, lai izklāstītu visbiežāk uzdotos Ruby on Rails intervijas jautājumus, lai palīdzētu sagatavoties darbam. Ja esat jauns Ruby lietotājs, iesakām nekavējoties neiedziļināties sarežģītos jautājumos vai tehnikās. Tā vietā jums vienmēr jāmēģina apgūt pamatus un izveidot vienkāršus reālās dzīves projektus. Tas palīdzēs daudz vieglāk risināt intervijas. Palieciet pie mums, lai iegūtu vairāk ceļvedi par prasīgajiem CS darbiem.

Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...