Ki jan mwen te antre nan ThoughtWorks oswa yon echantiyon entèvyou

Ki jan mwen te antre nan ThoughtWorks oswa yon echantiyon entèvyou

Èske li pa parèt etranj pou ou ke lè w pral chanje djòb ak bezwen an rive pou pase yon entèvyou, premye bagay ou panse se "ou bezwen prepare pou entèvyou a." Rezoud pwoblèm sou HackerRank, li Crack entèvyou a kodaj, memorize ki jan ArrayList travay ak ki jan li diferan de LinkedList. Oh wi, yo ta ka mande tou sou klasman, epi li ta evidamman pa pwofesyonèl yo di ke sòt rapid ta gen plis chans pi bon chwa a.
Men, rete tann, ou pwograme 8 èdtan nan yon jounen, rezoud pwoblèm enteresan ak ki pa trivial, ak nan nouvo travay ou a ou pral fè menm bagay la, plis oswa mwens. Men, kanmenm, yo nan lòd yo pase yon entèvyou, ou bezwen yon jan kanmenm Anplis de sa prepare, pa menm amelyore konpetans ou chak jou, men aprann yon bagay ke ou pa t 'bezwen nan travay ou ye kounye a epi yo pa gen anpil chans bezwen nan pwochen ou a. Pou objeksyon ou yo ke syans enfòmatik nan san nou, epi si ou reveye nou nan mitan lannwit lan, nou oblije ekri ak je nou fèmen sou yon zòrye yon ti mache nan lajè a nan yon pye bwa san yo pa menm reprann konesans, mwen pral reponn ke si mwen jwenn yon travay nan sirk la, ak bagay prensipal mwen jwe fent la ta dwe egzakteman sa a - Lè sa a, petèt wi, mwen dakò. Konpetans sa a bezwen teste.

Men, poukisa teste konpetans ki pa enpòtan pou travay ou ye kounye a? Jis paske li te vin alamòd? Paske Google fè sa? Oswa paske dirijan ekip ou a nan lavni te oblije aprann tout metòd klasman yo anvan entèvyou a epi kounye a li kwè ke "tout bon pwogramè dwe konnen pa kè aplikasyon an nan jwenn yon palindrom nan yon fisèl."

Oke, ou pa Google (c). Ki sa ki Google kapab peye, konpayi òdinè pa kapab. Google, li te analize done yo nan anplwaye li yo, te rive nan konklizyon ke enjenyè ki gen yon background Olympiad yo bon nan fè fas ak travay espesifik li yo. Anplis, lè yo desine pwosesis seleksyon yo, yo kapab gen mwayen pou yo pran risk pou yo pa anboche kèk bon enjenyè paske yo pa ka kraze pwoblèm matematik fasil. Men, sa a se pa yon pwoblèm pou yo, gen anpil moun ki vle travay nan Google, pozisyon an pral fèmen.
Koulye a, ann gade deyò fenèt la, epi si devan biwo ou a enjenyè ki vle travay pou ou poko mete yon kan anba tant, epi devlopè ou yo pi souvan ap chèche sou stackoverflow pou sa ki pwochen anotasyon Spring bezwen enstale, olye ke sibtilite yo nan algoritm plase, Lè sa a,, aparamman, Li lè pou ou panse sou si ou ta dwe kopye Google.

Oke, si fwa sa a Google echwe epi li pa bay yon repons, kisa ou ta dwe fè? Tcheke egzakteman sa pwomotè a pral fè nan travay la. Ki sa ou apresye nan devlopè?
Fè kritè pou ki moun ou vle anboche epi devlope tès ki teste egzakteman konpetans sa yo.

ThoughtWorks

