Сайн зүйл хямдхан байдаггүй. Гэхдээ үнэ төлбөргүй байж болно

Энэ нийтлэлд би Rolling Scopes School-ийн талаар ярихыг хүсч байна, надад үнэхээр таалагдсан үнэгүй JavaScript/frontend курс. Би энэ курсын талаар санамсаргүйгээр олж мэдсэн, миний бодлоор энэ талаар Интернетэд мэдээлэл бага байдаг, гэхдээ курс нь маш сайн бөгөөд анхаарал татахуйц байх ёстой. Програмчлалыг бие даан сурах гэж буй хүмүүст энэ нийтлэл хэрэг болно гэж бодож байна. Ямар ч байсан, хэрэв хэн нэгэн надад энэ сургалтын талаар өмнө нь хэлсэн бол би мэдээж талархах байсан.

Өөрсдийгөө эхнээс нь сурахыг оролдоогүй хүмүүст асуулт гарч ирж магадгүй юм: яагаад ямар ч курс хэрэгтэй байна, яагаад гэвэл Интернетэд маш их мэдээлэл байдаг - үүнийг аваад сур. Үнэн хэрэгтээ мэдээллийн далай нь үргэлж сайн байдаггүй, учир нь энэ тэнгисээс яг хэрэгтэй зүйлээ сонгох нь тийм ч хялбар биш юм. Курс танд хэлэх болно: юу сурах, яаж сурах, ямар хурдаар сурах; сайн, анхаарал татахуйц мэдээллийн эх сурвалжийг чанар муутай, хуучирсан эх сурвалжаас ялгахад тусална; олон тооны практик даалгавруудыг санал болгоно; чамтай ижил зүйлийг хийдэг хүсэл тэмүүлэлтэй, сонирхолтой хүмүүсийн нийгэмлэгийн нэг хэсэг болох боломжийг танд олгоно.

Хичээлийн туршид бид даалгавруудыг байнга биелүүлдэг: тест авч, асуудлыг шийдэж, өөрсдийн төслийг бий болгосон. Энэ бүгдийг үнэлж, үр дүнг бусад оюутнуудын үр дүнтэй харьцуулж болох нийтлэг хүснэгтэд оруулав. Тэмцээний уур амьсгал сайхан, хөгжилтэй, сонирхолтой. Гэхдээ оноо нь дараагийн шатанд гарахад чухал боловч төгсгөл биш байсан. Сургалтын зохион байгуулагчид дэмжлэг, харилцан туслалцааг талархан хүлээж авав - чатаар оюутнууд даалгавраа шийдвэрлэх явцад үүссэн асуултуудыг ярилцаж, хамтдаа хариулт олохыг хичээв. Нэмж дурдахад зөвлөхүүд бидний суралцахад тусалсан нь үнэ төлбөргүй сургалтанд хамрагдах онцгой боломж юм.

Сургалт нь бараг тасралтгүй явагддаг: жилд хоёр удаа нээгддэг бөгөөд зургаан сар үргэлжилдэг. Энэ нь гурван үе шатаас бүрдэнэ. Эхний шатанд бид Git болон layout, хоёр дахь шатанд JavaScript, гурав дахь шатанд React болон Node.js-ийг судалсан.

Тэд өмнөх шатны даалгавруудыг гүйцэтгэсэн дүнгээр дараагийн шатанд шалгарсан. Үе шат бүрийн төгсгөлд ярилцлага хийсэн. Эхний болон хоёрдугаар шатны дараа эдгээр нь багш нартай хийсэн боловсролын ярилцлага байсан бөгөөд гурав дахь шатны дараа Минскийн EPAM JS Lab-д нэг зуун хорин шилдэг оюутнуудад ярилцлага зохион байгуулав. Энэхүү сургалтыг Беларусийн фронт болон JavaScript хөгжүүлэгчдийн The Rolling Scopes нийгэмлэг явуулдаг тул тэд EPAM-ийн Минск оффистой холбоотой байгаа нь ойлгомжтой. Гэсэн хэдий ч хамт олон холбоо тогтоож, оюутнуудаа Беларусь, Казахстан, Оросын мэдээллийн технологийн компаниуд болон бусад хотуудад санал болгохыг хичээж байна.

Эхний шат нь нэг сар гаруй үргэлжилсэн. Энэ бол хамгийн алдартай үе шат юм. Миний ажилд авахдаа 1860 хүн үүнийг эхлүүлсэн - өөрөөр хэлбэл. курст бүртгүүлсэн хүн бүр. Хичээлд бүх насны хүмүүс хамрагддаг ч ихэнх оюутнууд ахлах курсын оюутнууд болон өөр чиглэлээр олон жил ажиллаад мэргэжлээ солихоор шийдсэн хүмүүс байдаг.

Эхний шатанд бид Git-ийн үндсэн хоёр тест, HTML/CSS, Codecademy, HTML Академийн курсуудын хоёр тестийг өгч, CV-ээ тэмдэглэгээний файл хэлбэрээр, ердийн вэб хуудас хэлбэрээр үүсгэж, жижиг нэг хуудас бүтэцтэй бөгөөд JavaScript-ээр нэлээд төвөгтэй хэд хэдэн асуудлыг шийдсэн.

Эхний шатны хамгийн өргөн хүрээтэй ажил бол Hexal вэбсайтын зохион байгуулалт байв.
Хамгийн сонирхолтой нь "CSS Quick Draw" CSS сонгогчдын мэдлэг дээр суурилсан Code Jam тоглоом юм.
Хамгийн хэцүү нь JavaScript даалгаврууд юм. Эдгээр ажлуудын нэг жишээ: “Заасан тооны систем дэх олон тооны факториалын төгсгөлд байх тэгийн тоог ол”.

Эхний шатны даалгаврын жишээ: зургаан өнцөгт.

Нэгдүгээр шатны даалгаврыг биелүүлсний үр дүнд 833 оюутан ярилцлагад орох урилга авчээ. Ярилцлагын үеэр оюутны хоёрдугаар шатанд шилжихийг түүний ирээдүйн зөвлөгч тодорхойлсон. Rolling Scopes сургуулийн багш нар нь Беларусь, Орос, Украины идэвхтэй хөгжүүлэгчид юм. Менторууд тусалж, зөвлөгөө өгдөг, даалгавраа шалгаж, асуултуудад хариулдаг. Манай иж бүрдэлд 150 гаруй зөвлөгч байсан бөгөөд чөлөөт цагаараа багш хоёроос таван оюутан авч болох ч ярилцлагын үеэр өөр хоёр оюутныг ярилцлаганд илгээдэг. тэр ажиллах болно.

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

Би зөвлөгчийнхөө нэрийг олж мэдээд LinkedIn дээрх профайлыг нь хараад би үнэхээр түүнтэй холбогдохыг хүсч байгаагаа ойлгосон. Тэрээр туршлагатай хөгжүүлэгч, ахлах мэргэжилтэй, гадаадад хэдэн жил ажиллаж байгаа. Ийм зөвлөгчтэй байна гэдэг үнэхээр том амжилт. Гэхдээ надад түүний шаардлага маш өндөр байх шиг санагдсан. Хэт өндөр шаардлага тавьж байна гэж андуурч байсан ч тэр үед тэгж бодож байсан юм шиг байна лээ.

Удахгүй болох ярилцлагын асуултууд тодорхой байсан тул урьдчилан бэлдэх боломжтой байсан.
OOP-ийг видеогоор заадаг [J]u[S] үүнийг прототип хийхгүй!. Зохиогч Сергей Мелюков үүнийг маш хүртээмжтэй, ойлгомжтой байдлаар өгүүлжээ.
Өгөгдлийн бүтэц болон Big O тэмдэглэгээг нийтлэлд сайтар тусгасан болно. Техникийн ярилцлагын мэхлэх хуудас.
Ярилцлагад заавал оруулах JavaScript даалгавар нь хамгийн их эргэлзээ төрүүлсэн. Ерөнхийдөө би асуудлыг шийдэх дуртай, гэхдээ Google болон хөтчийн консол дээр, хэрэв та үзэг, цаасаар (эсвэл тэмдэглэлийн дэвтэр дээрх хулганаар) шийдэх шаардлагатай бол бүх зүйл илүү хэцүү болно.
Та хоёрын аль алинд нь вэб сайт дээр ярилцлагад бэлтгэх нь тохиромжтой skype.com/interviews/ – бие биенээсээ асуулт асууж, асуудал гарга. Энэ бол бэлтгэх нэлээд үр дүнтэй арга юм: өөр өөр дүрд тоглохдоо дэлгэцийн нөгөө талд хэн байгааг илүү сайн ойлгох болно.

Ярилцлага ямар байх болно гэж би төсөөлж байсан бэ? Шалгуулагч, шалгуулагч байдаг шалгалтанд зориулагдсан байх магадлалтай. Үнэндээ энэ бол шалгалт биш байсан нь тодорхой. Харин ч нэг зүйлийг хийж байгаа хоёр хүсэл тэмүүлэлтэй хүний ​​яриа. Ярилцлага нь маш тайван, тухтай, найрсаг байсан, асуултууд нь тийм ч хэцүү биш, даалгавар нь маш энгийн байсан бөгөөд зөвлөгч нь үүнийг консол дээр шийдвэрлэхийг огтхон ч эсэргүүцээгүй, тэр ч байтугай Google-ээс харахыг зөвшөөрсөн юм ("хэн ч хийхгүй" Google-ийг ажил дээрээ ашиглахыг хориглох").

Миний ойлгож байгаагаар ярилцлагын гол зорилго нь бидний мэдлэг, асуудал шийдвэрлэх чадварыг шалгах биш, харин зөвлөгчдөө шавь нартайгаа танилцах, ярилцлага ерөнхийд нь ямар байдгийг харуулах боломжийг олгох зорилготой байсан. Ярилцлагаас зөвхөн сайхан сэтгэгдэл үлдсэн нь түүний ухамсартай хичээл зүтгэлийн үр дүн, ярилцлагад ямар ч аймшигтай зүйл байхгүй гэдгийг харуулах хүсэл байсан бөгөөд үүнийг таашаалтайгаар даван туулж чадна. Өөр нэг асуулт бол яагаад техникийн боловсролтой хүн үүнийг хийхэд хялбар байсан ч багш нарын хувьд маш ховор байсан юм. Шалгалт өгөхдөө ямар их догдолж, материалаа төгс мэддэг байсан ч хүн бүр санаж байгаа байх. Бид албан ёсны сурган хүмүүжүүлэх ухааны талаар ярьж байгаа тул би өөр нэг ажиглалтыг хуваалцах болно. Тус сургалтанд мэдээллийн технологийн ахлах ангийн оюутнууд хамрагдсан. Тиймээс тэд Rolling Scopes сургуулийн санал болгож буй сургалтын хэлбэр нь ердийн их сургуулийн хөтөлбөрөөс хамаагүй илүү хэрэгцээтэй, сонирхолтой, үр дүнтэй гэж маргаж байв.

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

Хоёр дахь шатанд бид "JavaScript Arrays Quick Draw" хэмээх маш сонирхолтой, динамик кодтой болсон.
Code Jam "CoreJS" нь илүү төвөгтэй болсон. 120 цаг зарцуулсан JavaScript-ийн 48 асуудал нь ноцтой тест болсон.
Бидэнд мөн хэд хэдэн JavaScript тест байсан, холбоос тэдний нэг Би үүнийг хөтчийн хавчуургад хадгалсан. Тестийг дуусгахад 30 минут байна.
Дараа нь бид NeutronMail-ийн байршлыг нэгтгэж, "DOM, DOM Events" кодыг бөглөж, YouTube хайлтын системийг үүсгэсэн.

Хоёр дахь шатны бусад даалгавар: Даалгавар: Codewars – ижил нэртэй сайт дээрх асуудлыг шийдвэрлэх, Code Jam “WebSocket Challenge”. – вэб залгуур ашиглан мессеж илгээх, хүлээн авах, Code Jam “Animation Player” – жижиг вэб програм үүсгэх.

Хоёр дахь шатны нэлээд ер бусын, сонирхолтой ажил бол "Танилцуулга" даалгавар байв. Үүний гол онцлог нь илтгэлийг англи хэл дээр бэлтгэж, танилцуулах ёстой байсан. энд Илтгэлийн нүүр тулсан үе шат хэрхэн болсныг харж болно.

Мэдээжийн хэрэг, хамгийн төвөгтэй бөгөөд том ажил бол хоёр дахь шатны эцсийн даалгавар байсан бөгөөд энэ үеэр бид Piskel вэб програмын (www.piskelapp.com) өөрийн хуулбарыг бий болгохыг хүссэн юм.
Энэ ажил нэг сар гаруй үргэлжилсэн бөгөөд ихэнх цагийг эх хувилбарт хэрхэн ажилладгийг ойлгоход зарцуулсан. Илүү бодитой байхын тулд эцсийн даалгаврыг өөр, санамсаргүй байдлаар сонгосон зөвлөгч шалгасан. Хоёрдахь шатны дараах ярилцлагыг мөн санамсаргүй зөвлөгч явуулсан, учир нь бид аль хэдийн манайд дассан байсан, тэр ч бидэнд дассан байсан бөгөөд бодит ярилцлагад дүрмээр бол бид бие биедээ танихгүй хүмүүстэй уулздаг.

Хоёр дахь ярилцлага эхнийхээсээ хамаагүй хэцүү болсон. Урьдын адил ярилцлаганд бэлдсэн асуултуудын жагсаалт байсан ч зөвлөгч зүгээр л онолыг асуух нь зөв биш гэж үзээд ярилцлагад зориулж багц даалгавар бэлдсэн. Даалгаврууд нь миний бодлоор нэлээд хэцүү байсан. Жишээ нь, тэр намайг bind polyfill бичихэд юу саад болж байгааг чин сэтгэлээсээ ойлгоогүй, мөн би bind гэж юу болох, полифилл гэж юу болохыг мэддэг нь аль хэдийн маш их зүйл болсон гэдэгт би чин сэтгэлээсээ итгэсэн. Би энэ асуудлыг шийдээгүй байна. Гэхдээ миний харьцаж байсан бусад хүмүүс байсан. Гэхдээ асуудлууд нь тийм ч энгийн биш байсан бөгөөд би шийдлийг олсон даруйд зөвлөгч нөхцөл байдлыг бага зэрэг өөрчилсөн тул би асуудлыг дахин, илүү төвөгтэй хувилбараар шийдэх хэрэгтэй болсон.
Үүний зэрэгцээ, ярилцлагын уур амьсгал маш найрсаг, даалгавар нь сонирхолтой, зөвлөгч үүнийг бэлтгэхэд маш их цаг зарцуулсан бөгөөд цаашдын сургалтын ярилцлага нь жинхэнэ ярилцлагад ороход тусална гэж хичээсэн гэдгийг би тэмдэглэж байна. ажилд орох өргөдөл гаргахдаа.

Хоёр дахь шатны даалгаврын жишээ:
Нейтрон шуудан
Палетт
YouTubeClient
PiskelClone

Гурав дахь шатанд бидэнд Соёлын портал даалгаврыг санал болгосон. Бид үүнийг багаараа гүйцэтгэсэн бөгөөд Гит дэх салбаруудыг нэгтгэх үед багаар ажиллах, үүрэг хариуцлагын хуваарилалт, зөрчилдөөнийг шийдвэрлэх онцлогтой анх удаа танилцсан. Энэ нь магадгүй сургалтын хамгийн сонирхолтой даалгавруудын нэг байсан байх.

Гурав дахь шатны даалгаврын жишээ: Соёлын портал.

EPAM-д ажилд орох хүсэлтээ гаргаж, шилдэг 120-д багтсан оюутнуудын гуравдугаар шатыг дуусгасны дараа утсаар ярилцлаганд орж, англи хэлний мэдлэгээ шалгасан бөгөөд одоогоор техникийн ярилцлагад орж байна. Тэдний ихэнх нь EPAM JS Lab, дараа нь бодит төслүүдэд уригдах болно. Жил бүр Rolling Scopes сургуулийн зуу гаруй төгсөгч EPAM-д ажилд ордог. Сургалтад хамрагдаж эхэлсэн хүмүүстэй харьцуулахад энэ нь нэлээд бага хувь боловч финалд шалгарсан хүмүүсийг харвал тэдний ажилд орох магадлал нэлээд өндөр байна.

Бэлтгэлтэй байх ёстой бэрхшээлүүдээс би хоёрыг нэрлэх болно. Эхнийх нь цаг хугацаа. Танд маш их зүйл хэрэгтэй. Долоо хоногт 30-40 цагийг зорь, бага бол илүү ихийг хийх боломжтой, хичээлийн хөтөлбөр маш эрчимтэй байдаг тул та бүх даалгавраа дуусгах магадлал багатай. Хоёр дахь нь англи хэлний түвшин A2. Хэрэв энэ нь доогуур байвал курст суралцах нь гэмтэхгүй, гэхдээ ийм түвшний хэлтэй ажил олоход нэлээд хэцүү байх болно.

Хэрэв танд асуулт байвал асуугаарай, би хариулахыг хичээх болно. Хэрэв та бусад ижил төстэй орос хэлний онлайн сургалтуудыг мэддэг бол хуваалцаарай, энэ нь сонирхолтой байх болно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх