Yleisimmät Data Science -haastattelukysymykset ja vastaukset

Lähdesolmu: 1860815

Hopea blogiYleisimmät Data Science -haastattelukysymykset ja vastaukset

Analysoituamme yli 900 yritysten tiedontutkimushaastattelukysymystä viime vuosien aikana, yleisimmät datatieteen haastattelukysymysten luokat tarkastellaan tässä oppaassa, joista kukin selitetään esimerkillä.


By Nate Rosidi, tietotutkija ja tuotepäällikkö.

Datatieteilijäksi tulemista pidetään arvostettuna ominaisuutena. Vuonna 2012 Harvard Business Review kutsui "datatieteilijää" 21-luvun seksikkäimmäksi työksi, ja alan kasvava roolitrendi näyttää vahvistavan tämän väitteen. Glassdoorin tiedot osoittavat, että tämän seksikkyyden jatkuminen on toiseksi paras työ Amerikassa vuonna 2021.

Lähde: Glassdoor.

Saadaksesi näin arvostetun työn, sinun on käytävä läpi tiukat työhaastattelut. Datatieteen kysymykset voivat olla hyvin laajoja ja monimutkaisia. Tämä on odotettavissa, koska datatieteilijän rooli sisältää yleensä niin monia alueita. Auttaakseni sinua valmistautumaan datatieteen työhaastatteluihin olen käynyt läpi kaikki soveltuvat kysymykset ja jakanut ne eri kysymyskategorioihin. Näin tein sen.

Analyysin kuvaus ja metodologia

Keräsin tietoja erilaisilta työnhakutauluilta ja verkkosivustoilta sekä yritysarviointialustoista, kuten Glassdoor, Indeed, Reddit ja Blind App. Tarkemmin sanottuna viimeisten neljän vuoden aikana on kerätty 903 kysymystä.

Kysymykset on jaettu ennalta määrättyihin luokkiin. Nämä luokat ovat tulos lähteistämme otetun haastattelukokemuksen kuvauksen asiantuntija-analyysistä.

Luokat ovat:

  1. Koodaus
  2. mallinnus
  3. Algoritmit
  4. tilastotiedot
  5. Todennäköisyys
  6. Tuotteet
  7. Business case
  8. Järjestelmäsuunnittelu
  9. Tekninen

Millaisia ​​haastattelukysymyksiä sinun pitäisi odottaa?

Tämä kaavio näyttää kysymystyypin kategorioittain kerättyjen tietojen mukaan.

Prosentteiksi käännettynä kaavio näyttää tältä:

Kuten näette, koodaus- ja mallintamiskysymykset ovat hallitsevimpia. Yli puolet kaikista kysymyksistä tulee tältä alueelta. Se ei ole yllättävää, kun sitä ajattelee. Koodaus ja mallintaminen ovat luultavasti kaksi tärkeintä taitoa datatieteilijälle. Koodaustyyppiset kysymykset ovat yleisiä, ja ne kattavat yli kolmanneksen kaikista kysymyksistä. Muut kysymystyypit, kuten algoritmit ja tilastot, ovat myös melko merkittäviä; 24 % kaikista kysymyksistä tulee näistä kahdesta kategoriasta. Muut luokat eivät ole edustettuina. Pidän sitä järkevänä, kun otetaan huomioon datatutkijan roolin luonne.

Nyt haluan opastaa sinua jokaisen kysymysluokan läpi ja näyttää esimerkkejä kysytyistä kysymyksistä.

Testatuimmat käsitteet datatieteen haastattelukysymyksissä

Koodaus

Kuten jo huomasit, koodauskysymykset ovat datatieteen tärkein yksittäinen aihe. Tällaiset kysymykset edellyttävät jonkinlaista tietojen käsittelyä koodin avulla oivallusten tunnistamiseen. Kysymykset on suunniteltu testaamaan koodauskykyä, ongelmanratkaisutaitoja ja luovuutta. Yleensä teet sen tietokoneella tai taululla.

Esimerkki koodaushaastattelukysymyksestä

yksi esimerkki Microsoftilta onko tämä:

KYSYMYS: "Laske uusien ja olemassa olevien käyttäjien osuus. Anna kuukausi, uusien käyttäjien osuus ja nykyisten käyttäjien osuus suhdelukuna. Uudet käyttäjät määritellään käyttäjiksi, jotka ovat alkaneet käyttää palveluita kuluvan kuukauden aikana. Nykyiset käyttäjät ovat käyttäjiä, jotka ovat alkaneet käyttää palveluita kuluvan kuukauden aikana ja käyttäneet palveluita edellisenä kuukautena. Oletetaan, että päivämäärät ovat kaikki vuodelta 2020.

