Tekniset haastattelut tunnetaan palapeleistään. Pitäisikö sinun valmistautua tekniseen ohjelmointikysymykseen keskimääräisessä haastattelussa riippumatta siitä, pyydetäänkö sinua kirjoittamaan binaaripuu taululle, selittämään lajittelualgoritmi tai ottamaan FizzBuzz käyttöön enintään 10 rivillä.
Mutta se ei ole ainoa asia, johon sinun pitäisi varautua.
Todellisuus on, että monet kehittäjät pystyvät ratkaisemaan yleiset ohjelmointihaastattelukysymykset vastauksen välillä vain vähän. Joten mikä erottaa sinut seuraavasta ehdokkaasta? Juuri siihen keskitymme näissä viidessä vinkissä.
1. Keskustele perustelu- ja ongelmanratkaisuprosessisi
Pahin asia, jonka voit tehdä, kun kysyt vaikealta, on mennä täysin sanattomaksi. Valitettavasti se on erittäin helppo tehdä tämä onnettomuudessa. Kun kohtaat ongelman, joka vaatii merkittävää mielenterveyttä ja keskittymistä, on todennäköistä, että ensimmäinen taipumus on vetäytyä mieleesi. Vaikka tämä on luonnollista, se ei myöskään ole kovin hyödyllinen haastattelijalle.
Osittain teknisten kysymysten tarkoituksena on paljastaa miten ajattelet ongelmien ratkaisemista. Mikä on prosessisi? Kuinka hajotat eri komponentit? Kuinka pääset ratkaisuun? Kuinka reagoit yrittäessäsi jotain, joka ei toimi? Oletko parempi kokeilemaan koodia tai luonnostelemaan jotain taululle?
Selitä, mitä tapahtuu päässäsi ongelman ratkaisiessa. Toimi kuin äänittäessäsi ääntäsi julkaistaksesi verkossa opettaaksesi muille, miten tämä ongelma ratkaistaan. Vaikka haastattelijat antavat sinulle tilaa ajatella hiljaa, saatat hyötyä selittämällä ajatteluprosessiasi ilman, että he kehottaisi sinua tekemään niin. Tämä ei vain auttaa heitä ymmärtämään taitojasi ja kriittistä ajatteluasi perusteellisemmin, mutta myös tekee sinusta mieleenpainuvamman.
2. Mikä on parempi kuin ongelman ratkaiseminen teknisessä haastattelussa? Ratkaisu kahdesti
Hyvin harvoilla ongelmilla on vain yksi ratkaisu, ja kaikilla ongelmilla on ääretön virheellisiä ratkaisuja. Joten jos keskityt vain yhteen tapaan ratkaista ongelma, kadotat suuren mahdollisuuden todistaa joustavuutesi ja taidot.
Sen sijaan, että käydä vain tunnetun ratkaisun kanssa tai työskennellä yhdellä kielellä, avaa keskustelu kyseisestä ongelmasta ja ratkaise se erilaisissa tilanteissa. Esimerkiksi, jos sinua pyydetään ohjelmoimaan FizzBuzz, saatat tarjota niin kahdella kielellä tai käyttämällä kahta erilaista paradigmaa tai ehkä ottamalla joitain suoritusrajoituksia yhdelle ratkaisulle ja esteettisiä rajoituksia toiselle.
Vahvistamalla, että ongelmalla voi olla useita ratkaisuja, osoitat sopeutumiskykysi, joustavasi ja tietoisuutesi, jotka kaikki lisäävät haastattelijoihisi luottamusta siihen, että pystyt valitsemaan oikean ratkaisun monien mahdollisuuksien joukosta.
Älä tietenkään mene yli laidan - lukeminen on taitoa, kun kysymykseen vastaaminen useilla ratkaisuilla on ylenmääräistä tai onnellista tervetullutta. Jos olet epävarma, älä pelkää kysyä haastattelijoilta, ovatko he mielessä, jos sinulla on jonkin aikaa laajentaa ratkaisuasi toissijaisella vaihtoehdolla.
3. Älä pelkää jakaa mielipiteitäsi tarvittaessa
Joskus kun käsittelet ongelmia, teet päätöksiä, jotka perustuvat täysin omaan makuusi ja mielipiteesi. Ja se ei hätää - työnantajat ovat kiinnostuneita mielipiteestäsi! Tapa ajatella ja reagoida tilanteisiin tekee suuren vaikutuksen yrityksen kulttuuriin. Lausunnon antaminen on myös merkki johtajuudesta ja teknisestä kypsyydestä kehittäjänä. Keskustelu mielipiteistasi edellyttää, että olet arvioinut muut kannat tietystä aiheesta.
Muista kuitenkin, että mielipiteitä voidaan pitää erittäin tiiviisti. Jos olet eri mieltä haastattelijasta tietystä aiheesta, astu kevyesti jakaessasi näitä tietoja. Vaikka on hyvä olla näkökulmasta, on myös tärkeää huomata, että sen jakaminen ei ole aina välttämätöntä ja osaa valita taistelut. Hyvä nyrkkisääntö: Älä jaa mielipiteesi, ellei sinua pyydetä.
4. Älä koskaan lopeta vastausta sanalla "En tiedä"
Ellet kohtaa "Kobayashi Maru" -skenaariota, älä koskaan lopeta haastattelukysymystä kohdalla "En tiedä". Se ei ole vaihtoehto työssä, joten sen ei pitäisi olla vaihtoehto haastattelussa.
En tietenkään sano, että sinun pitäisi tietää kaikki. Se on mahdotonta! Mutta sinun pitäisi osoittaa, että sinulla on strategia oppia sitä, mitä sinun on tiedettävä työn suorittamiseksi. Kokeile vastata "En tiedä miten tehdä se, mutta näin toimisin keksimään sen." Tämän vastauksen pitäisi mennä pidemmälle kuin vain sanoa "Olisin Googlelle". Sinun on parempi selittää todennäköisin suunta, jota tutkit.
Ennen kaikkea, älä häpeä! Oppiminen on suurelta osin prosessi selvittää asiat, joita et tiedä. Työnantajasi ei odota sinun olevan täydellinen, mutta he odottavat sinulta ahkeruuden ja älykkyyden etkä koskaan lopeta ongelmaa.
5. Pelaa aina joukkueelle
Ellet ole freelance-kehittäjä, työsi asetetaan aina joukkueen yhteyteen, ja joukkueen menestys on aina ensiarvoisen tärkeä omaasi kohden. Joten haastattelusi tulisi heijastaa sitä, että et ole kiinnostunut vain tietyn päivän ongelmien ratkaisemisesta, vaan että olet keskittynyt tekemään kaiken tarvittavan ryhmän menestymiseksi.
Joten miten voit kommunikoida tästä haastattelussa?
Älä koskaan keskustele ongelmista ikään kuin ne olisivat tyhjiössä
Melkein missä tahansa projektissa olisi käytännössä resurssivaatimuksia ja rajoituksia, joten osoita tietoisuus ongelman tilanteesta. Hyvin ratkaistu, mutta budjetin ylittänyt ongelma ei ole todella paras ratkaisu.
Näytä tietoisuus asiantuntemuksesta olemassa olevassa tiimissä
Joskus paras vastaus kysymykseen on pyytää muita ryhmäsi jäseniä tekemään yhteistyötä kanssanne, ja voit kertoa niille ihmisille teknisissä kysymyksissä: ”Jos minulle esitetään tämä ongelma tiimimme yhteydessä, pyydän todennäköisesti tarkistamaan samoin ratkaisuni. ”Tämä osoittaa, että olet valmis luottamaan muiden asiantuntemukseen ja että tavoitteesi on päästä parhaaseen ratkaisuun.
Kommunikoi tiimisi ohjaamat arvot suoraan
Tämä on tarpeeksi tärkeä asia, että sinun pitäisi tulla suoraan esiin ja sanoa se. Haluat varmistaa, että työnantajasi ovat täysin tietoisia siitä, että tavoitteesi on auttaa yritystä menestymään, ei vain istua pöydälläsi ja koodata koko päivän.
Viime kädessä sinun tehtäväsi kehittäjänä ei ole vain koodata. Sen on oltava joukkuepelaaja, johtaja ja joku, joka ei ole koskaan valmis lopettamaan ongelmaa. Teknisen haastattelun tarjoamien mahdollisuuksien tarkoituksena ei ole vain osoittaa, että pystyt saavuttamaan tavoitteet tai kirjoittaa algoritmeja, vaan myös asettaa itsesi kilpailun yläpuolelle ja osoittaa työnantajalle lisäämäsi arvo.