Saturs[Paslēpt][Rādīt]
- 1. Kas īsti ir dziļā mācīšanās?
- 2. Kas atšķir dziļo mācīšanos no mašīnmācīšanās?
- 3. Kāda ir jūsu pašreizējā izpratne par neironu tīkliem?
- 4. Kas īsti ir perceptrons?
- 5. Kas īsti ir dziļais neironu tīkls?
- 6. Kas īsti ir daudzslāņu perceptrons (MLP)?
- 7. Kāds ir aktivizācijas funkciju mērķis neironu tīklā?
- 8. Kas īsti ir gradienta nolaišanās?
- 9. Kas īsti ir izmaksu funkcija?
- 10. Kā dziļie tīkli var pārspēt seklos tīklus?
- 11. Aprakstiet izplatīšanos uz priekšu.
- 12. Kas ir atpakaļpavairošana?
- 13. Kā jūs saprotat gradienta izgriešanu dziļās mācīšanās kontekstā?
- 14. Kādas ir Softmax un ReLU funkcijas?
- 15. Vai neironu tīkla modeli var apmācīt, ja visi svari ir iestatīti uz 0?
- 16. Kas atšķir laikmetu no partijas un iterācijas?
- 17. Kas ir partijas normalizēšana un izbeigšana?
- 18. Kas atdala stohastiskā gradienta nolaišanos no pakešgradienta nolaišanās?
- 19. Kāpēc ir ļoti svarīgi neironu tīklos iekļaut nelinearitātes?
- 20. Kas ir dziļās mācīšanās tensors?
- 21. Kā jūs izvēlētos aktivizēšanas funkciju dziļās mācīšanās modelim?
- 22. Ko tu domā ar CNN?
- 23. Kādi ir daudzie CNN slāņi?
- 24. Kādas ir pārmērīgas un nepietiekamas aprīkošanas sekas, un kā jūs varat no tām izvairīties?
- 25. Kas ir RNN dziļajā izglītībā?
- 26. Aprakstiet Adam optimizētāju
- 27. Dziļie autokoderi: kas tie ir?
- 28. Ko Tensorflow nozīmē Tensor?
- 29. Skaitļošanas grafika skaidrojums
- 30. Ģeneratīvie pretrunīgie tīkli (GAN): kas tie ir?
- 31. Kā jūs izvēlēsieties neironu un slēpto slāņu skaitu, ko iekļaut neironu tīklā, veidojot arhitektūru?
- 32. Kādus neironu tīklus izmanto dziļās pastiprināšanas mācībās?
- Secinājumi
Padziļināta mācīšanās nav pilnīgi jauna ideja. Mākslīgie neironu tīkli kalpo kā vienīgais pamats mašīnmācības apakškopai, kas pazīstama kā dziļā mācīšanās.
Dziļā mācīšanās ir cilvēka smadzeņu imitācija, tāpat kā neironu tīkli, jo tie tika izveidoti, lai atdarinātu cilvēka smadzenes.
Tas ir bijis kādu laiku. Mūsdienās visi par to runā, jo mums nav gandrīz tik daudz apstrādes jaudas vai datu kā tagad.
Pēdējo 20 gadu laikā apstrādes jaudas dramatiskā pieauguma rezultātā ir parādījusies dziļa mācīšanās un mašīnmācīšanās.
Lai palīdzētu jums sagatavoties jautājumiem, ar kuriem jūs varētu saskarties, meklējot savu sapņu darbu, šī ziņa palīdzēs jums atrisināt vairākus dziļas mācīšanās intervijas jautājumus, sākot no vienkāršiem līdz sarežģītiem.
1. Kas īsti ir dziļā mācīšanās?
Ja jūs apmeklējat a dziļa mācīšanās intervija, jūs neapšaubāmi saprotat, kas ir dziļa mācīšanās. Intervētājs tomēr sagaida, ka, atbildot uz šo jautājumu, jūs sniegsiet detalizētu atbildi kopā ar ilustrāciju.
Lai trenētos neironu tīkli dziļai apguvei ir jāizmanto ievērojams daudzums organizētu vai nestrukturētu datu. Lai atrastu slēptos modeļus un īpašības, tas veic sarežģītas procedūras (piemēram, atšķir kaķa tēlu no suņa tēla).
2. Kas atšķir dziļo mācīšanos no mašīnmācīšanās?
Kā mākslīgā intelekta nozare, kas pazīstama kā mašīnmācīšanās, mēs apmācām datorus, izmantojot datus un statistikas un algoritmiskās metodes, lai tie laika gaitā kļūtu labāki.
Kā aspekts mašīna mācīšanās, dziļa mācīšanās imitē neironu tīkla arhitektūru, kas redzama cilvēka smadzenēs.
3. Kāda ir jūsu pašreizējā izpratne par neironu tīkliem?
Mākslīgās sistēmas, kas pazīstamas kā neironu tīkli, ļoti līdzinās organiskajiem neironu tīkliem, kas atrodami cilvēka ķermenī.
Izmantojot paņēmienu, kas līdzinās tam, kā cilvēka smadzenes funkcijas, neironu tīkls ir algoritmu kopums, kura mērķis ir identificēt datu pamatā esošās korelācijas.
Šīs sistēmas iegūst ar uzdevumiem saistītas zināšanas, pakļaujot sevi dažādām datu kopām un piemēriem, nevis ievērojot uzdevumus specifiskus noteikumus.
Ideja ir tāda, ka tā vietā, lai iepriekš ieprogrammētu izpratni par šīm datu kopām, sistēma iemācās atšķirt raksturlielumus no ievadītajiem datiem.
Trīs tīkla slāņi, kas visbiežāk tiek izmantoti neironu tīklos, ir šādi:
- Ievades slānis
- Slēpts slānis
- Izvades slānis
4. Kas īsti ir perceptrons?
Cilvēka smadzenēs atrodamais bioloģiskais neirons ir salīdzināms ar perceptronu. Perceptrons saņem vairākas ievades, kas pēc tam veic daudzas transformācijas un funkcijas un rada izvadi.
Binārajā klasifikācijā tiek izmantots lineārs modelis, ko sauc par perceptronu. Tas simulē neironu ar dažādām ieejām, katrai no tām ir atšķirīgs svars.
Neirons aprēķina funkciju, izmantojot šīs svērtās ievades, un izvada rezultātus.
5. Kas īsti ir dziļais neironu tīkls?
Dziļais neironu tīkls ir mākslīgs neironu tīkls (ANN) ar vairākiem slāņiem starp ievades un izvades slāņiem (DNN).
Dziļie neironu tīkli ir dziļas arhitektūras neironu tīkli. Vārds “dziļi” attiecas uz funkcijām ar daudziem līmeņiem un vienībām vienā slānī. Precīzākus modeļus var izveidot, pievienojot vairāk un lielākus slāņus, lai attēlotu lielākus rakstu līmeņus.
6. Kas īsti ir daudzslāņu perceptrons (MLP)?
Ievades, slēptie un izvades slāņi atrodas MLP, līdzīgi kā neironu tīklos. Tas ir uzbūvēts līdzīgi kā viena slāņa perceptrons ar vienu vai vairākiem slēptiem slāņiem.
Viena slāņa perceptrona binārā izvade var klasificēt tikai lineāras atdalāmās klases (0,1), savukārt MLP var klasificēt nelineāras klases.
7. Kāds ir aktivizācijas funkciju mērķis neironu tīklā?
Aktivizācijas funkcija nosaka, vai neironam jāaktivizējas pašā fundamentālajā līmenī. Jebkura aktivizācijas funkcija kā ievadi var pieņemt ieejas svērto summu plus novirzi. Aktivizācijas funkcijās ietilpst soļu funkcija, Sigmoid, ReLU, Tanh un Softmax.
8. Kas īsti ir gradienta nolaišanās?
Labākā pieeja izmaksu funkcijas vai kļūdas samazināšanai ir gradienta nolaišanās. Mērķis ir atrast funkcijas lokālo un globālo minimumu. Tas norāda ceļu, kas modelim jāievēro, lai samazinātu kļūdas.
9. Kas īsti ir izmaksu funkcija?
Izmaksu funkcija ir metrika, lai novērtētu, cik labi jūsu modelis darbojas; to dažreiz sauc par "zaudējumu" vai "kļūdu". Atpakaļpavairošanas laikā tas tiek izmantots, lai aprēķinātu izvades slāņa kļūdu.
Mēs izmantojam šo neprecizitāti, lai turpinātu neironu tīkla apmācības procesus, virzot to atpakaļ caur neironu tīklu.
10. Kā dziļie tīkli var pārspēt seklos tīklus?
Papildus ievades un izvades slāņiem neironu tīkliem tiek pievienoti slēptie slāņi. Starp ievades un izvades slāņiem seklajos neironu tīklos tiek izmantots viens slēptais slānis, savukārt dziļie neironu tīkli izmanto vairākus līmeņus.
Seklam tīklam ir nepieciešami vairāki parametri, lai tas atbilstu jebkurai funkcijai. Dziļie tīkli var labāk atbilst funkcijām pat ar nelielu parametru skaitu, jo tie ietver vairākus slāņus.
Tagad priekšroka tiek dota dziļajiem tīkliem, jo tie ir daudzpusīgi, strādājot ar jebkāda veida datu modelēšanu neatkarīgi no tā, vai runa ir par runas vai attēla atpazīšanu.
11. Aprakstiet izplatīšanos uz priekšu.
Ievadie dati kopā ar svariem tiek pārsūtīti uz aprakto slāni procesā, kas pazīstams kā pārsūtīšana.
Aktivizācijas funkcijas izvade tiek aprēķināta katrā apraktajā slānī, pirms apstrāde var pāriet uz nākamo slāni.
Process sākas ievades slānī un virzās uz galīgo izvades slāni, tādējādi nosaukums tiek izplatīts uz priekšu.
12. Kas ir atpakaļpavairošana?
Kad neironu tīklā tiek koriģēti svari un novirzes, tiek izmantota atpakaļpavairošana, lai samazinātu izmaksu funkciju, vispirms novērojot, kā mainās vērtība.
Katra slēptā slāņa gradienta izpratne padara šo izmaiņu aprēķināšanu vienkāršu.
Process, kas pazīstams kā backpropagation, sākas ar izvades slāni un virzās atpakaļ uz ievades slāņiem.
13. Kā jūs saprotat gradienta izgriešanu dziļās mācīšanās kontekstā?
Gradientu izgriešana ir metode, lai atrisinātu problēmu, kas saistīta ar sprādzienbīstamiem gradientiem, kas rodas atpakaļizplatīšanas laikā (stāvoklis, kurā laika gaitā uzkrājas ievērojami nepareizi gradienti, kas apmācības laikā rada ievērojamas neironu tīkla modeļa svaru korekcijas).
Eksplodējoši gradienti ir problēma, kas rodas, ja treniņa laikā slīpumi kļūst pārāk lieli, padarot modeli nestabilu. Ja gradients ir šķērsojis paredzēto diapazonu, gradienta vērtības tiek virzītas pa vienam elementam līdz iepriekš noteiktai minimālajai vai maksimālajai vērtībai.
Gradienta izgriešana uzlabo neironu tīkla skaitlisko stabilitāti apmācības laikā, taču tai ir minimāla ietekme uz modeļa veiktspēju.
14. Kādas ir Softmax un ReLU funkcijas?
Aktivizācijas funkcija, ko sauc par Softmax, rada izvadi diapazonā no 0 līdz 1. Katra izvade tiek sadalīta tā, lai visu izeju summa būtu viena. Izvades slāņiem bieži izmanto Softmax.
Rektificētā lineārā vienība, dažreiz pazīstama kā ReLU, ir visbiežāk izmantotā aktivizācijas funkcija. Ja X ir pozitīvs, tas izvada X, pretējā gadījumā tas izvada nulles. ReLU regulāri uzklāj uz apraktiem slāņiem.
15. Vai neironu tīkla modeli var apmācīt, ja visi svari ir iestatīti uz 0?
Neironu tīkls nekad neiemācīsies pabeigt noteiktu darbu, tāpēc nav iespējams apmācīt modeli, inicializējot visus svarus uz 0.
Atvasinājumi paliks nemainīgi katram svaram W [1], ja visi svari tiek inicializēti uz nulli, kā rezultātā neironi iteratīvi apgūs vienas un tās pašas pazīmes.
Ne tikai inicializējot svarus uz 0, bet uz jebkura veida konstanti, iespējams, tiks iegūts apakšrezultāts.
16. Kas atšķir laikmetu no partijas un iterācijas?
Dažādas datu kopu apstrādes formas un gradienta nolaišanās metodes ietver pakešu, iterāciju un laikmetu. Laikmets ietver vienreizēju neironu tīklu ar pilnu datu kopu gan uz priekšu, gan atpakaļ.
Lai nodrošinātu uzticamus rezultātus, datu kopa bieži tiek nodota vairākas reizes, jo tā ir pārāk liela, lai to izturētu vienā mēģinājumā.
Šo praksi atkārtoti palaist nelielu datu daudzumu caur neironu tīklu sauc par iterāciju. Lai garantētu, ka datu kopa sekmīgi šķērso neironu tīklus, to var sadalīt vairākās partijās vai apakškopās, kas ir pazīstama kā paketēšana.
Atkarībā no datu vākšanas lieluma visas trīs metodes — laikmets, iterācija un partijas lielums — būtībā ir veidi, kā izmantot gradienta nolaišanās algoritms.
17. Kas ir partijas normalizēšana un izbeigšana?
Dropout novērš datu pārmērīgu ietilpību, nejauši noņemot gan redzamās, gan slēptās tīkla vienības (parasti atmetot 20 procentus mezglu). Tas divkāršo iterāciju skaitu, kas nepieciešams, lai tīkls saplūstu.
Normalizējot ievades katrā slānī, lai vidējā izvades aktivizēšana būtu nulle un standarta novirze viens, pakešu normalizācija ir stratēģija neironu tīklu veiktspējas un stabilitātes uzlabošanai.
18. Kas atdala stohastiskā gradienta nolaišanos no pakešgradienta nolaišanās?
Partijas gradienta nolaišanās:
- Pilna datu kopa tiek izmantota, lai izveidotu partijas gradienta gradientu.
- Milzīgais datu apjoms un lēni atjauninātie svari apgrūtina konverģenci.
Stohastiskā gradienta nolaišanās:
- Stohastiskais gradients gradienta aprēķināšanai izmanto vienu paraugu.
- Biežāko svara izmaiņu dēļ tas saplūst ievērojami ātrāk nekā partijas gradients.
19. Kāpēc ir ļoti svarīgi neironu tīklos iekļaut nelinearitātes?
Neatkarīgi no tā, cik slāņu ir, neironu tīkls izturēsies kā perceptrons, ja nav nelinearitātes, padarot izvadi lineāri atkarīgu no ievades.
Citiem vārdiem sakot, neironu tīkls ar n slāņiem un m slēptām vienībām un lineārām aktivizācijas funkcijām ir līdzvērtīgs lineāram neironu tīklam bez slēptiem slāņiem un ar spēju noteikt tikai lineārās atdalīšanas robežas.
Bez nelinearitātes neironu tīkls nespēj atrisināt sarežģītas problēmas un precīzi klasificēt ievadi.
20. Kas ir dziļās mācīšanās tensors?
Daudzdimensiju masīvs, kas pazīstams kā tensors, kalpo kā matricu un vektoru vispārinājums. Tā ir būtiska datu struktūra dziļai mācīšanai. Tensoru attēlošanai tiek izmantoti pamatdatu tipu N-dimensiju masīvi.
Katram tenzora komponentam ir viens un tas pats datu tips, un šis datu tips vienmēr ir zināms. Iespējams, ka ir zināms tikai formas gabals, proti, cik izmēri ir un cik lieli katrs ir.
Situācijās, kad arī ievades ir pilnībā zināmas, lielākā daļa darbību rada pilnībā zināmus tenzorus; citos gadījumos tenzora formu var noteikt tikai grafa izpildes laikā.
21. Kā jūs izvēlētos aktivizēšanas funkciju dziļās mācīšanās modelim?
- Ir lietderīgi izmantot lineāro aktivizācijas funkciju, ja paredzamais rezultāts ir faktisks.
- Sigmoīda funkcija ir jāizmanto, ja prognozējamā izvade ir binārās klases varbūtība.
- Tanh funkciju var izmantot, ja prognozētajā izvadē ir divas klasifikācijas.
- Aprēķinu vienkāršības dēļ ReLU funkcija ir izmantojama daudzās situācijās.
22. Ko tu domā ar CNN?
Dziļie neironu tīkli, kas specializējas vizuālo attēlu novērtēšanā, ietver konvolucionālos neironu tīklus (CNN vai ConvNet). Šeit, nevis neironu tīklos, kur vektors apzīmē ievadi, ievade ir daudzkanālu attēls.
Daudzslāņu perceptronus CNN izmanto īpašā veidā, kam nepieciešama ļoti maza iepriekšēja apstrāde.
23. Kādi ir daudzie CNN slāņi?
Konvolūcijas slānis: galvenais slānis ir konvolucionālais slānis, kuram ir dažādi apgūstami filtri un uztverošs lauks. Šis sākotnējais slānis ņem ievades datus un izvelk to raksturlielumus.
ReLU slānis: padarot tīklus nelineārus, šis slānis pārvērš negatīvos pikseļus par nulli.
Apvienošanas slānis: samazinot apstrādes un tīkla iestatījumus, apvienošanas slānis pakāpeniski samazina attēlojuma telpisko izmēru. Maksimālā apvienošana ir visbiežāk izmantotā apvienošanas metode.
24. Kādas ir pārmērīgas un nepietiekamas aprīkošanas sekas, un kā jūs varat no tām izvairīties?
To sauc par pārmērīgu pielāgošanu, kad modelis apgūst apmācības datu sarežģījumus un troksni līdz vietai, kur tas negatīvi ietekmē jauno datu izmantošanu modelī.
Tas, visticamāk, notiks ar nelineāriem modeļiem, kas ir vairāk pielāgojami, apgūstot mērķa funkciju. Modeli var apmācīt, lai noteiktu automašīnas un kravas automašīnas, taču tas var identificēt tikai transportlīdzekļus ar noteiktu kastes formu.
Ņemot vērā, ka tas tika apmācīts tikai viena veida kravas automašīnām, tas, iespējams, nespēs noteikt bortu kravas automašīnu. Apmācības datos modelis darbojas labi, bet ne reālajā pasaulē.
Nepietiekami pielāgots modelis attiecas uz modeli, kas nav pietiekami apmācīts par datiem vai nespēj vispārināt jaunu informāciju. Tas bieži notiek, ja modelis tiek apmācīts ar nepietiekamiem vai neprecīziem datiem.
Nepietiekama uzstādīšana apdraud gan precizitāti, gan veiktspēju.
Datu atkārtota atlase, lai novērtētu modeļa precizitāti (K-kārtīga šķērsvalidācija) un validācijas datu kopas izmantošana modeļa novērtēšanai ir divi veidi, kā izvairīties no pārmērīgas un nepietiekamas pielāgošanas.
25. Kas ir RNN dziļajā izglītībā?
Atkārtoti neironu tīkli (RNN), kas ir izplatīta mākslīgo neironu tīklu dažādība, tiek apzīmēti ar saīsinājumu RNN. Tos izmanto, lai cita starpā apstrādātu genomus, rokrakstu, tekstu un datu secības. Nepieciešamajai apmācībai RNN izmanto atpakaļpavairošanu.
26. Aprakstiet Adam optimizētāju
Adam optimizētājs, kas pazīstams arī kā adaptīvais impulss, ir optimizācijas paņēmiens, kas izstrādāts, lai risinātu trokšņainas situācijas ar retiem gradientiem.
Papildus katra parametra atjauninājumu nodrošināšanai ātrākai konverģencei, Adam optimizētājs uzlabo konverģenci, izmantojot impulsu, nodrošinot, ka modelis netiek iesprostots seglu punktā.
27. Dziļie autokoderi: kas tie ir?
Deep autoencoder ir divu simetrisku dziļu uzskatu tīklu kopējais nosaukums, kas parasti ietver četrus vai piecus seklus slāņus tīkla kodēšanas pusei un vēl vienu četru vai piecu slāņu kopu dekodēšanas pusei.
Šie slāņi veido dziļu uzskatu tīklu pamatu, un tos ierobežo Boltzmann mašīnas. Pēc katra RBM dziļais automātiskais kodētājs piemēro bināras izmaiņas datu kopā MNIST.
Tos var izmantot arī citās datu kopās, kur priekšroka dodama Gausa rektificētajām transformācijām, nevis RBM.
28. Ko Tensorflow nozīmē Tensor?
Šis ir vēl viens dziļās mācīšanās intervijas jautājums, kas tiek regulāri uzdots. Tensors ir matemātisks jēdziens, kas tiek vizualizēts kā augstākas dimensijas masīvi.
Tensori ir šie datu masīvi, kas tiek nodrošināti kā ievade neironu tīklam un kuriem ir dažādas dimensijas un klasifikācijas.
29. Skaitļošanas grafika skaidrojums
TensorFlow pamats ir skaitļošanas grafika izveide. Katrs mezgls darbojas mezglu tīklā, kur mezgli apzīmē matemātiskās operācijas un malas tenzoriem.
To dažreiz dēvē par “DataFlow Graph”, jo dati plūst diagrammas formā.
30. Ģeneratīvie pretrunīgie tīkli (GAN): kas tie ir?
Deep Learning ģeneratīvā modelēšana tiek veikta, izmantojot ģeneratīvos pretinieku tīklus. Tas ir neuzraudzīts darbs, kurā rezultāts tiek iegūts, identificējot ievades datu modeļus.
Diskriminatoru izmanto, lai klasificētu ģeneratora radītos gadījumus, savukārt ģenerators tiek izmantots jaunu piemēru radīšanai.
31. Kā jūs izvēlēsieties neironu un slēpto slāņu skaitu, ko iekļaut neironu tīklā, veidojot arhitektūru?
Ņemot vērā biznesa izaicinājumu, precīzu neironu un slēpto slāņu skaitu, kas nepieciešams, lai izveidotu neironu tīkla arhitektūru, nevar noteikt ar stingriem un ātriem noteikumiem.
Neironu tīklā slēptā slāņa lielumam vajadzētu būt kaut kur ievades un izvades slāņa lieluma vidū.
Neironu tīkla dizaina izstrādi var sākt, izmantojot dažas vienkāršas metodes:
Sākot ar dažām pamata sistemātiskām pārbaudēm, lai noskaidrotu, kas būtu vislabākais jebkurai konkrētai datu kopai, pamatojoties uz iepriekšējo pieredzi ar neironu tīkliem līdzīgos reālās pasaules iestatījumos, ir labākais veids, kā risināt katru unikālo reālās pasaules prognozēšanas modelēšanas izaicinājumu.
Tīkla konfigurāciju var izvēlēties, pamatojoties uz zināšanām par problēmas domēnu un iepriekšējo neironu tīkla pieredzi. Novērtējot neironu tīkla iestatījumus, slāņu un neironu skaits, kas tiek izmantots saistītajām problēmām, ir laba vieta, kur sākt.
Neironu tīkla sarežģītība pakāpeniski jāpalielina, pamatojoties uz prognozēto izvadi un precizitāti, sākot ar vienkāršu neironu tīkla dizainu.
32. Kādus neironu tīklus izmanto dziļās pastiprināšanas mācībās?
- Mašīnmācīšanās paradigmā, ko sauc par pastiprināšanas mācīšanos, modelis darbojas, lai maksimāli palielinātu kumulatīvās atlīdzības ideju, tāpat kā dzīvās lietas.
- Gan spēles, gan pašbraucošie transportlīdzekļi tiek raksturoti kā problēmas, kas saistītas pastiprināt mācīšanās.
- Ekrāns tiek izmantots kā ievade, ja attēlojamā problēma ir spēle. Lai iegūtu izvadi nākamajām fāzēm, algoritms ņem pikseļus kā ievadi un apstrādā tos, izmantojot daudzus konvolucionālo neironu tīklu slāņus.
- Modeļa darbību rezultāti, gan labvēlīgi, gan slikti, darbojas kā pastiprinājums.
Secinājumi
Deep Learning popularitāte gadu gaitā ir kļuvusi populāra, un to lieto praktiski visās nozares jomās.
Uzņēmumi arvien vairāk meklē kompetentus ekspertus, kas var izstrādāt modeļus, kas atkārto cilvēka uzvedību, izmantojot dziļās mācīšanās un mašīnmācīšanās pieejas.
Kandidāti, kuri uzlabo savas prasmes un saglabā zināšanas par šīm progresīvajām tehnoloģijām, var atrast plašas darba iespējas ar pievilcīgu atalgojumu.
Varat sākt ar intervijām tagad, kad jums ir spēcīga izpratne par to, kā atbildēt uz dažiem no visbiežāk uzdotajiem dziļās mācīšanās intervijas jautājumiem. Veiciet nākamo soli, pamatojoties uz saviem mērķiem.
Apmeklējiet Hashdork's Interviju sērija lai sagatavotos intervijām.
Atstāj atbildi