Tulet käyttämään pöytää tosiasiat_tapahtumat, jossa näytetiedot näyttävät tältä:

Saadaksesi halutun tulosteen sinun tulee kirjoittaa tämä koodi:

with all_users as ( SELECT date_part('month', time_id) AS kuukausi, count(DISTINCT user_id) as all_users FROM fact_events GROUP BY month), new_users as ( SELECT date_part('month', new_user_start_date) AS kuukausi, count(DISTINCT user_id) uusina_käyttäjinä FROM (SELECT user_id, min(time_id) uuden_käyttäjän_aloituspäivänä FROM fact_events GROUP BY user_id) sq GROUP BY month ) SELECT au.month, uudet_käyttäjät / all_users::decimal as share_new_users, 1- (new_users_s share_asexmal_users)::kaikkien_käyttäjät) FROM all_users au JOIN new_users nu ON nu.month = au.month 

Koodin kirjoittaminen SQL:llä on useimmin testattu konsepti koodauksen suhteen. Ei ole yllätys, sillä SQL on ollut eniten käytetty työkalu datatieteessä. Yksi käsitteistä, jota et melkein voi välttää haastatteluissa, on liitokset. Varmista siis, että tiedät eron eri liitosten välillä ja kuinka niitä käytetään saadaksesi halutun tuloksen.

Voit myös odottaa ryhmittelevän tietoja GROUP BY -lausekkeen avulla hyvin usein. Jotkut muut käsitteet, joita yleensä kysytään, ovat tietojen suodattaminen WHERE- ja/tai HAVING-lausekkeen avulla. Sinua pyydetään myös valitsemaan erillisiä tietoja. Varmista myös, että tunnet koontifunktiot, kuten SUM(), AVG(), COUNT(), MIN(), MAX().

Jotkut käsitteet eivät esiinny kovin usein, mutta ne kannattaa mainita ja varautua tällaisiin kysymyksiin. Esimerkiksi yhteiset taulukkolausekkeet tai CTE:t ovat yksi tällainen aihe. Toinen on CASE()-lause. Älä myöskään unohda päivittää muistiasi merkkijonotietotyyppien ja -päivämäärien käsittelyssä.

Modeling

Mallintaminen oli tutkimustiedoissamme toiseksi suurin kategoria, ja 20 % kaikista kysymyksistä tuli täältä. Nämä kysymykset on suunniteltu testaamaan tietosi tilastollisten mallien rakentamisesta ja koneoppimismallien toteuttamisesta.

Mallihaastattelukysymyksen esimerkki

Regressio, yleisin haastatteluissa kysytty teknisen datatieteen käsite. Se ei ole yllättävää, kun otetaan huomioon tilastollisen mallinnuksen luonne.

yksi esimerkki Galvanizesta olisi seuraava:

KYSYMYS: "Mitä on regularisointi regressiossa?"

Näin voit vastata tähän kysymykseen:

VASTAUS: "Regulaatio on erityinen regression tyyppi, jossa kerroinestimaatit on rajoitettu (tai regularisoitu) nollaan. Näin voidaan pienentää mallin varianssia ja samalla pienentää näytteenottovirhettä. Säännöllistämistä käytetään ylisovituksen välttämiseen tai vähentämiseen. Ylisovitus tapahtuu, kun malli oppii harjoitustiedot niin hyvin, että se heikentää mallin suorituskykyä uudella datalla. Yliasennusten välttämiseksi käytetään yleensä Ridge- tai Lasso-regulaatioita.

Jotkut säännöllisesti testatuista käsitteistä ovat jälleen muita regressioanalyysin käsitteitä, kuten logistinen regressio, Bayesin logistinen regressio ja naiivit Bayes-luokittimet. Voit myös kysyä satunnaisista metsistä sekä mallien testaamisesta ja arvioinnista.

Algoritmit

Algoritmeja koskevat kysymykset ovat kaikki kysymyksiä, jotka edellyttävät matemaattisen ongelman ratkaisemista, pääasiassa koodin avulla käyttämällä jotakin ohjelmointikieliä. Nämä kysymykset sisältävät vaiheittaisen prosessin, joka vaatii yleensä säätöä tai laskentaa vastauksen tuottamiseksi. Nämä kysymykset testaavat perustiedot ongelmanratkaisusta ja tietojen käsittelystä, joita voidaan toteuttaa monimutkaisiin työtehtäviin.

Algoritmin haastattelukysymyksen esimerkki

Eniten algoritmien alla testattu tekninen konsepti on matemaattisen tai syntaksiongelman ratkaiseminen ohjelmointikielellä.

Tässä on yksi esimerkki löytyy Leetcodesta:

KYSYMYS: "Sinulle annetaan kaksi ei-tyhjää linkitettyä luetteloa, jotka edustavat kahta ei-negatiivista kokonaislukua. Numerot tallennetaan käänteisessä järjestyksessä, ja jokainen niiden solmu sisältää yhden numeron. Lisää kaksi numeroa ja palauta summa linkitettynä luettelona."

Esimerkki tiedoista voisi olla jotain tällaista:

Lähde: Leetcode.

VASTAUS: Javalla kirjoitetun koodin tulee olla:

public ListSolmu addTwoNumbers(ListSolmu l1, ListSolmu l2) { ListSolmu dummyHead = new ListNode(0); ListSolmu p = l1, q = l2, curr = dummyHead; int carry = 0; while (p != null || q != null) { int x = (p != null) ? p.val: 0; int y = (q != null) ? q.val: 0; int summa = kuljettaa + x + y; kantaa = summa / 10; curr.next = new ListSolmu(summa % 10); curr = curr.seuraava; if (p != null) p = p.seuraava; jos (q != null) q = q.seuraava; } if (carry > 0) { curr.next = new ListNode(carry); } return dummyHead.next; } 

Muita tämäntyyppisillä kysymyksillä usein testattuja yleisiä käsitteitä ovat taulukot, dynaaminen ohjelmointi, merkkijonot, ahne algoritmi, syvällinen haku, puu, hash-taulukko ja binäärihaku.

tilastotiedot

Tilastohaastattelukysymykset ovat tilastoteorian ja siihen liittyvien periaatteiden tuntemusta testaavia kysymyksiä. Näillä kysymyksillä pyritään selvittämään, kuinka perehtynyt olet tietotieteen teoreettisiin periaatteisiin. Tärkeää on kyky ymmärtää tehtävien analyysien teoreettinen ja matemaattinen tausta. Vastaa näihin kysymyksiin hyvin, ja jokainen haastattelija arvostaa sinua.

Tilastohaastattelun kysymysesimerkki

Eniten mainittu tekninen konsepti on näytteenotto ja jakelu. Datatieteilijälle tämä on yksi yleisimmin käytetyistä tilastoperiaatteista, joita datatieteilijä toteuttaa päivittäin.

Esimerkiksi haastattelukysymys IBM:ltä kysyy:

KYSYMYS: "Mikä on esimerkki tietotyypistä, jonka jakauma ei ole Gaussinen?"

Vastataksesi kysymykseen, voit ensin määritellä Gaussin jakauman. Sitten voit seurata tätä antamalla esimerkkejä ei-Gaussin jakaumasta. Jotain tällaista:

VASTAUS: ”Gaussin jakauma on jakauma, josta tiedosta löytyy tietty tiedossa oleva prosenttiosuus, kun tutkitaan keskihajontoja eli normaalijakaumaa. Jotkut esimerkit ei-Gaussin jakaumasta voivat olla eksponentiaalinen jakauma tai binomijakauma.

Kun valmistaudut työhaastatteluun, varmista, että käsittelet myös seuraavat aiheet: varianssi ja keskihajonta, kovarianssi ja korrelaatio, p-arvo, keskiarvo ja mediaani, hypoteesien testaus ja Bayesin tilastot. Nämä ovat kaikki käsitteitä, joita tarvitset datatieteilijänä, joten odota niitä myös työhaastatteluissa.

Todennäköisyys

Nämä kysymykset vaativat teoreettista tietoa vain todennäköisyyskäsitteistä. Haastattelijat esittävät nämä kysymykset saadakseen syvän käsityksen tietämyksestäsi menetelmistä ja todennäköisyyden käyttötavoista työpaikalla tavallisesti suoritettavien monimutkaisten tietotutkimusten suorittamiseen.

Esimerkki todennäköisyyshaastattelun kysymykseen

On erittäin todennäköistä, sanapelin tarkoitus, että sinun tehtäväsi on laskea todennäköisyys saada tietty kortti/numero noppien/korttien joukosta. Tämä näyttää olevan yleisin kyseenalaistuksen elementti useimmissa tutkimuksessamme olevissa yrityksissä, koska monet niistä ovat esittäneet tämäntyyppisiä kysymyksiä.

Esimerkki sellaisesta todennäköisyyskysymys Facebookista:

KYSYMYS: "Millä todennäköisyydellä saadaan pari vetämällä kaksi korttia erikseen 52 kortin pakassa?"

Näin voit vastata tähän:

VASTAUS: ”Tämä ensimmäinen kortti, jonka vedät, voi olla mikä tahansa, joten se ei vaikuta tulokseen muuten kuin että pakassa on yksi kortti vähemmän jäljellä. Kun ensimmäinen kortti on vedetty, pakassa on jäljellä kolme korttia, jotka voidaan vetää parin saamiseksi. Joten mahdollisuus saada ensimmäinen korttisi yhteen parin kanssa on 3/51 (jäljellä olevat kortit). Tämä tarkoittaa, että tämän tapahtuman todennäköisyys on 3/51 tai 5.89 %.”

Koska tämä on eräänlainen "erikoistunut" kysymys, joka käsittelee vain todennäköisyyttä, muita käsitteitä ei kysytä. Ainoa ero on siinä, kuinka mielikuvituksellinen kysymys on. Mutta periaatteessa sinun on aina laskettava jonkin tapahtuman todennäköisyys ja näytettävä ajatuksesi.

Tuotteet

Tuotehaastattelukysymyksissä sinua pyydetään arvioimaan tuotteen/palvelun suorituskykyä tietojen avulla. Nämä kysymykset testaavat tietosi datatieteen periaatteiden mukauttamisesta ja käyttämisestä missä tahansa ympäristössä, kuten päivittäisessä työssä.

Esimerkki tuotehaastattelukysymyksestä

Näkyvin tekninen konsepti tässä kategoriassa on yrityksen tuotteen tunnistaminen ja parannusten ehdottaminen datatieteilijän näkökulmasta. Tuotepuolella testattujen teknisten konseptien suuri vaihtelu selittyy tuotekysymysten luonteella ja niihin vastaamisen vaatimalla korkeammalla luovuudella.

Esimerkki tuotekysymys Facebookista olisi:

KYSYMYS: "Mikä on suosikki Facebook-tuotteesi, ja miten parantaisit sitä?"

VASTAUS: Kysymyksen luonteesta johtuen annamme sinun vastata tähän itse.

Testatut yleiset käsitteet riippuvat suuresti sinua haastattelevasta yrityksestä. Varmista vain, että olet perehtynyt yrityksen liiketoimintaan ja sen tuotteisiin (ihannetapauksessa olet myös heidän käyttäjänsä), niin kaikki menee hyvin.

Business Case

Tämä luokka sisältää tapaustutkimuksia ja liiketoimintaan liittyviä yleisiä kysymyksiä, jotka testaavat datatieteen taitoja. Näihin kysymyksiin vastaamisen osaamisen merkitys voi olla valtava, koska jotkut haastattelijat haluaisivat ehdokkaiden tietävän, kuinka datatieteen periaatteita voidaan soveltaa yrityksen erityisongelmien ratkaisemiseen ennen heidän palkkaamistaan.

Esimerkki bisnestapauksesta

Kysymystyypin luonteesta johtuen en pystynyt tunnistamaan yhtäkään teknistä konseptia, joka erottuisi joukosta. Koska suurin osa tähän luokitelluista kysymyksistä on tapaustutkimuksia, ne ovat tietyllä tavalla ainutlaatuisia.

Tässä on kuitenkin esimerkki a Business case -kysymys Uberilta:

KYSYMYS: "On joukko ihmisiä, jotka ottivat Uber-ajeluja kahdesta lähellä sijaitsevasta kaupungista, esimerkiksi Menlo Parkista ja Palo Altosta, ja mitä tahansa tietoa voisi kerätä. Mitä tietoja keräisit, jotta voitaisiin määrittää kaupunki, josta matkustaja kyytiin lähti?

VASTAUS: "Kaupungin määrittämiseksi meillä on oltava pääsy sijaintiin/maantieteellisiin tietoihin. Kerätyt tiedot voivat olla GPS-koordinaatteja, pituus/leveysaste ja postinumero.

System Design

Järjestelmäsuunnittelukysymykset ovat kaikki teknologiajärjestelmien suunnitteluun liittyviä kysymyksiä. Heitä pyydetään analysoimaan ehdokkaan prosessia ongelmien ratkaisemisessa, luomisessa ja suunnittelussa asiakkaita/asiakkaita auttamaan. Järjestelmäsuunnittelun tunteminen voi olla varsin tärkeää datatieteilijälle; vaikka roolisi ei ole järjestelmän suunnittelu, näytät todennäköisesti roolia vakiintuneessa järjestelmässä ja sinun on tiedettävä, kuinka se toimii, jotta voit tehdä työsi.

Esimerkki järjestelmäsuunnittelun haastattelukysymyksestä

Nämä kysymykset kattavat erilaisia ​​aiheita ja tehtäviä. Mutta se, joka erottuu, on tietokannan rakentaminen. Tietojen tutkijat käsittelevät päivittäin paljon tietokantoja, joten on järkevää kysyä tämä kysymys nähdäksesi, voitko rakentaa tietokannan tyhjästä.

Tässä on yksi Kysymysesimerkki Audiblesta tutkimuksessamme paljastuneet:

KYSYMYS: "Voitko opastaa meitä, kuinka rakentaisit suositusjärjestelmän?"

VASTAUS: Koska tähän kysymykseen on olemassa niin erilaisia ​​lähestymistapoja, jätämme sinun keksimään oman tapasi rakentaa sellainen.

Jälleen kerran näihin kysymyksiin vastaamiseksi on välttämätöntä tuntea yrityksen liiketoiminta. Ajattele hieman tietokantoja, joita yritys todennäköisesti tarvitsee, ja yritä tarkentaa lähestymistapaasi hieman ennen haastattelua.

Tekninen

Tekniset kysymykset ovat kaikki kysymyksiä, joita kysytään tietotekniikan erilaisten teknisten käsitteiden selityksestä. Tekniset kysymykset ovat teoreettisia ja edellyttävät yrityksessäsi käyttämäsi tekniikan tuntemusta. Luonteesta johtuen ne voivat näyttää samanlaisilta kuin koodauskysymykset. Tekemäsi teorian tunteminen on varsin tärkeää, joten haastatteluissa voidaan usein esittää teknisiä kysymyksiä.

Esimerkki teknisestä haastattelukysymyksestä

Testatuin alue on Pythonin ja SQL:n teoreettinen tuntemus. Ei ole yllättävää, koska nämä kaksi kieltä ovat hallitsevia tietotieteessä, yhdessä R:n kanssa, joka täydentää Pythonia.

Esimerkki tosielämän tekninen kysymys Walmartilta olisi:

KYSYMYS: "Mitkä ovat Pythonin tietorakenteet?"

VASTAUS: ”Tietorakenteita käytetään tiedon tallentamiseen. Pythonissa on neljä tietorakennetta: List, Dictionary, Tuple ja Set. Nämä ovat sisäänrakennettuja tietorakenteita. Listoja käytetään sellaisten luetteloiden luomiseen, jotka voivat sisältää erityyppisiä tietoja. Sanakirja on pohjimmiltaan joukko avaimia; niitä käytetään arvon tallentamiseen avaimella ja tietojen hankkimiseen samalla avaimella. Tuples ovat samat kuin listat. Erona on, että tuplessa tietoja ei voi muuttaa. Joukko sisältää järjestämättömät elementit ilman kaksoiskappaleita. Sisäänrakennettujen tietorakenteiden lisäksi on olemassa myös käyttäjän määrittämiä tietorakenteita."

Nämä ovat kaiken tyyppisiä kysymyksiä. Se on luokka kaikille kysymyksille, jotka eivät mahdu puhtaasti muihin luokkiin. Tästä johtuen ei ole olemassa erityisiä käsitteitä, joita esiintyy useammin tai harvemmin.

Yhteenveto

Tämä datatieteen haastatteluopas on kirjoitettu tukemaan tutkimusta, jonka tarkoituksena on ymmärtää datatieteen haastattelussa esitettävien kysymysten tyypit. Haastattelukysymysten tiedot otetaan kymmeniltä yrityksiltä neljän vuoden ajalta ja analysoidaan. Kysymykset on luokiteltu yhdeksään eri kysymystyyppiin (algoritmit, liiketoimintatapaus, koodaus, mallintaminen, todennäköisyys, tuote, tilastot, järjestelmäsuunnittelu ja tekniset kysymykset).

Osana analyysiä puhuin joistakin yleisimmistä teknisistä käsitteistä kustakin kysymystyyppiluokasta. Esimerkiksi eniten kysytyt tilastokysymykset liittyvät otanta- ja jakeluun. Jokaista kysymysluokkaa tukee yksi käytännön esimerkki todellisesta kysymyksestä.

Artikkeli on tarkoitettu toimimaan tärkeänä oppaana haastatteluun valmistautumiseen tai yksinkertaisesti tietotieteen oppimiseen. Toivon, että olen auttanut sinua tuntemaan olosi mukavammaksi datatieteen haastatteluprosessissa. Onnea haastatteluihin!

Alkuperäinen. Postitettu luvalla.

Related:

Lähde: https://www.kdnuggets.com/2021/08/common-data-science-interview-questions-answers.html

Aikaleima:

Lisää aiheesta KDnuggets