Programavimo patarimai

50 populiariausių dažniausiai užduodamų rubino interviu klausimų ir atsakymų

50 populiariausių dažniausiai užduodamų rubino interviu klausimų ir atsakymų

„Ruby“ yra šiuolaikinė programavimo kalba, sukurta Japonijoje apie 90-uosius. Ši aukšto lygio kalba skirta bendros paskirties programinei įrangai kurti. „Ruby“ sulaukė didžiulio populiarumo pereinant svetaines prie interneto programų. Dėl didelio mastelio ir tvirtų funkcijų rinkinio jis kuria pirmąją šių programų kartą. Net po JS bumo Ruby vis dar džiaugiasi didėjančia paklausa. Įmonės dažnai ieško kūrėjų, puikiai mokančių „Ruby and Rails“, pavyzdinę „Ruby“ žiniatinklio sistemą, kad išlaikytų esamus produktus ir pridėtų naujų funkcijų. Taigi, norint sužinoti Ruby darbą, būtina žinoti įprastus rubino interviu klausimus.

Dažnai užduodami rubino interviu klausimai


„Ruby“ darbo pokalbyje įmonės gali užduoti įvairiausių klausimų. Šių interviu metu įmonės, turinčios dideles komandas, dažniausiai nori sužinoti kūrėjo gylį. Kita vertus, pradedantieji ieško labiau patyrusių kūrėjų, gebančių greitai kurti verslo produktus. Svarbu žinoti Ruby naudojimą kuriant produktus kartu su pagrindais.

1. Kas yra Rubinas?


„Ruby“ yra bendros paskirties kalba, naudojama kuriant visų tipų technologinius produktus. „Ruby“ dėka yra lengva kurti žiniatinklio programas dėl populiarios serverio kūrimo platformos „Rails“. Dėl tvirtų abstrakcijos sluoksnių „Ruby“ siūlo išskirtinį universalumą kūrėjams. Tačiau rubino programos nėra pačios greičiausios dėl tos pačios priežasties. Be to, programuotojai mano, kad „Ruby“ yra labai lanksti kuriant sąsajas.

2. Kas sukūrė „Ruby“?


Japonų programuotojas, vardu Jukihiro „Matz“ Matsumoto, sukūrė „Ruby“. Jis jį įgyvendino naudodamas C programavimo kalbą. Jis taip pat yra sukūręs informacinį „Ruby“, žinomo kaip MRT (Matz's Ruby Interpreter), įgyvendinimą.

3. Kokios yra geriausios „Ruby“ savybės?


„Ruby“ yra į objektą orientuota programavimo kalba, leidžianti rašyti ančių, dinamiškai ir stipriai. „Mixins“ leidžia „Ruby“ kūrėjams įgyvendinti lanksčius pavienius paveldėjimus. Jis siūlo daugybę standartinių bibliotekų, vietinių įskiepių API, centralizuotą paketų valdymą, daugiapakopį kintamąjį, pirmos klasės tęsinius ir tvirtą šiukšlių surinkėją.

4. Kokia yra geriausia rubino alternatyva?


„Python“ yra viena iš geriausių „Ruby“ alternatyvų. Jie abu yra vertimo kalbomis ir teikia paramą pagrindinėms standartinėms bibliotekoms. Abu jie yra tinkami kandidatai kurti šiuolaikines interneto programas. „Ruby on Rails“ žiniatinklio sistema yra labai pajėgi, taip pat yra „Django“ ir „Flask“ sistema, skirta „python“. Be to, „Ruby“ ir „Python“ leidžia kūrėjams kurti kitą apibendrintą programinę įrangą, pvz., Sistemos įrankius, komunikacijos įrankius ir daugiaplatformes programas.

5. Kodėl verta kurti žiniatinklio programas naudojant „Ruby“?


Tarp gausybės interviu su rubinu klausimų ieškantiems darbo dažnai iškyla priežastis naudoti „Ruby“ kuriant žiniatinklio programas. Akivaizdi priežastis yra „Ruby on Rails“ sistema. Bėgiai yra žinomi dėl savo puikių prototipų kūrimo galimybių. Kūrėjai gali greitai prototipuoti naujas produktų idėjas naudodami jau esamas struktūras ir komponentus. Taigi produktus galima vizualizuoti naudojant kuo mažiau kodų eilučių. Tai vienas geriausiai parduodamų „Ruby“ punktų.

6. Kaip patikrinti „Ruby“ versijos numerį?


Labai lengva patikrinti, ar rubinas yra įdiegtas sistemoje, ir, jei taip, kokia jos versija. Tiesiog naudokite kitą komandą, kad patikrintumėte „ruby“ versijos numerį „Linux“ ir „Unix“ pagrįstuose paskirstymuose.

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

Jis išves versijos numerį, nurodytą rubiną, jau yra įdiegtas. Kitaip, komanda nerasta raginimas bus grąžinta.

7. Kokios yra „Ruby“ klasės bibliotekos?


Klasių bibliotekos yra įmontuotos bibliotekos skirtingoms sritims, tokioms kaip sriegimas, ryšiai ir duomenų tipai. „Ruby“ yra keletas šių klasių bibliotekų-

Tai yra keletas užduočių, kurioms „Ruby“ jau teikia kai kurias iš anksto sukurtas funkcijas. Kūrėjai, naudodami „Ruby“, gali sukurti bet kokio tipo individualizuotas bibliotekas.

8. Kokie yra dažniausiai naudojami „Ruby“ operatoriai?


Kaip ir žymiose programavimo kalbose, „Ruby“ taip pat siūlo daugybę primityvių operatorių skaičiavimams. Operatoriai nustato operaciją, reikalingą atlikti naudojant jūsų kodą. Pagrindiniai operatoriai yra išvardyti žemiau -

9. Kuris iš šių posakių pateikia klaidingą?


tiesa ? „Tiesa“: „Netiesa“ klaidinga ? „Tiesa“: „Netikras“ nulis ? "Tiesa": "klaidinga" 1 ? „Tiesa“: „Netiesa“ 0 ? „Tiesa“: „Netikras“ [] ? „Tiesa“: „Netikras“

Pašnekovai dažnai išbando ieškančio darbo pagrindą naudodami vieną ar daugiau aukščiau išvardytų posakių. Net patyrę programuotojai, mokantys tokias kalbas kaip „Python“ ir „JavaScript“, gali į juos neatsakyti. Rubinas neteisingomis vertina tik klaidingas ir nulines vertes. Konstruktai, tokie kaip 0 ir [], vertinami kaip teisingi.

10. Kokios yra žemiau esančių kintamųjų vertės po vykdymo?


skaičius1 = teisingas ir klaidingas skaičius2 = teisingas ir& klaidingas

Tai dar vienas dažnai užduodamų rubino interviu klausimų pavyzdys. Nors iš pirmo žvilgsnio atrodo lygiavertis, jų įvertinimas gali jus nustebinti. Jei juos atspausdinsite, gausite skaičių 1, kad jis būtų teisingas, o skaičių2 - kaip klaidingą. Taip atsitinka todėl, kad = (priskirti operatorių) turi didesnę pirmenybę Ruby nei loginis ir operatorius.

Taigi pirmoji išraiška tiesiog liepia vertėjui atlikti (skaičius1 = teisinga) ir klaidinga, dėl ko skaičius1 yra teisingas. Tačiau && operatorius turi didesnę pirmenybę nei =, todėl antroji išraiška vertinama kaip tikėtasi.

11. Ar galite paaiškinti „Ruby“ kintamuosius tipus?


Kaip ir kitose programavimo kalbose, „Ruby“ naudoja kintamuosius įvairiems programos duomenims laikyti. „Ruby“ kintamieji veikia šiek tiek panašiai kaip „Python“. „Ruby“ turi keturis numatytuosius kintamųjų tipus. Jie yra -

12. Kuo skiriasi nulis ir melas?


Mes jau jums papasakojome apie niekinius ir klaidingus „Ruby“ konstruktus. Nors abu jie vertinami kaip melagingi, kai vartojami vidiniuose posakiuose, tarp jų yra subtilių skirtumų. Pirma, nulis negali būti vertybė, bet klaidingas. Paprastai „Ruby“ programos grąžina nulį, kai nėra predikato, o predikatų atveju grąžinama teisinga arba klaidinga. Netiesa taip pat yra loginis duomenų tipas, o nulis neatitinka jokio tipo.

13. Aptarkite pagrindinius duomenų tipus, naudojamus „Ruby“.


Kandidatų dažnai klausiama, ar jie žino apie rubinų ant bėgių duomenų tipų interviu klausimus. Kaip bendros paskirties programavimo kalba, „Ruby“ palaiko kelis duomenų tipus, kurie palengvina skirtingus mūsų projektų aspektus. Pagrindiniai „Ruby“ duomenų tipai yra -

14. Skirkite apkrovą ir reikalaukite


„Ruby“ siūlo du skirtingus būdus, kaip į kodo bazę įtraukti išorinius kodo fragmentus, būtent įkelti ir reikalauti. Nors iš pažiūros panašūs, tarp jų yra subtilių skirtumų. Apkrova turėtų būti naudojama tais atvejais, kai išorinis kodas reikalingas kiekvienam įvykio pakeitimui. Kita vertus, reikalauja, kad tai būtų automatinis leidimas, ir jie turėtų būti naudojami automatiškai įtraukiant kodo fragmentus.

15. Kaip elgtis su „Ruby“ sąlyginiais?


Sąlyginės konstrukcijos yra šiuolaikinių programavimo kalbų centre. Jie kontroliuoja jūsų programos eigą ir vykdymą. Dauguma kalbų šiandien siūlo tam tikrą (jei - tada - veiksmo) konstrukciją šiam tikslui. Rubinas gali elgtis sąlygiškai, naudodamas skirtingas klasikinės konstrukcijos variacijas.

16. Kaip veikia kilpos rubine?


Daugeliui programuotojų pirmenybė teikiama kartojimo būdais. Tam palengvinti „Ruby“ siūlo keletą skirtingų kilpų konstrukcijų. Trumpai apžvelgiame juos žemiau.

17. Kaip pertraukos veikia rubine?


Pertraukos konstrukcija yra įprasta visose pagrindinėse programavimo kalbose. Tas pats veikia ir „Ruby“. Norėdami išsivaduoti iš srities pažodžiui, galite naudoti pertraukos teiginį. Programuotojai dažnai naudoja jį grįžti iš kilpų ir rekursinių funkcijų. Žemiau mes parodome, kaip išsiveržti iš „Ruby“ „for loop“.

#!/ usr / bin / ruby ​​for i [1, 2, 3, 4, 5] daryk i, jei i == 3 pertraukos pabaiga

Šis kodas bus atspausdintas iki 3 ir tada bus nutrauktas. Taip atsitinka, nes mes naudojome „pertrauką“, kai tik „aš lygu trims“.

18. Kodėl verta naudoti kitą teiginį?


Kitas „Ruby“ teiginys yra „break break“ papildymas. Jis naudojamas praleisti konkrečią kilpos iteraciją ir pereiti prie kitos. Tai tolygus teiginiui C ir kitam Perle. Ši komanda praleidžia antrą kartojimą, bet pereina prie trečiosios.

#!/ usr / bin / ruby ​​i i 1… 6, jei i == 2, tada kitas galas padaro i pabaiga

Kadangi rubino interviu klausimai yra dažni ciklo kartojimų klausimai, būkite atsargūs atsakydami į juos.

19. Kaip veikia teiginiai?


Perduoti teiginius galima naudoti norint iš naujo įvertinti tam tikrą jūsų ciklo iteraciją. Ciklo sąlyga nėra vykdoma, jei pateikiamas teiginys. Žemiau pateiktame fragmente pateikiamas paprastas pavyzdys.

nes i i 1… 6 padeti i i + = 1 ir perdaryti, jei i == 2 pabaiga

Jei padidinsite skaitiklį po pakartojimo, jis niekada nebus vykdomas. Taigi jūsų programa pateks į begalinę kilpą. Tai dažna naujų „Ruby“ programuotojų klaida.

20. Kaip veikia pakartotiniai teiginiai?


Pakartotinis teiginys yra patogus būdas pakartoti ciklo kartojimus „Ruby“. Pakartotinio teiginio naudojimas daugeliui sezoninių programuotojų dažnai atrodo šiek tiek sudėtingas.

#!/ usr / bin / ruby ​​i i 0… 5 pradžios kelia „i = # i“ pakėlimą, jei i> = 3 gelbėjimo bandymo pabaiga

Šis kodo fragmentas pateks į begalinę kilpą. Taip atsitinka, nes sąlyga, jei visada įvertinama tiesa. Tada pakartojimas kartoja kartojimą.

21. Kaip naudoti komentarus rubinuose?


Komentarai yra būtini, kad būtų aišku ir dokumentuoti. „Ruby“ palaiko „Python“ tipo vienos eilutės komentarus. Tiesiog pridėkite # prieš kodo dalį, kurią norite komentuoti.

# komentaras = 1 pateikia komentarą

Turėtumėte gauti PavadinimasKlaida nes jūsų programa neturi supratimo apie kintamąjį, kurį komentavote. Kelių eilučių komentarai taip pat yra „Ruby“.

= pradžia deda „labas“ = pabaiga

Šis kodas nebus įvertintas ir nieko neatspausdins.

22. Ar galiojantis šis rubino teiginys?


-> (a) p a [„Sveika Visata“]

Aukščiau pateiktas rubino teiginys yra visiškai pagrįstas. Jis paprasčiausiai sukuria proc, naudodamasis trumpiniu (->). Šis procas taip pat yra lambda. Parametrui reikia „a“, jį atspausdinti, paleisti tą procesą ir perduoti parametrą „Hello Universe“. Taigi rezultatas turėtų būti tiesiog „Sveika Visata“.

23. Kaip sukurti objektus „Ruby“?


Daugelis darbdavių savo rubino interviu metu mėgsta paklausti apie objektus ir klases. Laimei, labai lengva sukurti „Ruby“ klasės objektus. Jums tiesiog reikės objekto klasės pavadinimo ir galėsite jį laikyti kaip kintamuosius.

object1 = className.naujas

Dabar „object1“ turės naują klasės „className“ egzempliorių.

24. Kaip sukurti klases Ruby?


Klasės yra jūsų objektų prototipai. Taip pat apibrėžiami leidžiami metodai. Turėsite susikurti klasę, kad galėtumėte greitai sukurti objektą. Žemiau pateiktas kodo fragmentas parodo, kaip sukurti paprastą „Ruby“ klasę.

class className # kodai čia baigiasi

Dabar galite lengvai sukurti objektą naudodami ankstesniame klausime parodytą metodą.

25. Kaip sukurti metodus?


Rubino metodai yra lygiaverčiai funkcijoms kitose kalbose, pvz., C ir Python. Tai neleidžia programuotojams rašyti tų pačių kodų blokų savo programoje. Apibrėžę metodą, galite jį iškviesti iš bet kurios programos vietos. Peržiūrėkite kitą pavyzdį.

def Loop for i per 0… 10 padaro i end end Loop ()

Dabar galite paskambinti šiuo metodu, kaip parodyta paskutinėje eilutėje, kad išspausdintumėte skaičius nuo 0 iki 9 iš bet kurios šaltinio kodo vietos.

26. Ar galite paaiškinti skirtingus vienodus „Ruby“ operatorius?


„Ruby“ suteikia keletą lygių operatorių, kad patikrintų skaičių ir objektų lygybę. Kiekvienas operatorius turi šiek tiek skirtingus naudojimo atvejus, kurie gana dažnai klaidina naujus programuotojus. Žemiau apžvelgiame keturis skirtingus lygiaverčius operatorius „Ruby“.

27. Ruby'e išskirkite super ir super ()


Nors iš pirmo žvilgsnio panašūs, super ir super () turi gana skirtumų. Super skambutis iškviečia tėvų metodą, perduodamas tuos pačius argumentus, perduotus vaiko metodui. Tai dažnai gali sukelti netikėtą elgesį dėl galimo pirminio metodo parametrų neatitikimo. Tačiau iškvietus super (), iškviečiamas pagrindinis metodas, neperduodant jokių parametrų.

28. Kaip perduoti nuorodą „Ruby“?


„Ruby“ nesiūlo rodyklių ir su jomis susijusios išimties. Tačiau tai vis tiek leidžia programuotojams perduoti nuorodas, o ne vietinius kintamuosius. Tai galima padaryti naudojant ampersando (&) simbolį. Pažvelkite į žemiau pateiktą kodą, kad suprastumėte, kaip tai veikia rubino sąlygomis.

#! / usr / bin / ruby ​​def metodas (& block) pateikia bloką „This is method“.skambučio pabaigos metodas įdeda „Tai yra bloko nuoroda“

Jei pastebite klaidų, būtinai patikrinkite savo įtraukas ir tarpus.

29. Kaip moduliai veikia rubinu?


„Ruby“ moduliai yra konstantų ir metodų rinkiniai. Jie apibrėžiami kaip klasės ir turi daug panašių bruožų, tokių kaip klasės apibrėžimai, konstantos ir kiti moduliai. Tačiau „Ruby“ neleidžia kurti objektų naudojant modulius. Be to, nėra jokios paramos paveldėjimui.

Modulio tikslas - suteikti vardų sritis, kad būtų išvengta vardų susidūrimo. Be to, jie įgalina mišinius dalytis bendromis funkcijomis tarp klasių.

30. Kaip „Mixins“ veikia „Ruby“?


Kadangi Rubinas nesiūlo kelių paveldėjimų klasės objektams, programuotojams tai padaryti reikia kitokio būdo. Taigi, norint išspręsti šią problemą, naudojami moduliai. Nors modulių negalima sukurti, jie gali būti lengvai įtraukti į skirtingas klases. Taigi, vis tiek galite pasiekti modulyje apibrėžtus metodus, įtraukdami jį į klasę. „Mixins“ savo vardą gauna iš klasės modulių „derinių“.

31. Ar įmanoma paskambinti privačiam metodui už rubino klasės ribų??


Taip, tai įmanoma Ruby. Turime naudoti klasės objektą, kad iškviestume metodą privačiu. Tai galima padaryti naudojant siuntimo metodą. Žemiau pateiktas kodas tai parodo kaip veikia.

klasės „ClassName“ privataus def metodo p „Tai yra privatus metodas“ pabaigos pabaiga

Dabar mes galime vadinti šį privatų metodą iš „Ruby“ vertėjo naudodamiesi žemiau esančia eilute.

>> „ClassName“.naujas.siųsti (: metodas)

32. Paaiškinkite „Įtraukti“ ir „Išplėsti“ skirtumus


Savo modulius galite naudoti naudodami teiginius „įtraukti“ ir „išplėsti“. Tačiau jie yra gana skirtingi ir naudojami konkretiems tikslams. Trumpai tariant, „include“ prideda modulio metodus prie klasės objekto, o „išplėtus“ prideda klasės metodus.

33. Kaip pasiekti styginius elementus „Ruby“?


Stygos yra vienas iš pagrindinių „Ruby“ siūlomų duomenų tipų. Viskas, ką supa „“, yra „Ruby“ eilutė. Ruby stygos elementus galite lengvai gauti naudodami kvadratinius skliaustus. Žemiau pateiktas kodo fragmentas tai parodo.

#! / usr / bin / ruby ​​foo = "kažkas susiję su stygomis" ilgis = foo.ilgis i 0… foo.ilgis p foo [i] galas

Šis kodo blokas išspausdins visus nurodytos eilutės simbolius po vieną standartinėje išvestyje.

34. Ar įmanoma rašyti kelių eilučių eilutes rubinu?


Per daugybę rubino interviu klausimų ieškantiems darbo klausiama, ar įmanoma Ruby rašyti kelių eilučių eilutes. Nors jums gali būti nežinoma, tai įmanoma ir lengva padaryti. Žemiau mes parodome tris skirtingus būdus, kaip tai padaryti „Ruby“.

įdeda „R Ru Rub Ruby“ -% / R Ru Rub Ruby / įdeda< 

35. Koks skirtumas tarp klono ir dupo?


„Ruby“ pateikia du patikimus metodus, kaip klonuoti / kopijuoti jūsų programos objektus. Nors atrodo, kad jie daro tą patį, yra nemažas skirtumas - raginimas klonuoti nukopijuoja visą objektą, įskaitant modulių derinius. Tačiau „Dup“ sukuria negilią „Object“ kopiją ir nekopijuoja jokių derinių.

36. Kaip pašalinti nulines vertes iš rubino masyvų?


Kadangi „Ruby“ yra tinkamas tipas, dažnai jį rasite visoje savo programoje. Programuotojai turi įsitikinti, kad jie pašalina kuo daugiau tokių įvykių visoje savo kodo bazėje. Gana paprasta rasti ir pašalinti šias nulines reikšmes iš „Ruby“ masyvų. Žemiau pateiktas kodo fragmentas pateiks demonstraciją.

arr = [nulis, „testas“, nulis, „testas“, nulis, „testas“].kompaktiškas deda arr

Nors „arr konstruktas“ atspindi šešis vertybinius objektus, jis atspausdina tik tris iš jų. Kompaktiškas metodas leidžia mums tai padaryti.

37. Parašykite „Ruby“ programą, kad sugeneruotumėte „Fibonači“ numerius


Daugelis darbdavių mėgsta užduoti klasikinius skaičių teorijos klausimus per rubino interviu klausimus. „Fibonacci“ serija tikrai yra viena mėgstamiausių tarp pašnekovų. Kiekvienas šios serijos skaičius yra ankstesnių dviejų skaičių suma. Žemiau pateiktas fragmentas gali sukurti paprastą „Fibonacci“ seriją.

first_number = 0 second_number = 1 next_term = 0 pateikia „Kiek terminų: -“ n = gauna.chomp.to_i pateikia „Pirmuosius # n„ Fibonacci “serijos terminų: -" i = 1, o (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. Ar galite atskirti „Procs“ ir „lambdas“?


Tiek procai, tiek lambdos yra uždarymo, funkcijos ar kodo bloko leksinės apimties dalis. Jie naudojami pakavimui arba grupės kodų blokams, kad būtų lengviau skaityti. Blokai taip pat yra uždarymai, tačiau tai nėra objektai, tokie kaip procai ar lambdos. „Procs“ ir „lambdas“ taip pat galima grąžinti iš funkcijų. Tačiau jie yra visiškai skirtingi. Trumpai tariant, visi lambdai yra procai, bet ne visi yra lambdai. Lambdos yra griežtos tikrinant parametrų numerius, bet procai - ne. Lambdas grąžina tiesiog vertes, o proc. Grąžina vertes iš dabartinės srities.

39. Kaip valdyti rubino metodų prieigos lygius?


„Ruby“ suteikia programuotojams galimybę lengvai kontroliuoti savo metodų prieigos lygius. Savo metodus galite padaryti viešuosius, privačius arba saugomus. Tokiu būdu galite nurodyti, kurie objektai turi prieigą prie kokių metodų visoje jūsų programoje. Kaip siūlo pavadinimas, viešuosius metodus gali pasiekti visi. Privačiais metodais gali naudotis tik tos klasės objektai, kuriems šie metodai priklauso. Kita vertus, saugomus metodus gali pasiekti tik klasė, kurioje ji apibrėžta, ir jos poklasiai.

40. Kas yra brangakmeniai Ruby?


Brangakmeniai tapo populiari sąvoka nuo pat pradžių. Rubino brangakmeniai yra rubino programos, platinamos kaip paketai. Jie buvo gyvybiškai svarbus veiksnys, lemiantis Ruby sėkmę. Labai lengva supakuoti programą ir dalytis ja / naudoti naudojant brangakmenius. Paprasta, bet produktyvi šio paketų tvarkytuvo CLI sąsaja yra labai lanksti ir leidžia kūrėjams be jokių pastangų pakuoti savo programą. „Ruby brangakmenių“ paketų tvarkytuvėje dabar įdiegtas standartinis „Ruby“ vykdymo laikas.

41. Kas yra bėgių variklis?


Potencialių kandidatų dažnai klausiama apie bėgių variklius per rubino ant bėgių interviu klausimus. „Rails Engine“ yra mechanizmas, leidžiantis programuotojams apjungti savo bėgių programą ar kai kurias specifines funkcijas su kitomis programomis ar didesnių platinamų paketų dalimi. „Rails“ variklius galite laikyti mini programomis. Prieiga prie šių variklių priklauso nuo jūsų serverio nukreipimo politikos. Paprasčiausiai montuojate variklį ir maršrutizatoriai gali juo naudotis.

42. Kaip užšaldyti rubino daiktus?


„Ruby“ leidžia programuotojams užšaldyti objektus vykdant jų programas. Tai gali būti naudinga daugelyje situacijų. Žemiau pateikti kodo fragmentai rodo, kaip veikia Ruby objektai.

foo = "kažkas" foo.užšaldyti, jei (foo.sušalęs? ) prideda „foo yra užšaldytas objektas“, dar kitaip - „foo yra įprastas objektas“

Taigi objekto užšaldymui ir užšaldymui naudojamas užšaldymo metodas? patikrinti jo būseną. Jei pakomentuosite antrą eilutę, gausite kito bloko išvestį.

43. Aptarkite CRUD veiksmažodžius, esančius bėgiuose


CRUD yra pagrindinis „RESTful“ API komponentas. „Rails“ sistema leidžia atlikti visas pagrindines CRUD operacijas. Toliau aptarsime „Rails“ žiniatinklio veiksmažodžius.

  • GET - šis veiksmažodis naudojamas gaunant puslapio išteklius
  • POST - naujų išteklių kūrimas ir pateikimas
  • PATCH / PUT - atnaujinti esamus išteklius
  • Ištrinti - pašalinti nurodytus išteklius

44. Koks yra sriegio sujungimo ir sriegio gyvavimo ciklo ryšys?


Vieno siūlo „Ruby“ gyvenimo ciklai pradedami automatiškai, kai tik jūsų procesorius turi laisvų išteklių. Nors gijos trūksta išteklių, galite žymiai pagerinti „Ruby on Rails“ programos greitį naudodami kelias gijas vienu metu. Siūlų sujungimo technika yra plačiai naudojama palengvinant nenutrūkstamą kelių siūlų darbą. Taikant šią techniką, laukimo režime laukiama kelių jau esamų daugkartinio naudojimo siūlų. Kai tik yra naujų išteklių, naujos gijos prasideda automatiškai.

45. Kokie yra geriausi bėgių programų testavimo įrankiai?


Vienas iš labiausiai paplitusių rubino interviu klausimų, su kuriais susiduria ieškantys darbo, yra apie įrankių testavimą. Kadangi „Ruby on Rails“ yra plačiai naudojamas kuriant didelio masto interneto programas, testavimas yra nepaprastai svarbi dalis. Laimei, egzistuoja nemažai iš anksto sukurtų įrankių, kurie padidina naujų „Ruby“ kūrėjų bandymų greitį ir rezultatus. Yra keletas populiarių ir naudingų „Rail“ bandymų įrankių -

  • rspec - domenui skirtas įrankis, skirtas testuoti rubino kodą
  • „minitest“ - visavertis testavimo paketas, palaikantis TDD, BDD, lyginamąją analizę ir greitą prototipų kūrimą.
  • test-unit - patikima „Ruby“ vieneto testavimo sistema, pagrįsta „xUnit“ principais.
  • agurkas - lankstus „Ruby“ įrankis automatiniams „Ruby“ testams vykdyti.

46. Kiek būdų galite pridėti elementų į rubino masyvus?


Kaip jau buvo aptarta, masyvai yra svarbi „Ruby“ duomenų struktūra. Yra keli būdai, kaip pridėti naujų elementų prie jau esamo masyvo. Kai kurie iš jų parodyti žemiau.

foo = ["kažkas", "ufo", "kas?"] kelia foo foo.stumti ("juosta") kelia foo foo.„Unshift“ („newItem“) pateikia foo foo.įterpti (1, "anotherNewItem") foo

„Stūmimo“ metodas masyvo pabaigoje prideda naujų elementų, pradžioje - „Shift“ ir įterpia, kad pridėtumėte elementus bet kurioje nurodytoje pozicijoje.

47. Kiek būdų galite pašalinti elementus iš rubino masyvų?


„Ruby“ taip pat nėra didelis dalykas pašalinti elementus iš masyvų. Programuotojai tai gali naudoti įvairiais metodais. Mes pateikiame paprastą demonstraciją žemiau. Tai dalis kitų įprastų rubino interviu klausimų, su kuriais galite susidurti.

foo = ["kažkas", "ufo", "kas?"," anotherNewItem "," newItem "," bar "] foo.popas deda foo foo.pamaina kelia foo foo.ištrinti ("ufo") įdeda foo foo.uniq kelia foo

Taigi, pop ištrina paskutinį masyvo elementą, perkelia pirmąjį ir ištrina konkrečius elementus. Metodas „uniq“ pašalina pasikartojančius elementus iš masyvo.

48. Kaip saugius duomenis laikyti bėgiuose?


„Rails“ programos dažnai tvarko neskelbtiną informaciją, pvz., Slaptažodžius, vartotojo vardus, IP adresus. Itin bloga idėja saugoti šiuos duomenis kaip paprastą tekstą. Visada turėtumėte tinkamai atlikti matavimus, kad užtikrintumėte duomenų saugumą. Trečiųjų šalių duomenys, pvz., Mokėjimas ir pagrindinė informacija, turėtų būti saugomi per specializuotas paslaugas, tokias kaip „Stripe“. Šifruokite duomenų bazės duomenis prieš juos saugodami. Įsitikinkite, kad tinklo duomenys siunčiami ir gaunami naudojant saugius ryšius, kad būtų išvengta pasiklausymo.

49. Kaip tvarkyti failų operacijas Ruby?


Kaip ir kitos programavimo kalbos, failai ir jų valdymas sudaro didžiąją „Ruby“ programavimo dalį. Dėl patikimų „Ruby“ bibliotekų ir integruotų metodų failus „Ruby“ tvarkyti yra gana lengva. Peržiūrėkite toliau pateiktą fragmentą, kad suprastumėte kai kurias failų operacijas.

new_file = Failas.atidaryti ("testas.txt ") failo_duomenys = naujas_failas.skaityti new_file.uždaryti file_data = Failas.skaityti ("testas.txt ").padalinti failą.atidaryti ("testas.txt "," w ") | f | f.parašyk „# Laikas.dabar - Naujų duomenų įrašymas \ n " failas.rašyti ("testas.txt "," duomenys ... ", režimas:" a ")

50. Kaip elgtis su išimtimis naudojant „Catch in Ruby“?


Daugelyje rubino interviu klausimų interviu dalyviai klausia kandidatų, kaip jie turėtų elgtis su išimtimis „Ruby“ programose. Kaip ir kitos šiuolaikinės kalbos, „Ruby“ leidžia programuotojams užfiksuoti vykdymo laiko klaidas ir jas tvarkyti, nesugadinant visos programos. Tačiau sintaksė šiek tiek skiriasi nuo kitose kalbose pateikiamų bandymų sugauti teiginių.

metimas: Label_Name # ... kodas nebus vykdomas gaudymas: Label_Name do #… įvykdys atitinkamą sugavimą, jei susidursi su metimu. galas

Baigiančios mintys


Kadangi „Ruby“ interviu klausimai gali skirtis priklausomai nuo pozicijos, į kurią kreipėtės, ir įmonės, visus galimus klausimus sunku apimti viename vadove. Tačiau mūsų redaktoriai iš visų jėgų stengėsi apibūdinti dažniausiai užduodamus „Ruby on Rails“ interviu klausimus, kurie padės pasiruošti darbui. Jei esate naujas „Ruby“ vartotojas, siūlome nesikreipti tiesiai į sudėtingus klausimus ar metodus. Vietoj to, jūs visada turėtumėte pabandyti įvaldyti pagrindus ir sukurti paprastus realaus gyvenimo projektus. Tai padės jums daug lengviau atlikti interviu. Apsistokite pas mus ir gaukite daugiau vadovų, reikalaujančių sudėtingų CS darbų.

Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...
Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...
Kaip naudoti „GameConqueror Cheat Engine“ sistemoje „Linux“
Straipsnyje pateikiamas „GameConqueror“ apgaulės variklio naudojimo „Linux“ vadove. Daugelis žaidėjų, žaidžiančių sistemoje „Windows“, dažnai naudoja ...