Kumaha kuring asup ka ThoughtWorks atanapi wawancara sampel

Kumaha kuring asup ka ThoughtWorks atanapi wawancara sampel

Naha anjeun henteu anéh yén nalika anjeun badé ngagentos padamelan sareng peryogina pikeun lulus wawancara, hal anu anjeun pikirkeun nyaéta "anjeun kedah nyiapkeun wawancara." Ngarengsekeun masalah dina HackerRank, baca Crack wawancara coding, apal kumaha ArrayList jalan na kumaha eta béda ti LinkedList. Oh enya, aranjeunna ogé tiasa naroskeun ngeunaan asihan, sareng éta écés henteu profésional pikeun nyarios yén asihan gancang sigana bakal janten pilihan anu pangsaéna.
Tapi antosan, anjeun program 8 jam sapoé, ngajawab masalah metot sarta non-trivial, sarta dina pakasaban anyar anjeun anjeun bakal ngalakonan hal anu sarua, tambah atawa dikurangan. Tapi sanajan kitu, dina raraga lulus wawancara, Anjeun kudu kumaha bae ogé nyiapkeun, malah teu ngasah kaahlian poean anjeun, tapi diajar hal nu teu diperlukeun dina pakasaban anjeun ayeuna sarta saperti teu mirip perlu di hareup anjeun. Pikeun bantahan anjeun yén élmu komputer aya dina getih urang, sareng upami anjeun ngahudangkeun kami dina tengah wengi, kami wajib nyerat ku panon ditutup dina sarung bantal leumpang ngurilingan lebar tangkal tanpa sadar deui, kuring bakal ngajawab yén lamun kuring meunang pakasaban di sirkus, sarta utama abdi trik bakal persis ieu - lajeng sugan enya, abdi satuju. Kaahlian ieu kedah diuji.

Tapi naha tés kaahlian anu henteu relevan pikeun padamelan anjeun ayeuna? Ngan kusabab janten fashionable? Kusabab Google ngalakukeun ieu? Atanapi kusabab kalungguhan tim anu bakal datang anjeun kedah diajar sadaya metode asihan sateuacan wawancara sareng ayeuna anjeunna percaya yén "unggal programer anu saé kedah terang ku manah palaksanaan milarian palindrom dina senar."

Nya, anjeun sanés Google (c). Naon Google can mampuh, pausahaan biasa teu bisa. Google, sanggeus analisa data karyawan na, nepi ka kacindekan yén insinyur jeung kasang tukang Olympiad téh alus dina kaayaan tugas husus na. Sumawona, ku ngarancang prosés seléksina, aranjeunna tiasa nanggung résiko yén aranjeunna henteu tiasa nyéwa sababaraha insinyur anu saé sabab henteu tiasa ngarengsekeun masalah matematika kalayan gampang. Tapi ieu teu jadi masalah keur maranehna, aya loba jalma anu hayang gawe di Google, posisi bakal ditutup.
Ayeuna hayu urang tingali kaluar jandela, sarta lamun di hareup kantor anjeun insinyur anu rék dianggo pikeun anjeun teu acan nyetél camp tenda, sarta pamekar anjeun leuwih mindeng pilari dina stackoverflow keur naon annotation Spring salajengna kudu dipasang. tinimbang intricacies tina algoritma ranking, lajeng, katingalina, Ieu waktu pikeun anjeun mikir ngeunaan naha anjeun kedah nyalin Google.

Nya, upami waktos ieu Google gagal sareng henteu masihan jawaban, naon anu anjeun kedah laksanakeun? Pariksa naon anu bakal dilakukeun ku pamekar di tempat damel. Naon anu anjeun hargana dina pamekar?
Jieun kriteria keur saha rék nyewa sarta ngamekarkeun tés nu nguji persis kaahlian ieu.

ThoughtWorks

