18 parasta algoritmihaastattelun kysymystä ja vastausta (2025)

Tässä on algoritmihaastattelukysymyksiä ja vastauksia tuoreemmille ja kokeneemmille hakijoille unelmatyönsä saamiseksi.

 

Algoritmikysymyksiä ja vastauksia aloittelijoille

1) Selitä mikä on algoritmi laskennassa?

Algoritmi on hyvin määritelty laskentamenettely, joka ottaa jonkin arvon syötteenä ja tuottaa jonkin arvon ulostulona. Yksinkertaisesti sanottuna se on laskentavaiheiden sarja, joka muuntaa syötteen ulostuloksi.

👉 Ilmainen PDF-lataus: Algoritmihaastattelun kysymykset ja vastaukset >>


2) Selitä mikä on Quick Sort -algoritmi?

Quick Sort -algoritmilla on kyky lajitella luetteloita tai kyselyitä nopeasti. Se perustuu osionvaihto-lajittelu- tai Divide and Conquer -periaatteeseen. Tämän tyyppinen algoritmi vie vähemmän tilaa, ja se jakaa luettelon kolmeen pääosaan.

  • Elementit vähemmän kuin Pivot-elementti
  • Pivot-elementti
  • Elementit, jotka ovat suurempia kuin Pivot-elementti

3) Selitä mikä on algoritmin aikamonimutkaisuus?

Algoritmin aika monimutkaisuus ilmaisee kokonaisajan, jonka ohjelma tarvitsee suorittaakseen loppuun. Se ilmaistaan ​​yleensä käyttämällä iso O-merkintä.


4) Mainitse mitä merkintöjä käytetään ajan monimutkaisuuteen?

Aikamonimutkaisuuteen käytetyt merkintätyypit sisältävät

  • Iso Oh: Se tarkoittaa "vähemmän kuin tai sama kuin" iteraatioita
  • Iso Omega: Se tarkoittaa "enemmän tai sama kuin" iteraatioita
  • Big Theta: Se osoittaa "sama kuin" iteraatioita
  • Pikku Oh: Se tarkoittaa "vähemmän kuin" iteraatioita
  • Pikku Omega: Se tarkoittaa "enemmän kuin" iteraatioita

5) Selitä kuinka binäärihaku toimii?

In binaarinen haku, vertaamme avainta taulukon keskikohdassa olevaan kohteeseen. Jos avain on pienempi kuin haettu kohde, sen on sijaittava taulukon alaosassa, jos avain on suurempi kuin haettu kohde kuin sen pitäisi olla taulukon yläosassa.

Algoritmin haastattelukysymykset


6) Selitä, onko mahdollista käyttää binäärihakua linkitetyissä listoissa?

Koska satunnaiskäyttö ei ole hyväksyttävää linkitetyssä listassa, on mahdotonta saavuttaa O(1)-ajan keskielementtiä. Siten binäärihaku ei ole mahdollista linkitetylle listalle.


7) Selitä mikä on kasalajittelu?

Kasa-lajittelu voidaan määritellä vertailupohjaiseksi lajittelualgoritmiksi. Se jakaa syötteensä lajittelemattomaan ja lajiteltuun alueeseen, kunnes se kutistaa lajittelemattoman alueen poistamalla pienimmän elementin ja siirtämällä sen lajitellulle alueelle.


8) Selitä mikä on ohituslista?

Ohita luettelo tietojen strukturointimenetelmästä, jossa algoritmi voi etsiä, poistaa ja lisätä elementtejä symbolitaulukkoon tai sanakirjaan. Ohitusluettelossa jokaista elementtiä edustaa solmu. Hakutoiminto palauttaa avaimeen liittyvän arvon sisällön. Lisää-toiminto liittää määritetyn avaimen uuteen arvoon, kun taas poistotoiminto poistaa määritetyn avaimen.


9) Selitä mikä on lisäyslajittelualgoritmin avaruuskompleksisuus?

Lisäyslajittelu on paikan päällä oleva lajittelualgoritmi, mikä tarkoittaa, että se ei vaadi ylimääräistä tai vähän. varastointi. Lisäyslajittelu edellyttää vain yksittäisten listaelementtien tallentamista lähtötietojen ulkopuolelle, jolloin avaruuden monimutkaisuus on 0(1).


