JavaRush /Java Blog /Random-TL /Aerobatics sa isang teknikal na panayam: kung paano ako n...

Aerobatics sa isang teknikal na panayam: kung paano ako nakapasok sa Google, Microsoft at higit pa

Nai-publish sa grupo
Pagsasalin at pag-aangkop ng artikulong Ace Your Technical Interview: What Got Me Into Google, Microsoft and More in The Startup community on Medium. Aerobatics sa isang teknikal na panayam: kung paano ako nakapasok sa Google, Microsoft at higit pa - 1Bago ang aking unang internship interview, wala akong ideya na itatanong din ang mga teknikal na katanungan. Ipinapalagay ko na magkakaroon lamang ng isang grupo ng mga tanong na "sabihin sa akin ang tungkol sa iyong sarili" na naghihintay sa akin. Gayunpaman, hindi rin ako nakapaghanda ng maayos para sa kanila. Gumugol ako ng dalawang oras sa career guidance center na sinusubukang makakuha ng ilang mahalagang payo mula sa lahat, at isa pang dalawang oras sa bahay na nag-eensayo ng mga sagot sa iba't ibang tanong. Ngunit nang dumating ako para sa panayam, ang tagapanayam ay hindi nagtanong tungkol sa aking mga kalakasan at kahinaan. Sa halip, inabutan ako ng marker at sinabihang pumunta sa board. At hindi ko naisip na susuriin muna nila ang aking mga teknikal na kakayahan! Nagulat ako dito. Hindi ko alam kung paano sasagutin nang tama ang mga tanong at makalipas ang ilang oras ay nakatanggap ako ng email na may magalang na pagtanggi. Sa kabutihang palad, pagkatapos ng insidenteng ito ay nagkaroon ako ng maraming matagumpay na panayam. Nakapunta na ako sa limampung teknikal na panayam at inihanda ang marami sa aking mga kaibigan para sa kanila. Mukhang gumagana nang maayos ang aking diskarte, dahil nakatulong ito sa akin at sa iba na magtagumpay sa mga panayam sa mga kumpanya tulad ng Google, Microsoft, Apple, Amazon, atbp. Gusto kong tulungan ang lahat nang personal, ngunit walang sapat na oras para dito. Ang pinakamahusay na magagawa ko ay magbahagi ng sunud-sunod na gabay sa kung paano ace sa mga teknikal na panayam. Natutunan ko kung ano ang maaari at hindi maaaring gawin sa mga ganitong sitwasyon sa pamamagitan ng pagsubok at pagkakamali. Kaya narito ang isang listahan ng mga kapaki-pakinabang na tip mula sa akin na naipon ko sa loob ng ilang taon ng pagsasanay.

1. Huwag tumalon kaagad sa mga kunwaring panayam.

Karaniwang pinapayuhan ng mga tao ang paggawa ng maraming kunwaring panayam hangga't maaari—at tama sila. Ngunit kung hindi ka handa, ang isang kunwaring panayam ay maaaring hindi epektibo, nakakatakot, at kahit na nakakasira ng moralidad. Masasabi ko sa iyo mula sa karanasan: kung nakapanayam ako ng isang taong ganap na hindi handa bilang isang pagsasanay, sa huli ay nakaramdam sila ng demotivated dahil sila ay "lumulutang" sa mga tanong at hindi nakasagot nang maayos. Maglaan ng oras upang maghanda nang mas mahusay at maunawaan kung ano ang isang teknikal na panayam. Narito ang isang magandang halimbawa ng isang kunwaring panayam sa Google:

2. Mga kasanayan sa komunikasyon > antas ng teknikal na pagsasanay

Maraming tao ang naghahanda para sa mga teknikal na panayam sa pamamagitan ng paggugol ng oras sa mga site tulad ng LeetCode at Hackerrank. Ang mga ito ay mahusay na mga platform para sa pagsasanay. Ngunit pinakamainam na magpahinga ng kaunting oras bago ka mag-aksaya ng isang grupo ng mga oras sa walang humpay na paglutas ng mga problemang sa tingin mo ay kakaharapin mo sa isang pakikipanayam. Ito ay isang hindi epektibong diskarte: sa isang pakikipanayam makakatagpo ka ng hindi bababa sa isang tanong na hindi mo pa nakikita kahit saan. Ang ilan sa aking mga kaibigan ay may mas malakas na mga programmer kaysa sa akin, at madalas akong nagulat kung bakit ako sumasagot sa mga pagsubok sa aking teknikal na background habang sila (minsan) ay hindi. Ang pinakamalaking pagkakaiba sa pagitan namin ay malamang na gumugol ako ng maraming oras sa pagsasanay ng aking mga kasanayan sa komunikasyon. Seryoso: hindi makakatulong ang pag-alam kung paano lutasin ang nangungunang 100 teknikal na gawain kung hindi mo malinaw na maipaliwanag ang iyong lohika ng solusyon. Napakahalagang matutong magbalangkas ng mga kaisipan. Sa una, ang lahat ng ito ay maaaring mukhang mahirap, awkward at hindi natural, ngunit nakakatulong ang pagsasanay. Mahalagang panatilihing napapanahon ang iyong teknikal na background, ngunit ang pagpapaunlad ng iyong mga kasanayan sa komunikasyon ay marahil mas mahalaga. Kung napipilitan ka para sa oras bago ang isang paparating na panayam, mas mahusay na tumuon sa komunikasyon kaysa subukang gawing muli ang materyal na iyong ginugol sa dalawang taon sa pag-aaral sa computer science sa loob ng dalawang araw. Bago ang iyong susunod na teknikal na panayam, subukang pag-aralan ito:

2.1 Matutong magtanong ng mga paglilinaw

Ang isa sa mga pangunahing bentahe ng isang pakikipanayam ay ang kakayahang linawin ang tanong na tinanong sa iyo. Karaniwan ang mga nagsasagawa ng mga panayam ay hindi nagbibigay ng lahat ng background na impormasyon, kaya kailangan mong kunin ang mga karagdagang detalye mula sa kanila. Hindi mo malulutas ang isang problema nang hindi lubos na nauunawaan kung ano ito! Upang magsanay, maaari kang kumuha ng ilang mga tanong mula sa mga teknikal na panayam at makabuo ng isang serye ng mga tanong na nagpapaliwanag para sa kanila. Halimbawa, kung hihilingin sa iyong pagbukud-bukurin ang isang listahan, maaari mong itanong:
  • Paano ayusin ang isang listahan - sa pataas o pababang pagkakasunud-sunod?
  • Anong uri ng data ang nilalaman ng listahan?
  • Maaari ka bang magbigay ng isang halimbawa ng kung ano ang magiging hitsura ng data input at output para sa ganitong uri ng gawain?
  • atbp.
Maaaring marami pang tanong - ilan lamang ito sa mga halimbawa. Siguraduhing linawin ang iba't ibang mga nuances: Humingi ng isang halimbawa ng input at output
  • Tukuyin ang uri ng data
  • Suriin kung mayroong anumang mga paghihigpit sa hanay ng mga halaga
  • Itanong kung kailangan mong harapin ang mga edge case
  • Alamin kung maaari kang gumamit ng ilang partikular na library at feature ng wika kung saan ka nagprograma

2.2 Matutong magpahayag ng mga saloobin

Sa sandaling naitanong mo na ang lahat ng mga katanungan sa paglilinaw at alam mo nang eksakto kung ano ang kailangan mo upang malutas ang problema, oras na upang matutunan kung paano maayos na ipaalam ang kakanyahan ng iyong solusyon. Kung magsisimula ka lang magsulat ng code nang hindi ipinapaliwanag kung bakit mo ito ginagawa, magiging mahirap para sa tagapanayam na malaman kung ikaw ay tama o mali. Hindi ka makakatanggap ng mga puntos para dito, hindi banggitin ang katotohanan na maaari kang magsulat ng maling solusyon. Kapag ipinaliwanag mo ang lohika sa likod ng iyong desisyon sa daan, maituturo ka ng tagapanayam sa tamang direksyon kung medyo naliligaw ka. Bago magsulat ng anumang code, subukan ito:
  • Sabihin sa iyong kausap ang tungkol sa iyong posibleng solusyon - malulutas mo ba ang problema nang "head-on" at posible ba ito o mapapabuti ito kahit papaano?
  • Maglakad sa iyong solusyon nang sunud-sunod na may isang halimbawa upang makuha ang diwa ng kung paano ito dapat gumana.
  • Hatiin ang solusyon sa ilang hakbang at isulat ang pseudocode o “skeleton” upang maunawaan ng tagapanayam ang iyong proseso ng pag-iisip
  • Subukan ang iyong solusyon gamit ang iba't ibang mga edge case upang makita kung nasaklaw mo na ang lahat. Hilingin ang opinyon ng tagapanayam.
Upang magsanay, kumuha ng isang nagtrabaho na tanong sa panayam at subukang sabihin ang tamang sagot (solusyon) sa isang kaibigan. Kung hindi mo mahanap ang isang kaibigan, kumuha ng isang pinalamanan na hayop o anumang iba pang bagay at magsanay kasama ito.

3. Pagbutihin ang iyong teknikal na kaalaman at kasanayan

Kapag natutunan mo na kung paano makipag-usap nang tama sa isang pakikipanayam, maaari mong ilagay ang lahat ng iyong lakas sa pag-upgrade ng iyong teknikal na kaalaman. Siguraduhing mag-ayos sa mga algorithm at istruktura ng data. Tiyaking naiintindihan mo ang mga pangunahing paksa gaya ng mga istruktura ng data, pag-uuri, pagtatrabaho sa mga algorithm, bitwise operator, Big O notation, atbp. Ang listahan ng mga bagay na kailangan mong malaman ay iba-iba depende sa posisyon na iyong inaaplayan.

4. Magsanay!

Ngayon, na-upgrade ang mga kinakailangang kasanayan at kaalaman, maaari mong ihagis ang lahat ng iyong enerhiya sa pagsasanay.
Ang kursong JavaRush ay naglalaman ng maraming gawaing "palaisipan" at buong proyekto para sa paglikha ng mga solusyon sa aplikasyon.
Subukan hindi lamang magsulat ng isang solusyon, ngunit pag-isipan ang mga hakbang: magtanong sa isip ng mga paglilinaw ng mga katanungan, isipin ang istraktura, at pagkatapos ay isulat ang solusyon. Makakatulong ito sa iyong maging mas kumpiyansa sa panayam, at ang kumpiyansa ay hari!

5. Ano ang gagawin kung ikaw ay "natigil" sa isang panayam?

Ngayon isipin natin na napunta ka sa isang tunay na pakikipanayam at biglang natanto na ang tanong ay nalilito sa iyo. Wala kang ideya kung ano ang kailangang gawin at kung paano lutasin ang problema. Gusto mong tumakbo na lang palabas ng kwarto at hindi na bumalik. Naiintindihan ko - napunta ako sa mga sitwasyon na pinapangarap ko pa rin sa mga bangungot. Ngunit huwag mag-alala—lahat ng pag-asa ay hindi pa nawawala. Nangyari ito nang higit sa isang beses sa panahon ng mga panayam, ngunit kadalasan ay nagtatapos sila sa isang alok. Mahirap, nakakaabala, pero lahat ay posible. Magpahinga ka at mag-isip. Huminga, ayusin ang iyong mga iniisip. Marahil magkakaroon ka ng "clue". Subukan ang iyong solusyon sa isang simpleng halimbawa. Subukang lumikha ng isang pinasimple na bersyon ng solusyon sa isang katulad na problema, ngunit mas simple, na binibigyang pansin ang mga hakbang-hakbang na aksyon. Halimbawa, kung kailangan mong ayusin ang isang listahan, ano ang gagawin mo? Hahanapin mo ang pinakamaliit na numero at ilagay ito sa simula. Paano mo ipapatupad ang solusyon na ito sa code? Sabihin sa amin ang tungkol sa isang pribadong solusyon. Kung hindi lalabas ang buong solusyon, okay lang. Sabihin ito sa tagapanayam, ngunit hayaan mo rin siyang pumasok sa iyong pag-iisip. Ang hamon ba na ito ay katulad ng anumang naranasan mo? Mukhang kailangan mong gumamit ng isang tiyak na istraktura ng data upang malutas ito? Ibahagi ang lohika na gumagabay sa iyo. Maging tapat. Kung sigurado ka na ang tanong sa iyo ay mula sa isang lugar ng kaalaman na hindi pamilyar sa iyo, sabihin sa tagapanayam ang tungkol dito. Sabihin na handa ka nang maghanap ng solusyon, ngunit wala ka pang mga kinakailangang kasanayan. Minsan ay tinanong ako ng isang katanungan na may kaugnayan sa seguridad ng network. Noong panahong iyon, wala akong practice sa lugar na ito, na sinabi ko sa mga tagapanayam. Ipinaliwanag nila sa akin ang mga kinakailangang pangunahing kaalaman upang makayanan ko ang gawain. Makikipanayam ka ng mga totoong tao :) Naiintindihan ka nila, dahil sila mismo ay nasa katulad na mga sitwasyon. Ito ang lahat ng mga tip na binuo ko sa loob ng ilang taon ng mga panayam. Tinulungan nila ako at ang aking mga kaibigan na makapasok sa mga nangungunang kumpanya. Good luck sa paghahanap!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION