Цахиурын хөндийд байрлах технологийн мангасуудад ажиллаж үзэхийг инженерүүд бид бүгд л хүсдэг мөртлөө тэр болгон хаанаас эхлэхээ мэддэггүй. Миний бие 11-р сард уг хоёр компанитай ярилцлага хийх боломж олдсон ба өөрийн туршлагыг та бүхэнтэй хуваалцахыг хүссэн юм. Мөн уг компаниудтай ярилцлага хийхдээ нууц задруулахгүй гэсэн бичиг баримтанд гарын үсэг зурсан учраас надаас яг ямар асуулт асуусан гэх мэт мэдээлэл өгөх боломжгүй.


1. Facebook

facebook

1.1. Ажилд орох хүсэлтээ илгээх

Аливаа компанид хүсэлт илгээх ерөнхий хоёр арга байдаг. Эхнийх нь уг компанид ажилладаг найз нөхдөөрөө refer хийлгэх бол хоёр дахь арга нь уг компаний нээлттэй ажлын байрыг харж байгаад шууд хүсэлт илгээх. Интернэт хурдацтай хөгжиж байгаа энэ үед бүх л компани өөрийн нээлттэй ажлын байраа өөрсдийн веб хуудас дээрээ байрлуулдаг болсон.
Миний хувьд https://www.facebook.com/careers хуудас руу ороод шууд анкет бөглөсөн. Анкет бөглөснөөс хоёрхон цагийн дараа Facebook-н recruiter-с (хүний нөөцийн ажилтан) и-мэйл хүлээн авлаа. Уг захиандаа надтай утсаар ярих боломжтой цагийг асуусан байлаа.



1.2. Recruiter-тэй хийсэн ярилцлага

Энэ шатанд ерөнхийдөө миний өмнө юу хийж байсан, одоо юу хийдэг эсэх гэх мэт зүйлсүүдийг асуусан. Мөн яагаад Facebook-т орох хүсэлтэй зэргээ ярих боломж олдсон. Дараагийн шатанд Facebook компаний инженертэй 45 минутын утасны ярилцлага хийнэ гэдгийг recruiter надад хэллээ.



1.3. Инженертэй утсаар хийсэн ярилцлага

Товлосон цагт утсанд дуудлага ирлээ (бөөн сандрал). Ингээд цаад хүн маань өөрийгөө танилцуулаад тун удалгүй мэргэжлийн асуултууд асуусаар нэг л мэдэхэд ярилцлагын хугацаа дуусч сүүлчийн тав гаруй минутанд би нөгөө хүнээсээ хэд хэдэн асуулт асууж амжсан. Дараагийн шатанд орно гэдэгтээ 90% орчим итгэлтэй байлаа :) .
Ярилцлагаас хэд хоногийн дараа надад recruiter-с баяртай мэдээ ирсэн юм. Намайг сүүлчийн шат буюу Facebook компаний Menlo Park-д байрлах төв оффист ирж ярилцлага өгөхийг урилаа.



1.4. Сүүлчийн шат буюу нүүр тулсан ярилцлагууд

Facebook компаний төв оффис нь манай гэрээс 32 км зайтай байрладаг юм. Ажлын өдрийн өглөө замын түгжрэл ихтэй байдаг учраас гэрээсээ эртхэн гараад дуудсан цагаас 40 орчим минутын өмнө очлоо. Очсон даруйдаа үүдний хүлээн авагч дээр нь бүртгүүлчихээд ажилдаа ирж байгаа олон хүмүүсийг ажсан шигээ хүлээн суулаа.
Намайг тосч авах ёстой хүн цагтаа ирэн намайг дотогш дагуулан орлоо. Жил гаруйн өмнө уг кампусаар зочилж байсан учир нэг их шоконд орсонгүй :p. Recruiter-тэйгээ ойр зуурын юм ярьж явсаар нэг л мэдэхэд ярилцлага хийх өрөөндөө ирлээ. Эхний хүн ирэх хүртэл бидэнд 10 орчим минут байсан тул надад өнөөдрийн ярилцлага ямар хэв маягтай яаж явагдах гэх зүйлсийг тайлбарлаж өглөө.
Onsite ярилцлагын нэг сонирхолтой зүйл нь та компъютер дээр код бичих бус самбар дээр өөрийн санаа болон кодоо хэрэгжүүлдэг юм.



  • Ярилцлага 1
    Нөгөө хүн маань өөрийгөө танилцуулаад мэргэжлийн асуултууд руу орлоо. Анх та бүхэнд хэлснээр яг ямар асуулт асуусныг хэлэх боломжгүй. Санаандаа хүртэл хийж чадсангүй.
  • Ярилцлага 2
    Мөн л өөрийгөө танилцуулаад техникийн асуултууд руу орлоо. Эхнийхээс ямар ч байсан дээр хийлээ шүү!
  • Ярилцлага 3 буюу үдийн хоол
    Эхний хоёр ярилцлагын дараа өлссөн намайг өөр нэг хүн ирж үдийн хоолонд дагуулан явлаа. Хүн чинь олон төрлийн хоол хараад тулгамддаг юм байна лээ. Очиж очиж бүргер сонгоод байх дээ яахав (гоё л байсан л даа). Үдийн хоолны ярилцлага нь албан ёсных биш учраас та хүссэн юмаа асууж чөлөөтэй ярилцах боломжтой!
  • Ярилцлага 4
    Ярилцлагын ихэнх хэсэгт миний туршлага, тулгарч байсан бэрхшээл гэх мэт зүйлсийг ярьж өнгөрүүллээ. Төгсгөл хэсэгт мөн л програмчлалын бодлого асуув. Дажгүй хийлээ шүү!
  • Ярилцлага 5
    Сүүлчийн энэ ярилцлага хамгийн сайн нь боллоо! Өгсөн бүх асуултуудад маш хурдан хариулж явсаар бидэнд хангалттай хугацаа үлдсэн юм. Энэ цагаа ашиглаад нөгөө хүнээсээ сонирхож байсан олон асуултандаа хариулт авсан.

1.5. Хамгийн хэцүү хэсэг буюу хүлээлт

Ярилцлагаа өгсний дараа олон л юм бодогдож байлаа. Тэр ярилцлагыг ингээд хийчихсэн бол, энийг ингэчихсэн бол гэх мэт... Ямар ч байсан 5 хоногийн дараа утсанд дуудлага ирснээр хүсч хүлээж байсан баяртай мэдээгээ сонслоо - Facebook компанид програм хангамжийн инженерээр ажиллах ажлын санал!



2. Google

Google



2.1. Ажилд орох хүсэлтээ илгээх

Google компанид ажилладаг нэг Энэтхэг найз маань намайг refer хийж тус болсон юм.



2.2. Recruiter-тэй хийсэн ярилцлага

Facebook-тэй хийсэн ярилцлагын нэгэн адилаар миний өмнө юу хийж байсан, одоо юу хийдэг, цаашид аль чиглэлээр ажиллах хүсэлтэй зэргийг асууж тодруулаад дара агийн шатанд Google-н инженертэй ярилцлага хийнэ гэдгийг хэлсэн юм.



2.3. Инженертэй утсаар хийсан ярилцлага

Энэ ярилцлага намайг алдаагүй цэвэр код бичүүлэх гэхээсээ илүү тухайн асуудлыг шийдэх аргыг олуулахад чиглэсэн байв. Ямар ч байсан надаас асуухаар бэлдсэн бүх асуултуудыг гүйцэтгээд дахин нэг нэмэлт даалгаврыг биелүүлсний дараа бидэнд 10 орчим минут үлдсэн байв. Нөгөө хүн маань намайг бусад өрсөлдөгчдөөсөө хамайгүй урдуур давхиж байгааг хэлж итгэл төрүүллээ. Ингэд үлдсэн хугацаанд би мөн л компаний өдөр тутмын үйл ажиллагаа, хөгжүүлэлтийн процесс гэх зүйлсийг асуусаар дуусгалаа.
Ярилцлага дууссаны дараа хэдхэн цагийн дараа recruiter над руу залган сүүлчийн шат буюу Mountain View дэх Google-н төв салбар дээрээ ярилцлаганд урьж байгаагаа дуулгалаа.



2.4. Сүүлчийн шат буюу нүүр тулсан ярилцлагууд

Google компаний оффис манайхаас 20 км гаруй зайд байрладаг ч мөн л замын түгжрээнээс сэргийлээд эрт гарав. Товлосон газраа арай хийн машины зогсоол олж машинаа байрлуулаад үүдний хүлээн авагчид очиж бүртгүүлээд хүлээлгийн зааланд суулаа. Тун удалгүй хүний нөөцийн нэг ажилтан намайг тосч аваад дотогш орууллаа. Гүүглийн кампуст зочилсон анхны тохиолдол маань энэ байсан учраас бүх л зүйл шинэ, их гоё санагдсан. Ингээд хүний нөөцийн ажилтнаас зааварчилгаа авч дууссаны дараа гол асуудалдаа орлоо доо.



  • Ярилцлага 1
    Нэлээд туршлагатай байрын инженер орж ирж өөрийгөө танилцуулаад асуултуудаа ч эхэллээ. Эхний хоёр даалгаврыг гайгүй гүйцэтгэсэн ч сүүлийн асуултаа буруу ойлгож цаг алдсанаар ярилцлага ч өндөрлөлөө. Харамсалтай байлаа!
  • Ярилцлага 2
    Ярилцлагын эхнээс л бүх зүйл сайн өрнөлөө. Дунд хэсэгт гацаад байсан зүйлээ биелүүлснээр цаашдаа бүх зүйл саадгүй явсаар ярилцлага дууслаа. Ярилцлага 3
  • Өмнөх хоёр хүнийг бодвол харьцангүй залуу инженер орж ирээд эхний асуултаа асуулаа. Би тэр дор нь уг асуултыг өмнө харж байснаа хэлээд өөр асуулт надаас асуухыг хүслээ (үнэнээ хэлэх нь өөрийг тань шудрага хүн болохыг харуулдаг). Ингээд надаас дараагийн асуултан дээр нэг их гацалгүй зөв бодолтыг олсон юм. Ингээд зогссонгүй би илүү сайн нэг бодолт олоод хэлтэл ярилцлага авсан хүн маань уг бодлогонд хүмүүсийн өгч байсан хамгийн шилдэг бодолт гэдгийг хэлсэн юм.
  • Ярилцлага 4 буюу үдийн хоол
    Үдийн хоолны энэ ярилцлага албан бус учраас мөн л хүссэн зүйлээ асууж чөлөөтэй байж болох тохиромжтой үе. Энэ удаад шпагетти!
  • Ярилцлага 5
    Энэ удаагийн ярилцлага бүр гайхалтай сайн болоогүй ч гэсэн өгсөн даалгавруудыг ямар нэг байдлаар биелүүлсэн учраас дажгүй гэж дүгнэлээ.
  • Ярилцлага 6
    Сүүлчийн буюу хамгийн хүнд ярилцлага болж өнгөрлөө. Орж ирээд л эхний 10 минутанд сонсож байгаагүй зүйлүүд асуусаар намайг нэлээд сандралын байдалд оруулаад авлаа :(. Азаар цаашид асуусан асуултууд нь мэддэг зүйлүүд байсан болохоор тэгэсхийгээд өнгөрөв. Энэ өдрийн ярилцлагуудаас хамгийн тааруухан болж өнгөрлөө.

2.5. Bonus

Ярилцлагаа өгч дууссаны дараа өөрийн хүндэлж явдаг хүмүүсийн нэг болох Google-н ахлах инженер Баттулга ахтай уулзаж ярилцах боломж олдсон юм.



2.6. Дахиад л хүлээлт

Google-н сүүлчийн шатны ярилцлагын өмнөх өдөр Facebook-с ажлын саналаа авчихсан байсан учир бас ч гэж айхтар санаа зовсонгүй. Google-д тэнцэхгүй бол Facebook-д орчихно гэж өөрийгөө тайвшруулсан янзтай :). Ингээд бараг 7 хоногийн дараа мөн л баярт мэдээ дуулах нь тэр - Google-д програм хангамжийн инженерээр орох санал.



Сонголт

Миний амьдралдаа хийж байсан хамгийн хүндхэн сонголтуудын нэг байсан нь мэдээж. Хоёулаа нэр хүндтэй, хоёулаа миний мөрөөдлийн газар, хоёулаа хангамж сайн гээд бүхий л зүйлээрээ эн тэнцүүхэн. Олон хүчин зүйлсийг харьцуулж удаан бодсоны эцэст Facebook компанид орохоор шийдлээ. Гэхдээ бүх зүйл яг одоо л эхлэж байгаа гэж бодож байна, Facebook-т ажиллаж байгаа мянга мянган шилдэг инженерүүдтэй мөр зэрэгцэн ажиллаж тэднээс суралцахыг тэсэн ядан хүлээж байна!




3. Эдгээр компаниудын шалгалтанд хэрхэн бэлдэх вэ?


Хоёр жилийн өмнө би энэ хоёр компаниас ажлын санал авчихаад алинд нь орох вэ гээд сонгоод сууж байна гэж зүүдэлж ч байсангүй. Тэр үеийн надад бүтэшгүй мөрөөдөл байлаа. Харин энд сургуульд сурахаад ирсний дараа өөртөө маш том давуу тал байгаа юм байна гэдгийг анзаарсан юм - Алгоритмын бодлого бодох чадвар. МУИС-д орсон цагаасаа эхлээд өөрийнхөө хүсэл сонирхолд хөтлөгдөөд Алгоритмын төрөл бүрийн тэмцээн уралдаанд орсоор TopCoder веб сайт дээр Монголоос анх удаа улаан гишүүн (шатраар бол их мастер?) болж байсан юм. Тиймээс миний боддог байсан бодлогуудын хажууд ярилцлагын үед ирдэг бодлогууд хамаагүй хөнгөн байсан. Гэхдээ бодлого боддог мундаг байсан ч гэсэн заавал бэлтгэл хийгээрэй. Учир нь ярилцлагын үед ирдэг асуултууд стандарт програмчлалын бодлогуудаас жаахан өөр стильтэй. Цаг заваа зориулаад бэлдэх юм бол хүн бүрт маш өндөр боломж байгаа гэдэгт би бат итгэлтэй байна. Та бүхэн цахиурын хөндийн технологийн компаниудад инженерийн ажилд орохоор нэгэнт шийдсэн бол доорх зүйлсүүдийг бэлдээрэй.



  • Англи хэл
    За энэ ч ойлгомжтой байх. Гэхдээ та сүрдэж айх хэрэггүй, та Америкт сургуульд сурах гэж байгаа биш шүү дээ. Танаас TOEFL-н оноо шаардах нэг ч компани байхгүй гэдэгт маш итгэлтэй байна. Гол зүйл нь утасны цаанаас болон нүүр тулсан ярилцлагын үед өөрийнхөө хэлэх гэсэн зүйлээ хангалттай ойлгуулж чаддаг бас нөгөө хүнээ сайн ойлгодог байхад болно. Би өөрөө мундаг Англи хэлгүй шүү - мундаг байсан бол мундаг сургуульд сурах байсан юм :P.
  • Алгоритм ба өгөгдлийн бүтэц
    Хамгийн чухал зүйл бол энэ. Coding interview бол маш энгийн. Танаас ямар нэгэн бодлого асуух ба та тухайн бодлогыг хамгийн оновчтой байдлаар шийдэх ёстой. Мөн бодлого бодож байх үед та үргэлж өөрийнхөө юу бодож яах гэж байгаагаа цаад хүндээ хэлж байх ёстой. Таг дуугүй 10 минут байж байсныхаа дараа гэнэт код бичиж огтхон ч болохгүй. Та тухайн бодлогын хамгийн оновчтой шийдлийг олоогүй бол гутрах хэрэггүй. Яагаад гэвэл хамгийн оновчтой шийдлийг олох нь чухал бус тухайн ярилцагч хүнтэйгээ ярилцаж хамтарч шийдэлдээ хүрэх нь чухал юм. Ярилцлагын үед хардаг гол зүйл нь тухайн хүн бодлого сайн боддог эсэх бус ажилд авсны дараа баг хамт олонтойгоо ажиллаж чадах эсэх юм.
    Хэрвээ та оюутны ширээгээ орхиод удаж байгаа бол LinkedList, Stack, Heap, Binary Tree/Binary Search Tree гэх мэт өгөгдлийн бүтцүүдээ бүгдийг нь сэргээгээд хараарай. CareerCup веб сайтаас ярилцлагын үед ирдэг түгээмэл бодлогуудыг харж болно.
  • Системийн дизайн
    Фейсбүүк шиг сошиал сайт хэрхэн хийх вэ? Танаас ийм асуулт ч асууж магадгүй. Хэдэн мянган инженер өчнөөн жил гүйцэтгэсэн ажлыг та ярилцлагын 40 минутын туршид хийж барахгүй нь л лавтай. Энэ төрлийн ярилцлага бол код огт бичихгүйгээр системийн нэлээд дээд түвшний дизайн гүйцэтгэх юм. Зөв буруу хариулт гэсэн юм байхгүй учраас таны creative байх боломж.
  • Самбар дээр код бичих
    Onsite ярилцлагын үед та самбар дээр код бичих болно. Үүнийг хялбар гэж бодож байж магадгүй, гэхдээ санаснаас чинь хавьгүй хүнд шүү. Таныг самбар дээр бичиж байгаа гээд хөнгөхөн дүгнэнэ гэж байхгүй. Код бичихдээ гаргасан жижиг сажиг алдаа бүр чинь таны авах оноонд нөлөөлөх боломжтой.
  • http://www.xongor.mn