Naon hubunganna ThoughtWorks sareng ieu? Ieu dimana kuring mendakan conto wawancara modél pikeun kuring sorangan. Saha anu ThoughtWorks? Pondokna, ieu téh parusahaan konsultan High-Ahir jeung kantor di sakuliah dunya, ti Cina, Singapura nepi ka buana Amérika, nu geus konsultan dina widang pangwangunan salila kira 25 taun, boga divisi Élmu sorangan, dipingpin ku Martin. Fowler. Upami anjeun milarian daptar 10 buku anu kedah dibaca pikeun Insinyur Perangkat Lunak, maka sigana 2-3 di antarana bakal ditulis ku jalma-jalma ti ThoughtWorks, sapertos Refactoring Ku Martin Fowler sareng Building Microservices: Designing Fine-Grained Systems ku Sam Newman atanapi Gedong Évolusionér Arsitéktur
ku Patrick Kua, Rebecca Parsons, Neal Ford.

Usaha perusahaan diwangun dina nyayogikeun jasa anu lumayan mahal, tapi palanggan mayar kualitas anu luar biasa, anu diwangun ku kaahlian, standar internal sareng, tangtosna, jalma. Ku alatan éta, nyewa jalma anu leres penting pisan di dieu.
Jenis jalma nu bener? Tangtosna, aya anu béda pikeun sadayana. ThoughtWorks parantos netepkeun yén kriteria anu paling penting pikeun modél bisnis pamekar nyaéta:

  • Kamampuhan pikeun ngembangkeun pasangan. Éta kamampuan, sanés pangalaman atanapi kaahlian. Teu aya anu nyangka yén jalma anu parantos ngalaksanakeun program Pair salami 5 taun bakal datang. Tapi janten resep kana pendapat batur sareng tiasa ngadangukeun mangrupikeun kaahlian anu diperyogikeun.
  • Kamampuhan pikeun nyerat tés, sareng idéal ngalaksanakeun TDD
  • Ngartos SOLID sareng OOP sareng tiasa nerapkeunana.
  • Nepikeun pamadegan anjeun. Salaku konsultan, anjeun kedah damel sareng pamekar klien, sareng konsultan anu sanés, sareng teu aya mangpaatna upami hiji jalma terang kumaha ngalakukeun hiji hal anu saé, tapi henteu tiasa ngirimkeunana ka tim anu sanés.

Ayeuna hal anu penting pikeun evaluate ieu kaahlian husus dina calon. Sareng di dieu kuring hoyong ngobrol ngeunaan pangalaman kuring ngawawancara di ThoughtWorks. Kuring bakal langsung nyarios yén kuring angkat ka Singapura sareng lulus, tapi prosés rekrutmen dihijikeun sareng moal béda-béda ti nagara ka nagara.

Tahap 0. HR

Sakumaha sering kajadian, wawancara 20 menit sareng HR. Kuring moal Huni dinya, Kuring ngan bakal nyebutkeun yén kuring geus pernah patepung hiji jalma HR anu bisa ngobrol 15 menit ngeunaan budaya ngembangkeun di parusahaan, naha maranéhna ngagunakeun TDD, naha pasangan programming. Biasana, HRs layu dina sual ieu sarta nyebutkeun yén prosés maranéhanana nyaéta normal: pamekar ngamekarkeun, testers test, manajer drive.

Tahap 1. Kumaha alus anjeun dina OOP, TDD?

1.5 jam sateuacan ngawitan wawancara, abdi dikirim tugas pikeun nyieun hiji simulator Mars Rover.

misi rover MarsSkuad rovers robot bakal didarat ku NASA dina dataran di Mars. Dataran tinggi ieu, anu curiously rectangular, kedah dilayari ku rovers supados kaméra on-boardna tiasa nampi pandangan lengkep ngeunaan rupa bumi sakurilingna pikeun dikirim deui ka Bumi. Posisi sareng lokasi rover diwakilan ku kombinasi koordinat x sareng y sareng hurup anu ngagambarkeun salah sahiji tina opat titik kompas kardinal. Dataran luhur dibagi jadi grid pikeun mempermudah navigasi. Hiji conto posisi bisa jadi 0, 0, N, nu hartina Rover nu aya di belah kénca juru handap sarta nyanghareup Kalér. Dina raraga ngadalikeun rover a, NASA ngirimkeun string basajan tina hurup. Hurup anu mungkin nyaéta 'L', 'R' sareng 'M'. 'L' jeung 'R' ngajadikeun rover muter 90 derajat kenca atawa ka katuhu masing-masing, tanpa pindah ti titik na ayeuna. 'M' hartina pindah ka hareup hiji titik grid, sarta ngajaga judul sarua.
Anggap kuadrat langsung ka kalér ti (x, y) nyaéta (x, y+1).
input:
Baris mimiti input nyaéta koordinat luhur-katuhu dataran, koordinat handap-kénca dianggap 0,0.
Sesa input nyaéta inpormasi anu aya hubunganana sareng rovers anu parantos disebarkeun. Unggal rover gaduh dua jalur input. Jalur kahiji masihan posisi rover, sareng jalur kadua mangrupikeun séri petunjuk anu nyarioskeun ka rover kumaha ngajajah dataran. Posisina diwangun ku dua wilangan bulat sareng hurup anu dipisahkeun ku rohangan, pakait sareng koordinat x sareng y sareng orientasi rover.
Masing-masing rover bakal réngsé sacara berurutan, anu hartosna yén rover kadua moal ngamimitian ngalih dugi ka anu munggaran parantos ngalih.
OUTPUT:
Kaluaran pikeun tiap rover kedah janten koordinat sareng judulna.
Catetan:
Kantun laksanakeun sarat di luhur sareng buktoskeun yén pembersih vakum tiasa dianggo ku cara nyerat tés unit pikeun éta.
Nyiptakeun sagala rupa antarbeungeut pangguna di luar ruang lingkup.
Ngarengsekeun masalah ku nuturkeun pendekatan TDD (Test Driven Development) bakal langkung dipikaresep.
Dina waktu anu singget, urang langkung mentingkeun kualitas tibatan kasampurnaan.
*Abdi teu tiasa ngeposkeun tugas anu dikirimkeun ka kuring, ieu mangrupikeun tugas lami anu dipasihkeun sababaraha taun ka pengker. Tapi percanten ka kuring, dasarna sadayana tetep sami.

Abdi utamana hoyong ngagambar perhatian kana kriteria evaluasi. Sabaraha kali anjeun ngalaman kaayaan dimana hal-hal anu penting pikeun calon henteu penting pisan salami audit sareng sabalikna. Henteu sadayana panginten sami sareng anjeun, tapi seueur anu tiasa nampi sareng nuturkeun nilai anjeun upami aranjeunna jelas. Jadi, tina kritéria évaluasi langsung écés yén kaparigelan anu paling penting dina tahap ieu nyaéta

  • TDD;
  • Kamampuhan ngagunakeun OOP sareng nyerat kode anu tiasa dijaga;
  • kamampuhan programming pasangan

Janten, kuring diingetkeun pikeun nyéépkeun 1.5 jam éta mikir ngeunaan kumaha kuring badé ngalakukeun tugas, tinimbang nyerat kode. Urang bakal nulis kode babarengan.

Nalika kami dina telepon, éta guys sakeudeung ngawartoskeun kami saha aranjeunna sarta naon maranéhna ngalakukeun tur ditawarkeun pikeun ngamimitian ngembangkeun.

Salila sakabéh wawancara, abdi pernah sakali ngalaman rarasaan yén kuring keur diwawancara. Aya perasaan yén anjeun nuju ngembangkeun kode dina tim. Upami anjeun macét di mana waé, aranjeunna ngabantosan, mamatahan, ngabahas, bahkan saling ngabantah ngeunaan cara anu pangsaéna pikeun ngalakukeunana. Dina wawancara, kuring hilap kumaha pariksa dina JUnit 5 yén metodeu ngalungkeun Pangecualian - aranjeunna nawiskeun neraskeun nyerat tés, sedengkeun salah sahijina googling kumaha ngalakukeunana.

Sacara harfiah sababaraha jam saatos wawancara, kuring nampi tanggapan anu konstruktif - naon anu kuring resep sareng anu henteu. Bisi kuring, kuring dipuji pikeun ngagunakeun kelas Disegel salaku alternatif pikeun objek null; pikeun kanyataan yén saméméh nulis kode, Kuring nulis dina pseudocode kumaha Abdi hoyong ngadalikeun Rover nu, sahingga narima sketsa tina kelas, sahenteuna maranéhanana anu aub dina API robot urang.

Lengkah 2: Bejakeun ka kami

Saminggu sateuacan wawancara, kuring dipénta nyiapkeun presentasi ngeunaan topik naon waé anu dipikaresep ku kuring. Formatna basajan sareng biasa: presentasi 15 menit, 15 menit ngajawab patarosan.
Kuring milih Bersih Arsitéktur ku Paman Bob. Jeung deui kuring diwawancara ku sababaraha urang. Ieu mangrupikeun pangalaman munggaran kuring pikeun nampilkeun dina basa Inggris, sareng, sigana, upami kuring dina kaayaan stres, kuring moal tiasa ngatasi. Tapi sakali deui, kuring henteu kantos ngalaman rarasaan yén kuring dina wawancara. Sagalana sapertos biasa - kuring nyarioskeun ka aranjeunna, aranjeunna ngadangukeun taliti. Malah sési patarosan sareng jawaban tradisional sanés sapertos wawancara; éta écés yén patarosan-patarosan henteu ditaroskeun "tenggelam", tapi anu leres-leres resep kana presentasi kuring.

Sababaraha jam saatos wawancara, kuring nampi tanggapan - presentasi éta mangpaat pisan sareng aranjeunna leres-leres resep ngadangukeun.

Tahap 3. Kode Kualitas Produksi

Saatos ngingetkeun yén ieu mangrupikeun tahapan wawancara téknis anu terakhir, kuring dipenta pikeun mawa kodeu di bumi ka kaayaan siap produksi, teras kirimkeun kodeu pikeun ulasan sareng ngajadwalkeun wawancara dimana sarat pikeun tugas bakal robih sareng kodeu bakal. merlukeun modifikasi. Ningali payun, abdi tiasa disebutkeun yen review kode dilumangsungkeun ambing, reviewers teu nyaho posisi nu calon ngalamar, maranéhna teu ningali CV-Na, maranéhna malah teu ningali ngaranna.

Telepon disada, sareng deui aya sababaraha lalaki di sisi séjén monitor. Sadayana sami sareng dina wawancara munggaran: hal utama nyaéta henteu hilap ngeunaan TDD, nyarioskeun naon anu anjeun lakukeun sareng kunaon. Upami anjeun henteu acan latihan TDD sateuacanna, maka kuring nyarankeun ngamimitian ngalakukeun éta langsung, sanés sabab dipikabutuh di perusahaan, tapi sabab sacara signifikan nyederhanakeun kahirupan anjeun, ngirangan tingkat setrés anjeun upami anjeun resep. Inget kumaha anjeun kungsi frantically neangan kalawan debugger pikeun kasalahan nu ngan bisa dihasilkeun ngaliwatan browser nu, tapi anjeun teu bisa baranahan deui kalawan tés? Ayeuna bayangkeun yén anjeun kedah nangkep kasalahan sapertos kitu nalika wawancara - anjeun dijamin sababaraha rambut abu. Naon anu urang kéngingkeun ku TDD? Kami ngarobih kodeu sareng teu kaduga sadar yén ayeuna tésna beureum, tapi naon kasalahan anu urang henteu tiasa terang pertama kalina? Oké, urang nyebutkeun "Aduh" ka interviewers, pencét Ctrl-Z tur mimitian nyokot léngkah leutik ka hareup. Sareng enya, anjeun kedah ngembangkeun kamampuan ngagunakeun TDD dina diri anjeun, kamampuan pikeun ngahontal tujuan supados tés anjeun tetep héjo, sareng henteu beureum satengah dinten, sabab "anjeun gaduh seueur refactoring." Ieu persis skill sarua nulis kode maintainable, atawa nulis kode produktif.

Janten, kumaha ogé kode anjeun tiasa dirobih gumantung kana desain naon anu anjeun pikirkeun pikeun ngamimitian, kumaha saderhana éta, sareng kumaha saé tés anjeun.

Saatos wawancara, kuring nampi tanggapan dina sababaraha jam. Dina tahap ieu, kuring sadar yén kuring ampir lulus sareng sakedik pisan anu tinggaleun dugi ka kuring "papanggih Fowler."

Tahap 4. Pamungkas. Patarosan teknis cukup. Kami hoyong terang saha anjeun!

Jujur, kuring rada bingung ku rumusan patarosan ieu. Kumaha anjeun tiasa ngartos jenis jalma Kami dina hiji jam paguneman? Komo deui, kumaha anjeun bisa ngarti ieu lamun kuring nyarita basa nu lain basa asli kuring, jeung, terus terang diomongkeun, pisan lousy jeung basa-dibeungkeut. Dina wawancara saméméhna, éta leuwih gampang pikeun kuring pribadi ngobrol tinimbang ngajawab patarosan, sarta aksen éta nyalahkeun. Sahenteuna salah sahiji anu ngawawancara nyaéta Asia - sareng aksenna, nya, hayu urang nyarios, rada khusus pikeun ceuli Éropa. Ku alatan éta, kuring mutuskeun nyandak pendekatan proaktif - nyiapkeun presentasi ngeunaan kuring sorangan sarta dina awal tawaran wawancara ngobrol ngeunaan sorangan kalawan presentasi ieu. Upami aranjeunna satuju, maka sahenteuna bakal aya sakedik patarosan pikeun kuring; upami aranjeunna nampik panawaran, nya, 3 jam hirup kuring nyéépkeun presentasi sanés harga anu luhur. Tapi naon anu anjeun kedah nyerat dina presentasi anjeun? Biografi - Lahir di dinya, dina waktos éta, indit ka sakola, lulus ti universitas - tapi saha paduli?

Upami anjeun Google sakedik ngeunaan budaya Thoughtworks, anjeun bakal mendakan tulisan ku Martin Fowler [https://martinfowler.com/bliki/ThreePillars.html] anu ngajelaskeun 3 Pilar: Usaha Sustainable, Keunggulan Software, sareng Kaadilan Sosial.

Hayu urang anggap yén Software Excellence parantos dipariksa pikeun kuring. Tetep nunjukkeun Usaha Sustainable sareng Kaadilan Sosial.

Sumawona, kuring mutuskeun pikeun difokuskeun anu terakhir.

Pikeun mimitian, kuring nyarioskeun ka anjeunna naha ThoughtWorks - Kuring maca blog Martin Fowler nalika kuliah, ku kituna kuring resep kana kode Bersih.

Proyék ogé tiasa ditampilkeun tina sudut anu béda. Anjeunna ogé ngembangkeun parangkat lunak pikeun ubar anu nyederhanakeun kahirupan pasien, bahkan, numutkeun rumor, nyalametkeun hiji kahirupan. Kuring ogé dimekarkeun software pikeun bank, nu ogé dijieun hirup gampang pikeun warga. Utamana lamun bank ieu dipaké ku 70% tina populasi nagara urang. Ieu sanés ngeunaan Sberbank sareng sanés ngeunaan Rusia.

Hoyong terang ngeunaan kuring? OKÉ. Hobi abdi fotografi, salah sahiji atawa cara séjén Kuring geus nyekel kaméra dina leungeun kuring salila kira 10 taun, aya poto nu teu embarrassed teuing pikeun nembongkeun. Ogé, dina hiji waktu, kuring mantuan panyumputan ucing: Kuring difoto ucing nu peryogi imah permanén. Sareng kalayan poto anu saé langkung gampang pikeun nempatkeun ucing. Kuring meureun dipoto saratus ucing :)

Tungtungna, 80% presentasi kuring dieusi ucing.

Langsung saatos presentasi, HR nyerat ka kuring yén anjeunna henteu acan terang hasil wawancara, tapi sadayana kantor parantos kagum ku ucing.

Pamustunganana, kuring ngadagoan eupan balik - kuring nyugemakeun dulur salaku jalma.

Tapi dina paguneman ahir, HR tactfully ngomong yén Kaadilan Sosial pohara alus sarta diperlukeun, tapi teu sakabeh proyék kawas kieu. Sarta anjeunna nanya lamun eta sieun kuring. Sacara umum, kuring angkat sakedik sareng Kaadilan Sosial, éta kajadian :)

hasil

Hasilna, kuring parantos damel di Singapura di Thoughtworks sababaraha bulan ayeuna, sareng kuring ningali yén di dieu seueur teuing perusahaan anu nganut "prakték wawancara pangsaéna" ti Google, nganggo daun sareng Papan Tulis pikeun coding, sanaos gaduh langkung seueur pangaweruh tibatan Spring, Symfony, RubyOnRails (Ngagariskeun naon anu diperyogikeun) henteu diperyogikeun dina padamelan. Insinyur nyandak saminggu sateuacan wawancara pikeun "nyiapkeun."

Di Thoughtworks, sajaba sarat anu nyukupan pikeun calon, prinsip-prinsip ieu di payuneun:
Kabungahan Wawancara. Leuwih ti éta, pikeun dua sisi. Mémang, upami anjeun hoyong kéngingkeun tanaga anu pangsaéna (sareng saha anu henteu?), maka wawancara sanés mangrupikeun pasar dimana budak dipilih, tapi mangrupikeun acara dimana dunungan sareng calon silih evaluasi. Sareng upami calon ngahubungkeun émosi anu pikaresepeun sareng perusahaan, sigana anjeunna bakal milih perusahaan khusus ieu.

Sababaraha interviewers pikeun mitigate bias. Di Thoughtworks, program pasangan mangrupikeun standar de facto. Sareng upami prakték ieu tiasa diterapkeun ka daérah sanés, TW nyobian ngalakukeunana. Dina unggal tahapan wawancara dilaksanakeun ku 2 urang. Ku kituna, unggal jalma ditaksir ku sahanteuna 8 jalma, sarta TW nyoba milih interviewers kalawan backgrounds béda, arah béda (teu ngan teknisi) jeung génder.

Pamustunganana, kaputusan nyewa bakal dilakukeun dumasar kana pendapat sahenteuna 8 jalma, sareng teu aya anu ngagaduhan sora casting.

Ngiring dumasar-atribut Gantina nyieun kaputusan dumasar kana likes atawa henteu resep calon urang, formulir dimekarkeun pikeun tiap peran sarta unggal tahapan nu ngawengku atribut keur ditaksir. Dina waktos anu sami, nalika meunteun, disarankeun pisan pikeun meunteun sanés pangalaman dina kaahlian anu tangtu, tapi kamampuan pikeun nerapkeunana. Ku kituna, lamun calon teu bisa nerapkeun sagala kaahlian, kayaning TDD, tapi kumaha oge, manehna nyoba nerapkeun eta, listens nasehat ngeunaan cara ngagunakeun éta leres, anjeunna boga unggal kasempetan pikeun lulus wawancara.

Sertipikat Atikan henteu diperyogikeun TW henteu meryogikeun sertifikasi atanapi pendidikan dina Ilmu Komputer. Ngan kaahlian anu ditaksir.

Ieu wawancara munggaran kuring geus kungsi jeung pausahaan asing nu kuring teu kudu nyiapkeun. Sanggeus unggal tahap, kuring teu ngarasa exhausted, tapi sabalikna, kuring bungah yén kuring bisa nerapkeun lila pangalusna, yén jalma di sisi séjén monitor ngaapresiasi eta jeung nerapkeun eta unggal poe.

Saatos sababaraha bulan, kuring tiasa nyebatkeun yén harepan kuring parantos kacumponan. Kumaha ThoughtWorks béda ti perusahaan biasa? Dina perusahaan biasa anjeun tiasa mendakan pamekar anu saé sareng jalma anu saé, tapi dina TW konsentrasina pareum dina grafik.

Upami anjeun resep ngiringan ThoughtWorks, anjeun tiasa ningali posisi kabuka kami di dieu
Kuring ogé nyarankeun nengetan lowongan metot:
Insinyur Perangkat Lunak Utama: Jérman, London, Madrid, Сингапур
Insinyur Parangkat Lunak Senior: Sydney, Jérman, Manchester, Bangkok
Insinyur Perangkat Lunak: Sydney, Barcelona, Milan
Insinyur Data Senior: Milan
analis kualitas: Jérman Cina
Infrastruktur: Jérman, London, Chili
(Abdi hoyong jujur ​​ngingetkeun yén link mangrupakeun link rujukan, mun anjeun buka TW, Kuring baris nampa bonus nice). Milih hiji kantor anjeun resep, anjeun teu kudu ngawatesan diri ka Éropa, sanggeus kabeh, unggal 2 taun TW bakal senang mun mindahkeun anjeun ka nagara sejen, sabab ... Ieu bagian tina kawijakan ThoughtWorks, ku kituna budaya ieu sumebar tur homogenized.

Ulah ragu naroskeun patarosan dina koméntar atanapi naroskeun ka kuring pikeun saran.
Upami topikna sigana pikaresepeun, kuring bakal nyerat ngeunaan kumaha damel di ThoughtWorks sareng kumaha kahirupan di Singapura.

sumber: www.habr.com

Tambahkeun komentar