10) Selitä, mikä "hash-algoritmi" on ja mihin niitä käytetään?

"Hash Algorithm" on hash-funktio, joka ottaa minkä tahansa pituisen merkkijonon ja pienentää sen ainutlaatuiseksi kiinteän pituiseksi merkkijonoksi. Sitä käytetään salasanan voimassaoloon, viestien ja tietojen eheyteen sekä moniin muihin salausjärjestelmiin.


Algoritmihaastattelukysymyksiä ja vastauksia kokeneille

11) Selitä kuinka selvittää, onko linkitetyssä luettelossa silmukka?

Saadaksemme selville, onko linkitetyssä luettelossa silmukka, käytämme kahden osoittimen lähestymistapaa. Jos ylläpidämme kahta osoitinta ja lisäämme yhtä osoitinta kahden solmun käsittelyn jälkeen ja toista jokaisen solmun käsittelyn jälkeen, kohtaamme todennäköisesti tilanteen, jossa molemmat osoitin osoittavat samaan solmuun. Tämä tapahtuu vain, jos linkitetyssä luettelossa on silmukka.


12) Selitä kuinka salausalgoritmi toimii?

Salaus on prosessi, jossa pelkkä teksti muunnetaan salaisen koodin muotoon, jota kutsutaan "salatekstiksi". Tekstin muuntamiseen algoritmi käyttää bittijonoa, jota kutsutaan "avaimiin" laskelmiin. Mitä suurempi avain, sitä suurempi määrä mahdollisia malleja salatekstin luomiseen. Useimmat salausalgoritmit käyttävät koodia kiinteitä tulolohkoja, joiden pituus on noin 64-128 bittiä, kun taas jotkut käyttävät suoratoistomenetelmää.


13) Luettele joitakin yleisesti käytettyjä salausalgoritmeja?

Jotkut yleisesti käytetyistä salausalgoritmeista ovat

  • 3-way
  • Blowfish
  • CAST
  • SEV
  • GOST
  • DES ja Triple DES
  • IDEA
  • LOKI ja niin edelleen

14) Selitä, mitä eroa on algoritmin parhaan ja pahimman skenaarion välillä?

  • Paras tapaus: Algoritmin paras skenaario selitetään tietojen järjestelynä, jolle algoritmi toimii parhaiten. Suoritamme esimerkiksi binaarihaun, jolle paras tapaus olisi, jos kohdearvo olisi haettavien tietojen keskellä. Paras tapauksen aika monimutkaisuus olisi 0 (1)
  • Pahimmassa tapauksessa: Siihen viitataan tietyn algoritmin huonoimman syötejoukon osalta. Esimerkiksi pikalajittelu, joka voi toimia huonoimmin, jos valitset aliluettelon suurimman tai pienimmän elementin pivot-arvoksi. Se saa pikalajittelun rappeutumaan O:ksi (n2).

15) Selitä mikä on Radix Sort -algoritmi?

Radix-lajittelu asettaa elementin järjestykseen vertaamalla numeroiden numeroita. Se on yksi lineaarisista kokonaislukujen lajittelualgoritmeista.


16) Selitä mikä on rekursiivinen algoritmi?

Rekursiivinen algoritmi on menetelmä monimutkaisen ongelman ratkaisemiseksi jakamalla ongelma pienempiin ja pienempiin osaongelmiin, kunnes ongelma on tarpeeksi pieni, jotta se voidaan ratkaista helposti. Yleensä se sisältää toiminnon calling itself.


17) Mainitse mitkä ovat rekursioalgoritmin kolme lakia?

Kaikkien rekursiivisten algoritmien on noudatettava kolmea lakia

  • Siinä pitäisi olla peruskotelo
  • Rekursiivisen algoritmin on kutsuttava itseään
  • Rekursiivisen algoritmin tulee muuttaa tilaansa ja siirtyä kohti perustapausta

18) Selitä mikä on kuplalajittelualgoritmi?

Bubble lajittelualgoritmi kutsutaan myös uppoavaksi lajitteluksi. Tämäntyyppisessä lajittelussa lajiteltava lista vertaa vierekkäisten kohteiden paria. Jos ne on järjestetty väärään järjestykseen, se vaihtaa arvot ja järjestää ne oikeaan järjestykseen.

Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)