Kisa ThoughtWorks gen pou wè ak sa a? Sa a se kote mwen te jwenn yon egzanp nan yon entèvyou modèl pou tèt mwen. Ki moun ki ThoughtWorks? Nan ti bout tan, sa a se yon konpayi konsiltasyon High-End ak biwo nan tout mond lan, ki soti nan Lachin, Singapore nan kontinan Ameriken yo, ki te konsiltasyon nan jaden an nan devlopman pou apeprè 25 ane, gen pwòp divizyon Syans li yo, ki te dirije pa Martin. Fowler. Si w ap chèche yon lis 10 liv ki dwe li pou yon enjenyè lojisyèl, petèt 2-3 nan yo pral ekri pa mesye ThoughtWorks, tankou refactoring pa Martin Fowler ak Building Microservices: Designing Fine-Grained Systems pa Sam. Newman oswa Building Evolisyonè Achitekti
pa Patrick Kua, Rebecca Parsons, Neal Ford.

Se biznis konpayi an bati sou bay sèvis jistis chè, men kliyan an peye pou bon jan kalite fenomenn, ki gen ladann ekspètiz, estanda entèn ak, nan kou, moun. Se poutèt sa, anbochaj bon moun yo enpòtan anpil isit la.
Ki kalite moun ki gen rezon? Natirèlman, gen diferan pou tout moun. ThoughtWorks te detèmine ke kritè ki pi enpòtan pou modèl biznis pwomotè yo se:

  • Kapasite pou devlope an pè. Li se kapasite, pa eksperyans oswa konpetans. Pèsonn pa espere ke moun ki te pratike pwogram pè pou 5 ane ap vini Men, yo te reseptif a opinyon lòt moun epi yo te kapab koute se yon konpetans nesesè.
  • Kapasite pou ekri tès yo, epi depreferans pratike TDD
  • Konprann SOLID ak OOP epi kapab aplike yo.
  • Prezante opinyon w. Kòm yon konsiltan, ou dwe travay ak devlopè kliyan an, ak lòt konsiltan, epi pa gen anpil benefis si yon moun konnen ki jan fè yon bagay byen, men li konplètman pa kapab transmèt li bay rès la nan ekip la.

Koulye a, li enpòtan pou evalye konpetans patikilye sa yo nan kandida a. Ak isit la mwen vle pale sou eksperyans mwen nan entèvyou nan ThoughtWorks. Mwen pral di touswit ke mwen te ale nan Singapore epi yo te pase, men pwosesis rekritman an inifye epi yo pa pral diferan anpil de peyi a peyi.

Etap 0. HR

Kòm souvan rive, yon entèvyou 20 minit ak HR. Mwen pa pral rete sou li, mwen pral jis di ke mwen pa janm te rankontre yon moun HR ki te kapab pale pou 15 minit sou kilti devlopman nan konpayi an, poukisa yo itilize TDD, poukisa pwogramasyon pè. Anjeneral, HR yo sou kesyon sa a epi yo di ke pwosesis yo nòmal: devlopè devlope, tèsteur teste, manadjè kondwi.

Etap 1. Ki jan ou bon nan OOP, TDD?

1.5 èdtan anvan kòmansman entèvyou a, mwen te voye yon travay pou fè yon similatè Mas Rover.

