top 35 puppet interview questions
Puppet este un instrument open-source de gestionare a configurației. În acest tutorial am furnizat cele mai frecvente întrebări și răspunsuri la interviurile cu păpuși:
În mediul de dezvoltare agil actual, dezvoltatorii își integrează codul de mai multe ori într-o zi și lucrează ore suplimentare pentru a-și îndeplini sarcinile.
Echipele de operațiuni lucrează împreună cu dezvoltatorii de aplicații pentru a-și integra codul folosind instrumentele de control al versiunilor, revizuirea codului pentru a menține coerența proiectării și implementării între mai mulți dezvoltatori, implementează diverse versiuni pentru testare. În afară de aceasta, trebuie să mențină sistemele și serverele în stare de funcționare.
Diferite sisteme și servere atunci când rulează continuu devin predispuse la defecțiuni. În organizațiile mari cu o bază enormă de clienți, întreținerea infrastructurii devine o sarcină descurajantă.
În cazul infrastructurii nou instalate sau pentru a menține cele existente într-o stare bună, DevOps instalează instrumente de configurare precum Puppet care setează automat configurația implicită pentru mașinile noi și resetează configurația infrastructurilor eșuate menținându-le în stare de funcționare.
Ce veți învăța:
Ce este instrumentul software Puppet
Puppet este un instrument de gestionare a configurației open-source care automatizează și gestionează configurarea serverului. Codul său scris în limbaj specific domeniului (DSL) este declarativ, în care este descrisă starea dorită a sistemelor noastre. Acest instrument automatizează actualizarea stării acestor sisteme așa cum este descris cu ajutorul maestrului păpușar și al agentului lor.
În caz de eșec al serverului, codul îl ajută pe server să revină la stările lor de lucru anterioare. În plus, instrumentul implementează servere la cerere și le impune securitate.
Cu acest instrument de gestionare a configurației, se poate gestiona Network Time Protocol (NTP), privilegii Sudo pentru a identifica utilizatorii cu privilegii de acces crescute, pe lângă acest server de nume DNS (Domain Name System) și firewall-ul poate fi gestionat și cu acesta.
Cele mai frecvente întrebări de interviu pentru marionete
Q # 1) Explicați Puppet Enterprise.
Răspuns: Întreprinderea marionetă este un instrument de configurare sau se spune ca un cod automat în care informațiile despre infrastructură, cum ar fi software-ul și setările lor, sunt deja definite pentru sistem și server, astfel încât acestea să poată fi instalate, mediul poate fi configurat atunci când este instalată o nouă infrastructură și se face verificarea periodică pentru a vă asigura că aceste sisteme și servere rămân în starea dorită.
Q # 2) Descrieți arhitectura marionetelor.
Răspuns: Puppet urmează abordarea de programare declarativă în care codul specifică ce trebuie făcut, dar nu informează pașii cu privire la modul de realizare.
Pe baza implementării bazate pe Pull, nodurile agentului verifică un interval regulat de 30 de minute cu un nod principal pentru orice schimbare la agent. În caz de cerință de modificare, agentul extrage codul specific de la master și efectuează acțiunile necesare la nodul agentului.
- Agentul trimite Fapte, adică starea sa în pereche de date cheie / valoare, către comandant. Statul include sistemul de operare al sistemului, up-time, adică sistemul de timp este operațional, adresa IP, adică mașină fizică sau virtuală.
- Folosind informații despre fapte, masterul compilează un catalog care descrie modul în care agentul ar trebui configurat. Catalog, un document explică starea dorită pentru resursele agentului, masterul gestionează agentul.
- Agentul răspunde masterului cu informații despre finalizarea configurării, care pot fi vizualizate în tabloul de bord Puppet.
Q # 3) Explicați funcționarea marionetei.
Răspuns: Se explică după cum urmează:
Entitățile necesare pentru a rula includ Puppet Master și Puppet Agent.
Agentul sau nodurile sunt demoni care rulează pe serverele client. Aceste servere au nevoie de unele configurații sau sunt gestionate folosind Puppet. Acest agent verifică configurațiile la intervale regulate cu masterul pentru orice modificare. Master constă din toate configurațiile stocate pentru diferite gazde și rulează ca un demon pe serverul master. Agentul și masterul sunt conectate prin Secure Sockets Layer (SSL).
Nodul conectează masterul, masterul analizează ce configurație și cum poate fi aplicată nodului. După analiză, masterul colectează resurse și configurații, compilează și realizează un catalog și îl trimite agentului nodului. După aplicarea configurației, agentul trimite raportul de configurație care a fost aplicat serverului master.
Q # 4) Descrieți modulul Puppet.
Răspuns: Modulele sunt elemente de bază ale marionetei într-o structură de directoare care conține clase, sarcini, funcții, furnizori de resurse și tipurile acestora, precum și plugin-uri precum fapte sau tipuri personalizate. Este obligatoriu să aveți module instalate în calea modulului marionetă. Aceste module sunt utilizate pentru a gestiona sarcini precum instalarea sau configurarea software-ului pe sistem sau server.
Clic Aici pentru module disponibile readymade.
Q # 5) Ce este catalogul în păpușă?
Răspuns: Catalogul este un document cu detalii de stare ale fiecărui master resursă care se gestionează pe nod. Master compilează un catalog și îl trimite înapoi agentului. Are date furnizate de agent la nod, date externe și detalii legate de manifestele marionete.
Q # 6) Definiți cursurile în marionetă.
Răspuns: Clasele sunt blocuri de cod, invocate de numele lor, prezente în module. Clasele sunt utilizate pentru funcționalitatea tuturor pachetelor, serviciilor și fișierelor de configurare necesare pentru a rula o aplicație. Acestea pot fi adăugate în catalogul nodului în două moduri posibile, adică declararea acestor clase în manifeste sau prin atribuirea din clasificatorul de nod extern.
Clasele pot fi declarate în manifest în următoarele două moduri:
Folosind include class_name SAU folosind clasă { 'numele clasei' : }
cum să efectuați un atac ddos pe un site web
Structura clasei de păpuși este explicată în figura de mai jos:
Q # 7) Ce este Manifestul în Puppet?
Răspuns: Toate programele Puppet scrise în limbaj de programare Ruby și salvate cu o extensie de .pp și sunt construite cu intenția de a crea și gestiona orice mașină gazdă în țintă sunt numite Manifest.
Contine Dosare (marioneta selectează și mută aceste fișiere într-o locație țintă), Șabloane (folosit pentru a crea fișiere de configurare pe nod), Noduri (definițiile legate de nodul clientului sunt descrise la noduri), Resurse , și Clase.
Q # 8) Descrieți în detaliu despre Facter in Puppet.
Răspuns: Facter este o bibliotecă multiplatformă de profilare a sistemului care descoperă și raportează informații de sistem per-nod cunoscute ca fapte prezente ca variabile cu valori în formatul cheie-valoare în manifeste.
Caracterele și faptele sunt disponibile în codul Puppet ca variabile globale, pot fi utilizate în cod fără nicio referință în niciun punct, în niciun loc din cod. Facter este o bibliotecă care identifică detaliile faptelor care pot conține sistemul de operare utilizat, cheile SSH, adresa IP, verificarea sau nu a mașinii virtuale, adresele MAC etc.
Diferite tipuri de date utilizate sunt explicate mai jos:
- Fapte fundamentale: Acestea sunt informații despre resurse precum cloud, discuri, memorie, sistem de operare, cale, procesoare și partiții. Putem utiliza următoarea comandă pentru a vizualiza lista completă a faptelor și valorile corespunzătoare ale acestora în format cheie-valoare.
- $ run fapte marionetă
- Fapte personalizate: Folosind export FACTER {fact’s_name} putem adăuga date personalizate la nod. Aceste fapte sunt personalizate pentru a îndeplini cerințele specifice ale DevOps.
- Fapte externe: Pentru a aplica fapte în etapa de aprovizionare, putem folosi fapte externe, putem aplica metadate mașinilor virtuale de la AWS, furnizorii de cloud OpenStack.
Q # 9) Ce vrei să spui prin Puppet Kick?
Răspuns: Puppet Kick învechit în versiunea curentă este un utilitar care declanșează agentul de la master. Conform manualelor Ubuntu, „lovitură de păpușă” este un script care trebuie rulat ca root pentru a accesa certificatele Secure Sockets Layer (SSL), conecta setul de mașini care rulează agentul și le declanșează pentru a-și rula configurațiile.
În plus, această comandă caută și în Lightweight Directory Access Protocol (LDAP), pentru gazde care corespund acelei configurații, se conectează cu fiecare dintre ele și se declanșează pentru a rula configurația lor. Pentru a începe activitatea, agentul ar trebui să identifice și să identifice conexiunile primite și ar trebui să aibă acces la permisiunea de a rula puncte finale.
Q # 10) Descrieți funcționalitatea MCollective în Puppet.
Răspuns: MCollective sau Marionette Collective este un cadru pentru crearea coordonării, gestionării și amenajării automate a infrastructurii complexe, adică a sistemelor și serverelor cunoscute sub numele de Orchestrare. Sarcinile administrative pe clustere de servere pot fi executate automat folosind MCollective.
Componentele lor sunt servere, clienți și middleware. Utilizând comenzile MCollective putem interoga valoarea faptelor, porni și opri serviciile, porni instrumentul de configurare în sine, precum și interogarea și actualizarea software-ului.
Q # 11) Ce este special la designul modelului Puppet?
Răspuns: Anterior, administratorii de sistem urmau o serie de pași pentru configurarea și gestionarea infrastructurii, care cuprinde mai multe grupuri de sisteme și servere. Într-o abordare de proiectare bazată pe model, Puppet, care este un cod automat scris în Ruby, conține toate detaliile de configurare care sunt compilate într-un catalog.
Acest catalog este trimis fiecărui nod și partajează resurse, valori și relațiile acestora, modificarea necesară a configurației se face pentru ca sistemele eșuate să le readucă la starea normală de funcționare.
Q # 12) Oferiți câteva cazuri de utilizare pentru Puppet.
Răspuns: Puppet este utilizat pentru a gestiona și standardiza implementarea infrastructurii.
Cerinţă: Startup Company și-a mutat infrastructura către furnizorii de servicii Cloud, cum ar fi serverul web Amazon sau serviciile Google Cloud. Utilizatorul final este responsabil pentru crearea, standardizarea și întreținerea sistemelor și serverelor pe diferite platforme, aplicații și servicii și dorește să instaleze și să utilizeze Puppet pentru a le ușura sarcina.
Scenariul 1: Administratorii utilizează instrumente pentru standardizarea serverelor și sistemelor lor, cum ar fi crearea unui fișier manifest care are pași înscriși în codul de configurare pentru a-și construi noul server.
De exemplu,
- Instalarea sistemului de operare, să zicem Linux.
- Verificarea spațiului pe disc Linux folosind software File light sau DUC.
- Instalarea Java.
- Instalarea Tomcat.
- Instalarea serverului SQL ca RDBMS.
- Instalarea patch-ului pentru o aplicație care urmează să fie construită și testată pentru stagiar în dezvoltarea de software.
Scenariul 2: Crearea fișierului, listând toți pașii de mai sus în manifest, care pot fi executați folosind comanda marionetă pentru a efectua pașii menționați automat în fișierul manifest. În acest fel se urmărește standardizarea pașilor în timpul implementării unui sistem nou folosind manifest și comandă.
Scenariul 3: Manifestul creat va fi utilizat pentru a construi server Cloud prin API, astfel încât toate sarcinile manuale să poată fi realizate automat.
Q # 13) Explicați comenzile „etckeeper-commit-post” și „etckeeper-commit-pre”.
Răspuns: Urmează diferența dintre ambele comenzi
- etckeeper-commit-post este o comandă scrisă în fișierul de configurare, care poate fi executată după apăsarea configurării pe agent.
- etckeeper-commit-pre este o comandă scrisă în fișierul de configurare, care poate fi executată înainte de a împinge configurarea pe agent.
Q # 14) Enumerați caracterele care sunt permise într-un nume de clasă, numele modulului și identificatorii?
Răspuns: Următoarele sunt caractere acceptabile în timp ce se declară numele clasei și numele modulului:
- Trebuie să înceapă cu o literă mică.
- Poate include litere mici, cifre și caractere de subliniere.
- Scope Resolution Operator, adică „::” sunt separatorul spațiului de nume în definiția numelui clasei.
Cu numele variabilei, caracterele acceptate sunt cele menționate mai jos:
- Poate începe cu litere mari și mici.
- Poate conține cifre și caractere de subliniere („_”).
- Dacă primul caracter este un subliniat, variabila poate fi accesibilă doar din propria sa zonă locală.
- Variabilele sunt sensibile la majuscule și minuscule.
Q # 15) La ce să te aștepți dacă nu semnezi un acord de licență pentru colaboratori?
Răspuns: Este o condiție obligatorie să semnezi un Contract de licență pentru colaboratori (CLA) pentru contribuitorii de coduri la Puppet sau Facter, fără de care codul lor nu poate fi acceptat. Pentru a găsi și descărca codul Puppet sau Facter scris în Ruby, utilizatorul trebuie să se conecteze la contul său GitHub și să semneze un acord.
Q # 16) Explicați importanța și locația codedir în Puppet?
Răspuns: codedir este folosit de Master și aplică comanda, dar nu de agent. Este directorul principal pentru date și cod care utilizează un mediu care conține manifeste și module, director global de module și date și configurație Hiera.
Acest codedir se află la următoarele directoare locale
În cazul Windows: C: ProgramData PuppetLabs puppet etc.
În timp ce pentru Linux: / etc / dir / PuppetLabs / code
Q # 17) Descrieți Hiera.
Răspuns: Hiera este un sistem de căutare a datelor de configurare în format cheie-valoare. Ajută la recuperarea datelor din codul Puppet. Acest cod utilizează acest sistem pentru apeluri explicite de căutare a parametrilor pentru clase dintr-un catalog. Acest sistem folosește faptele Puppet pentru a identifica sursele de date. Este 5aversiunea acceptă fișiere de date în format JSON, YAML și EYAML.
Se caută datele de configurație în trei straturi independente de configurație, începând de la nivel global, apoi de mediu și, în cele din urmă, la nivelul modulului de configurare.
Q # 18) Descrieți resursele virtuale în marionetă.
Răspuns: În timpul configurării Puppet, apare o eroare de declarare a resurselor în cazul în care aceeași resursă este utilizată de mai multe ori. Acest instrument rezolvă această problemă prin introducerea unei resurse virtuale. Declararea resursei virtuale pune resursa sa la dispoziția colecționarilor și realizează funcția. De asemenea, gestionează starea când se realizează resursa.
Puteți găsi resurse virtuale nerealizate marcate ca inactive incluse în catalog. Resursele virtuale sunt aplicate pentru gestionarea resurselor ale căror condiții multiple între clase sunt îndeplinite și pentru seturi de resurse suprapuse de mai multe clase.
întrebări de top pentru interviu c ++
Q # 19) Descrieți modul-cale.
Răspuns: Serviciul principal și cu comanda de aplicație marionetă în cazul în care manifestele de marionetă sunt aplicate local, încărcați conținutul lor din module (instalate în modulepath marionetă) dintr-unul sau mai multe directoare. Este lista ordonată a directoarelor căutate de module de către Puppet. Aceste directoare din lista modulepath sunt separate printr-un caracter separator.
În Linux, este colon (:) și în Windows, este punct și virgulă (;).
Q # 20) Oferiți detalii despre modulepath de bază.
Răspuns: Lista globală de directoare de module este modulepath de bază pentru aplicarea în toate mediile, configurat cu setarea modulepath de bază, cu valoarea implicită ca mai jos:
În cazul Linux: $ codedir / modules: / opt / puppetlabs / puppet / modules
În cazul Windows: $ codedir modules
Q # 21) Descrieți directorul cache în Puppet.
Răspuns: Marionetă în timpul operațiunilor normale, stochează datele generate într-un director cache numit vardir. Aceste date pot fi exploatate pentru analiză. În cazul agentului și aplică comanda, Directorul cache poate fi găsit la una dintre următoarele locații:
În cazul Windows, este C: programat PuppetLabs puppet cache
În timp ce în Linux este / opt / puppetlabs / puppet / cache , alternativ, folosind opțiunea –vardir din linia de comandă, se va specifica locația directorului cache-marionetă. Putem schimba locația fișierelor și directoarelor vardir, modificând setările puppet.conf.
Q # 22) Explicați despre „Medii” în Puppet.
Răspuns: Mediul este o distribuție logică care separă modulele și se manifestă în secțiuni sau foldere separate pentru noduri, pentru a obține bit de cod în funcție de nodul mediului în care aparține, este setat static în puppet.conf. Este o caracteristică de a împărți configurația infrastructurii în medii. Administratorul poate utiliza un singur master pentru a servi mai multe configurații izolate.
Q # 23) Descrieți resursele în marionetă.
Răspuns: Puppet Resources folosește construirea, proiectarea și gestionarea infrastructurii de sistem sau server. Acest instrument are mai multe tipuri de resurse pentru a construi și defini resurse noi pentru a defini arhitectura sistemului. Blocul de cod marionetă din fișierul manifest (declarația resurselor) este creat folosind Limbajul de modelare declarativă (DML).
Contine Tipul resursei, Parametrul resursei, Atribute, și Valori.
Q # 24) Explicați tipurile de resurse în Puppet.
Răspuns: Componentele sistemului administrat de marionete sunt analizate cu ajutorul tipurilor de resurse. Puține tipuri de resurse comune sunt grupul, pachetul, utilizatorul, fișierul și serviciul.
Există două tipuri de resurse, tipurile încorporate și tipurile personalizate. Unele dintre tipurile de resurse încorporate sunt grup, pachet, utilizator, fișier și serviciu. Puteți găsi tipuri personalizate distribuite în module de păpuși menționate de pe forge.puppet.com.
Q # 25) Explicați definiția nodului în marionetă.
Răspuns: Definiția sau declarația nodului este un bloc de cod marionetă care se potrivește cu catalogul nodului. Permite alocarea unei configurații specifice nodului afectat.
Sintaxa lor arată similar cu cea a definițiilor clasei cu cuvânt cheie nod, numele definiției nodului, deschiderea acoladei, un amestec de declarații de clasă și resurse, colectoare, variabile, afirmații condiționale, funcții și relații de înlănțuire, în cele din urmă o acoladă închisă.
Q # 26) Descrieți funcțiile din Puppet.
Răspuns: Funcțiile Puppet sunt plugin-uri care sunt utilizate în timpul compilării catalogului. Apelul de funcție prin manifest face funcția să ruleze și să returneze valoarea și modifică catalogul ca efect secundar.
ce este testarea de regresie în testarea software-ului
Se pot crea propriile funcții care acceptă argumente prin intermediul parametrilor pentru a transforma date și a construi valori. Acestea sunt pluginuri sau expresii numite pentru a rezolva valoarea și pot fi fie încorporate, fie personalizate.
Q # 27) Dați exemple pentru a configura sistemele folosind Puppet
Răspuns: Unele exemple ale sistemului configurat cu marionetă sunt enumerate mai jos:
- Gestionați serviciul NTP: Network Time Protocol (NTP) este serviciile cele mai esențiale care pot fi gestionate și configurate folosind marionetă, pentru a sincroniza timpul între noduri.
- Gestionați privilegiile Sudo: Comanda Sudo de pe agenții dvs. va identifica utilizatorii de sistem cu privilegii de acces ridicate.
- Gestionați un fișier server de nume DNS: Serverul de nume care mapează adresele IP înțelese de computere cu adrese URL lizibile de către om poate fi gestionat folosind acest instrument de configurare.
- Gestionați regulile firewall: Diverse reguli și politici, cum ar fi porturile de aplicații (TCP / UDP), porturile de rețea, adresa IP și instrucțiunile de refuzare a accesului pot fi proiectate cu firewall, iar politicile de firewall ale instrumentului pot fi gestionate.
Q # 28) Descrieți manifestul principal sau site-ul în marionetă.
Răspuns: Agentul trimite starea resurselor numite fapte de stăpânit, pe baza informațiilor primite. Master va compila catalogul sub forma unui singur fișier manifest, cunoscut sub numele de manifest principal sau site. Maestrul utilizează fișierul manifest principal, fie un singur fișier, fie un director de fișiere .pp, configurat de mediul nodului curent, care, cu ajutorul setării manifestului în environment.conf, determină manifestul principal.
Q # 29) Ce vrei să spui prin aplicare marionetă?
Răspuns: Puppet apply este o comandă de execuție independentă pentru aplicarea manifestului individual. Acest cod, atunci când este aplicat modulepath prin linia de comandă sau fișierul de configurare, acționează ca un catalog. „Puppet apply” este un cod din linia de comandă pentru aplicarea unei configurații.
Q # 30) Enumerați companiile care utilizează Puppet.
Răspuns: Puține organizații de întreprinderi multinaționale care utilizează Puppet în gestionarea și configurarea infrastructurii sunt:
- KPN - Companie olandeză de telecomunicații fixe și mobile, Olanda
- CERN - Organizația Europeană pentru Cercetare Nucleară
- Aegon UK - furnizor de servicii financiare
- NYSE - Bursa de Valori din New York
- ICE - Intercontinental Exchange
- ANZ Bank
- Cisco
- Splunk
Q # 31) Explicați ce pregătiri de pre-instalare veți avea nevoie înainte de a instala Puppet Open Source.
Răspuns: Există câteva pregătiri și cerințe înainte de a instala Puppet Open Source
- Selectarea serverului ca master.
- Serverele și rețeaua de validare sunt gata și pregătite pentru instalare cu următoarele instrucțiuni:
- Selectarea tipului de implementare pentru serverul selectat. Putem utiliza Docker compune pe bază de stive-marionetă sau în cazul în care aveți deja Docker, apoi clonați repo.
- rulați comanda docker-compose up
- Instalarea agenților
- Odată ce Puppet Server este configurat, trebuie să instalăm pachetul agent pe mașina nodului pe care este necesar instrumentul de gestionare a configurației.
- Pe baza sistemului dvs. de operare, aveți Linux, OS X și Microsoft Windows de selectat.
- Puteți utiliza NTP și sudoers pentru a automatiza codul Puppet pentru proiectarea configurației.
Q # 32) Explicați Puppet Enterprise.
Răspuns: Puppet Enterprise este scalabil în diferite echipe, sisteme, la fața locului sau pe servere cloud, prin implementarea politicilor de conformitate și securitate, împreună cu configurația pentru infrastructura locală și de migrare în cloud, cu perioade de nefuncționare zero.
De asemenea, generează rapoarte privind starea codului care sunt construite și informații despre cine și ce modificări au fost aduse unui cod de infrastructură, declanșează verificări de analiză la intervale regulate de infrastructură pentru a evalua orice impact înainte de orice incidență.
Q # 33) Descrieți remedierea marionetelor.
Răspuns: Scanează infrastructura și produce date despre vulnerabilități în formate trasabile și audibile pentru a acorda prioritate rezoluțiilor acestora. Remediați echilibrele instrumentelor care evaluează vulnerabilitățile și prioritizează sarcinile care necesită rezolvare imediată, participă la astfel de sarcini executând sarcini pre-construite, cum ar fi gestionarea pachetului, serviciile sau rularea scriptului shell și remedierea imediată a problemelor.
Q # 34) Explicați funcționarea Releu de păpuși.
Răspuns: Puppet Relay vă monitorizează infrastructura și rulează scripturi de automatizare care nu numai că declanșează alerte în cazul unor incidente folosind API-uri, instrumente DevOps disponibile prin conectarea sistemelor locale sau conectate la cloud, dar resetează instanța folosind detaliile de configurare implicite prezente în cataloage din manifest și, în cele din urmă, informează echipa instanței.
Q # 35) Ce este Bolt?
Răspuns: Bolt automatizează coordonarea, gestionarea și configurarea sistemelor informatice și a serviciilor conexe care au fost procesate manual anterior și menține întreaga infrastructură a unei organizații.
Concluzie
Puppet este un instrument automat de gestionare a configurației pentru infrastructură locală și virtuală care urmează modelul client-server, unde o mașină este masteră și alte mașini acționează ca agent sau noduri. Scopul său principal este de a gestiona resursele de pe serverul infrastructurii dvs. Resursa este un cod care gestionează caracteristicile serverului, cum ar fi un cont de utilizator sau un conținut software.
Acest instrument de gestionare a configurației ne oferă puterea de a exprima configurația serverului în cod pentru a vă gestiona automat infrastructura.
Suntem siguri că acest tutorial despre întrebările interviului Puppet vă va ajuta să vă pregătiți pentru interviul dvs. viitoare.
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Întrebări și răspunsuri la interviuri de testare ETL
- Câteva întrebări și răspunsuri dificile de testare manuală
- 35+ Întrebări și răspunsuri de top pentru Apache Tomcat
- Top 35 Întrebări și răspunsuri la interviu cu Struts
- 35+ Cele mai frecvente întrebări și răspunsuri pentru interviuri Microsoft Excel
- Top 35 de întrebări și răspunsuri la interviurile Android
- TOP 35 Întrebări și răspunsuri la interviu HTML5