Misyon rover MasNASA gen pou debake yon eskwadwon rover sou yon plato sou Mas. Rovers yo dwe navige plato sa a, ki se kiryozman rektangilè, pou kamera abò yo ka jwenn yon gade konplè sou tèren ki antoure a pou voye tounen sou Latè. Pozisyon ak kote yon rover reprezante pa yon konbinezon kowòdone x ak y ak yon lèt ki reprezante youn nan kat pwen konpa kadinal yo. Plato a divize an yon griy pou senplifye navigasyon. Yon egzanp pozisyon ta ka 0, 0, N, ki vle di rover a nan kwen gòch anba a epi fè fas a Nò. Pou kontwole yon rover, NASA voye yon seri lèt senp. Lèt posib yo se 'L', 'R' ak 'M'. 'L' ak 'R' fè rover a vire 90 degre goch oswa dwa respektivman, san yo pa deplase soti nan plas li ye kounye a. 'M' vle di avanse yon pwen kadriyaj, epi kenbe menm tit la.
Sipoze kare ki dirèkteman nan Nò soti nan (x, y) se (x, y+1).
ENTRÈ:
Premye liy opinyon se kowòdone anwo-dwa plato a, kowòdone pi ba-gòch yo sipoze 0,0.
Rès la nan opinyon an se enfòmasyon ki gen rapò ak rovers yo ki te deplwaye. Chak rover gen de liy opinyon. Premye liy lan bay pozisyon rover a, ak dezyèm liy lan se yon seri enstriksyon ki di rover a ki jan yo eksplore plato a. Pozisyon an fèt ak de nonm antye ak yon lèt ki separe pa espas, ki koresponn ak kowòdone x ak y ak oryantasyon rover la.
Chak rover pral fini an sekans, ki vle di dezyèm rover a pa pral kòmanse deplase jiskaske premye a fin deplase.
SORTIF:
Pwodiksyon an pou chak rover ta dwe kowòdone final li yo ak tit.
NÒT:
Senpleman aplike kondisyon ki anwo yo epi pwouve yon aspiratè travay lè w ekri tès inite pou li.
Kreye nenpòt fòm koòdone itilizatè se soti nan dimansyon.
Rezoud pwoblèm nan swiv yon apwòch TDD (Test Driven Development) ap pi pito.
Nan ti tan ki disponib, nou gen plis enkyetid sou bon jan kalite pase konplè.
*Mwen pa ka poste devwa ke yo te voye ban mwen an, sa a se yon ansyen devwa ke yo te bay plizyè ane de sa. Men, kwè m ', fondamantalman tout bagay rete menm jan an.

Mwen ta renmen espesyalman atire atansyon sou kritè evalyasyon yo. Konbyen fwa ou te rankontre yon sitiyasyon kote bagay ki enpòtan pou yon kandida yo konplètman san enpòtans pandan odit la ak vis vèrsa. Se pa tout moun ki panse menm jan ak ou, men anpil moun ka aksepte epi swiv valè ou yo si yo byen klè. Se konsa, nan kritè evalyasyon yo li imedyatman klè ke konpetans ki pi enpòtan nan etap sa a se

  • TDD;
  • Kapasite pou itilize OOP epi ekri kòd ki ka kenbe;
  • pè pwogramasyon kapasite

Kidonk, mwen te avèti pou m pase 1.5 èdtan sa yo ap reflechi sou ki jan mwen te pral fè travay la, olye ke ekri kòd. Nou pral ekri kòd la ansanm.

Lè nou te resevwa nan telefòn nan, mesye yo yon ti tan di nou ki moun yo ye ak sa yo fè epi yo ofri yo kòmanse devlopman.

Pandan tout entèvyou a, mwen pa janm gen yon sèl santiman ke mwen te entèvyouve. Gen yon santiman ke w ap devlope kòd nan yon ekip. Si ou bloke yon kote, yo ede, konseye, diskite, menm diskite youn ak lòt sou ki jan pi bon fè li. Nan entèvyou a, mwen bliye ki jan yo tcheke nan JUnit 5 ke yon metòd lanse yon Eksepsyon - yo ofri yo kontinye ekri tès la, pandan y ap youn nan yo te google kòman yo fè li.

Literalman kèk èdtan apre entèvyou a, mwen te resevwa fidbak konstriktif - sa mwen te renmen ak sa mwen pa t '. Nan ka mwen an, mwen te fè lwanj pou itilize klas sele kòm yon altènativ a objè a nil; pou lefèt ke anvan ekri kòd la, mwen te ekri nan pseudocode ki jan mwen ta renmen kontwole rover a, e konsa te resevwa yon chema nan klas yo, omwen sa yo ki patisipe nan API robo a.

Etap 2: Di nou

Yon semèn anvan entèvyou a, mwen te mande pou prepare yon prezantasyon sou nenpòt sijè ki enterese m. Fòma a se senp ak abitye: 15 minit prezantasyon, 15 minit reponn kesyon.
Mwen te chwazi Clean Architecture pa Tonton Bob. Epi ankò, mwen te entèvyouve pa yon koup nan moun. Sa a se te premye eksperyans mwen nan prezantasyon an angle, e, petèt, si mwen te nan yon sitiyasyon estrès, mwen pa t 'kapab fè fas. Men, ankò, mwen pa janm yon fwa te santi ke mwen te nan yon entèvyou. Tout bagay se kòm dabitid - mwen di yo, yo koute ak anpil atansyon. Menm sesyon an kesyon ak repons tradisyonèl pa t 'tankou yon entèvyou li te klè ke kesyon yo pa te mande yo "koule", men sa yo ki reyèlman enterese yo nan prezantasyon mwen an.

Kèk èdtan apre entèvyou a, mwen te resevwa fidbak - prezantasyon an te trè itil epi yo vrèman renmen koute.

Etap 3. Kòd Kalite Pwodiksyon

Lè m te avèti ke sa a se te dènye etap entèvyou teknik yo, yo te mande m pou m pote kòd la lakay ou nan yon eta pwodiksyon pare, Lè sa a, voye kòd la pou revize ak pwograme entèvyou nan ki kondisyon yo pou travay la ta chanje epi kòd la ta. mande modifikasyon. Gade pi devan, mwen ka di ke revizyon kòd la fèt avèg, revizyon yo pa konnen ki pozisyon kandida a ap aplike, yo pa wè CV li, yo pa menm wè non li.

Telefòn nan sonnen, epi ankò te gen yon koup nan mesye sou lòt bò a nan monitè a. Tout bagay se menm jan ak nan premye entèvyou a: bagay prensipal la se pa bliye sou TDD, di sa ou fè ak poukisa. Si ou pa te pratike TDD anvan, Lè sa a, mwen rekòmande kòmanse fè li imedyatman, pa paske li nesesè nan konpayi yo, men paske li siyifikativman senplifye lavi ou, diminye nivo estrès ou si ou renmen. Sonje ki jan ou te oblije fouye fouye ak yon debugger pou yon erè ki ka sèlman repwodui atravè navigatè a, men ou pa ka repwodui li ak tès yo? Koulye a, imajine ke ou pral oblije trape yon erè konsa pandan yon entèvyou - ou gen garanti yon koup nan cheve gri. Kisa nou jwenn ak TDD? Nou chanje kòd la ak san atann reyalize ke kounye a tès yo wouj, men ki erè a nou pa ka konnen premye fwa a? Oke, nou di "Oops" bay entèvyou yo, peze Ctrl-Z epi kòmanse fè ti etap pi devan. Epi wi, ou bezwen devlope kapasite pou devlope lè l sèvi avèk TDD nan tèt ou, kapasite pou ale nan objektif la pou tès ou yo pou tout tan vèt, epi yo pa wouj pou mwatye yon jou, paske "ou gen anpil refactoring." Sa a se egzakteman menm konpetans kòm ekri kòd ki ka kenbe, oswa ekri kòd pwodiktif.

Kidonk, ki jan yo ka chanje kòd ou a depann de ki konsepsyon ou gen nan tèt ou pou kòmanse, ki jan li senp, ak ki jan tès ou yo bon.

Apre entèvyou a, mwen te resevwa fidbak nan kèk èdtan. Nan faz sa a, mwen te reyalize ke mwen te prèske fini e te gen yon ti kras ki rete jiskaske mwen te “rankontre Fowler”.

Etap 4. Final. Ase kesyon teknik. Nou vle konnen ki moun ou ye!

Pou m onèt, mwen te yon ti jan dekonpoze pa fòmilasyon sa a nan kesyon an. Ki jan ou ka konprann ki kalite moun mwen ye nan yon èdtan nan konvèsasyon? E plis ankò, ki jan ou ka konprann sa lè mwen pale yon lang ki pa lang natif natal mwen, epi, franchman pale, trè move ak lang mare. Nan entèvyou anvan yo, li te pi fasil pou mwen pèsonèlman pale olye ke reponn kesyon, ak aksan an te blame. Omwen youn nan entèvyou yo te Azyatik - ak aksan yo, byen, kite a jis di, se yon ti jan espesifik nan zòrèy Ewopeyen an. Se poutèt sa, mwen deside pran yon apwòch proactive - prepare yon prezantasyon sou tèt mwen ak nan kòmansman an nan entèvyou a ofri yo pale sou tèt mwen ak prezantasyon sa a. Si yo dakò, Lè sa a, omwen pral gen mwens kesyon pou mwen si yo rejte òf la, byen, 3 èdtan nan lavi mwen te pase sou yon prezantasyon se pa yon pri ki wo. Men, ki sa ou ta dwe ekri nan prezantasyon ou a? Biyografi - Li te fèt la, nan tan sa a, te ale nan lekòl, gradye nan inivèsite - men ki moun ki gen sousi?

Si w Google yon ti kras sou kilti Thoughtworks, w ap jwenn yon atik pa Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html] ki dekri 3 poto yo: biznis dirab, ekselans lojisyèl, ak jistis sosyal.

Ann sipoze ke Software Excellence te deja tcheke pou mwen. Li rete pou montre biznis dirab ak jistis sosyal.

Anplis, mwen deside konsantre sou lèt la.

Pou kòmanse, mwen te di l 'poukisa ThoughtWorks - mwen li blog Martin Fowler a tounen nan kolèj, pakonsekan renmen mwen pou kòd Clean.

Pwojè yo kapab tou prezante nan ang diferan. Li te tou devlope lojisyèl pou medikaman ki senplifye lavi pasyan yo, e menm, dapre rimè, sove yon sèl lavi. Mwen te devlope tou lojisyèl pou bank yo, ki te fè lavi tou pi fasil pou sitwayen yo. Sitou si bank sa a se itilize pa 70% nan popilasyon peyi a. Sa a se pa sou Sberbank e pa menm sou Larisi.

Vle konnen sou mwen? OK. Pastan mwen se fotografi, yon fason oswa yon lòt mwen te kenbe yon kamera nan men mwen pou apeprè 10 ane, gen foto ke mwen pa twò jennen montre. Epitou, nan yon moman, mwen te ede yon abri chat: mwen te foto chat ki te bezwen yon kay pèmanan. Ak bon foto li pi fasil pou mete yon chat. Mwen pwobableman te foto yon santèn chat :)

Nan fen a, 80% nan prezantasyon mwen an te plen ak chat.

Touswit apre prezantasyon an, HR te ekri m ke li poko konnen rezilta entèvyou a, men tout biwo a te deja enpresyone ak chat yo.

Finalman, mwen te tann fidbak - mwen te satisfè tout moun kòm yon moun.

Men, pandan konvèsasyon final la, HR ak tak te di ke Jistis Sosyal trè bon ak nesesè, men se pa tout pwojè yo tankou sa a. Epi li te mande si sa fè m pè. An jeneral, mwen te ale yon ti kras anlè ak Jistis Sosyal, sa rive :)

Total

Kòm yon rezilta, mwen te travay nan Singapore nan Thoughtworks pou plizyè mwa kounye a, epi mwen wè ke isit la twòp konpayi yo ap adopte "pi bon pratik entèvyou" nan Google, lè l sèvi avèk fèy ak Whiteboard pou kodaj, malgre gen plis konesans pase Spring, Symfony, RubyOnRails ( Souliye sa ki nesesè) pa obligatwa nan travay la. Enjenyè yo pran yon semèn konje anvan yon entèvyou pou "prepare."

Nan Thoughtworks, anplis egzijans adekwa pou kandida a, prensip sa yo yo mete devan:
Kè kontan nan entèvyou. Anplis, pou tou de bò yo. Vreman vre, si ou vle jwenn pi bon pèsonèl la (e ki moun ki pa fè sa?), Lè sa a, yon entèvyou se pa yon mache kote esklav yo chwazi, men yon montre kote tou de anplwayè a ak kandida a evalye youn ak lòt. Men, si yon kandida asosye emosyon bèl ak yon konpayi, li posib ke li pral chwazi konpayi an patikilye sa a

Plizyè entèvyou pou diminye patipri. Nan Thoughtworks, pwogramasyon pè se estanda defakto. Men, si pratik sa a ka aplike nan lòt zòn, TW eseye fè sa. Nan chak etap, entèvyou a fèt pa 2 moun. Kidonk, omwen 8 moun evalye chak moun, epi TW ap eseye chwazi entèvyou ki gen diferan orijin, diferan direksyon (pa sèlman teknisyen) ak sèks.

Finalman, desizyon anbochaj la pral pran dapre opinyon omwen 8 moun, epi pèsonn pa gen yon vòt dediksyon.

Anbochaj ki baze sou atribi Olye pou yo pran yon desizyon ki baze sou renmen oswa pa renmen yon kandida, yo devlope yon fòm pou chak wòl ak chak etap ki gen ladan atribi yo ke yo evalye. An menm tan an, lè w ap evalye, li trè rekòmande pou evalye pa eksperyans nan yon konpetans sèten, men kapasite nan aplike li. Kidonk, si yon kandida pa t 'kapab aplike nenpòt konpetans, tankou TDD, men kanmenm li eseye aplike yo, koute konsèy sou kòman yo sèvi ak yo kòrèkteman, li gen tout chans pou yo pase entèvyou a.

Sètifika Edikasyon pa obligatwa TW pa mande okenn sètifikasyon oswa edikasyon nan Syans Enfòmatik. Se sèlman konpetans yo evalye.

Sa a se premye entèvyou mwen te fè ak konpayi etranje pou ki mwen pa t 'gen pou prepare. Apre chak etap, mwen pa t santi mwen fin itilize, men okontrè, mwen te kontan ke mwen te kapab aplike pi bon pratik yo, ke moun ki sou lòt bò a nan monitè a te apresye li epi aplike yo chak jou.

Apre plizyè mwa, mwen ka di ke atant mwen yo te konplètman satisfè. Ki jan ThoughtWorks diferan de yon konpayi regilye? Nan yon konpayi regilye ou ka jwenn bon devlopè ak moun ki bèl, men nan TW konsantrasyon yo nan tablo yo.

Si w enterese rantre nan ThoughtWorks, ou ka wè pozisyon ouvè nou yo isit la
Mwen sijere tou peye atansyon sou pòs ki vid enteresan:
Enjenyè lojisyèl dirijan: Almay, London, Madrid, Singapore
Senior Software Engineer: Sydney, Almay, Manchester, Bangkok
Enjenyè lojisyèl: Sydney, Barcelona, Milan
Senior Data Engineer: Milan
Kalite analis: Almay Lachin
Enfrastrikti: Almay, London, Chili
(Mwen ta renmen onètman avèti w ke lyen an se yon lyen referans, si w ale nan TW, mwen pral resevwa yon bonis bèl). Chwazi yon biwo ou renmen, ou pa oblije limite tèt ou nan Ewòp, apre tout, chak 2 zan TW ap kontan deplase ou nan yon lòt peyi, paske... sa a se yon pati nan politik ThoughtWorks, kidonk kilti a gaye ak omojeneize.

Ezite poze kesyon nan kòmantè yo oswa mande m 'rekòmandasyon.
Si sijè a sanble enteresan, mwen pral ekri sou kisa sa ye pou travay nan ThoughtWorks ak ki jan lavi a ye nan Singapore.

Sous: www.habr.com

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster