Թեստային առաջադրանքների դերի մասին ծրագրավորողի կյանքում

Քանի՞ տեխնիկական հարցազրույց եք ունեցել ձեր կյանքում:

Վերջին հինգ տարիների ընթացքում ես մասնակցել եմ 35 տեխնիկական հարցազրույցների՝ ցանկացած երևակայելի տեսակի և առանձնահատկությունների՝ սկսած ղազախական ստարտափներից՝ ձմռանը միս գնելու համար մինչև գերմանական և ամերիկյան ֆինտեխ ծառայություններ և բանկեր; կենտրոնանալով ծրագրավորման, առաքման և կառավարման վրա; հեռավոր և գրասենյակում; սահմանափակ և անսահմանափակ ժամանակով; սթրեսային և հանգիստ, տարբեր լեզուներով.

Սա, զուգորդված մոտ 20 հարցազրույցների հետ, որոնք ես ինքս որպես գործատու եմ անցկացրել, բավական է, որպեսզի դառնամ հարցազրույցների թագավոր, որպեսզի կատարեմ հետևյալ դիտարկումը (ի սկզբանե ամբողջովին աննկատ) և հաստատվեմ դրանում. Ես համոզված եմ, որ մեծ մասամբ Այսքան հարցազրույցների շնորհիվ այն սկսում է թվալ մարգինալ սովորություն, ես պրոֆեսիոնալ մակարդակով ուսումնասիրեցի իմ ստաքը և դարձա մրցունակ մասնագետ, չնայած այն հանգամանքին, որ արդեն 10 տարի աշխատել էի վեբ մշակման ոլորտում:

Այս հոդվածը հասցեագրված է ծրագրավորողներին, ովքեր գտնվում են իրենց ճանապարհի սկզբում և դեռ չեն սպառել իրենց գիտելիքների խորությունը։ Դրանում ես ուզում եմ ընդլայնել թեզը թեստային առաջադրանքների և հարցազրույցներում տրվող տեխնիկական հարցերի հսկայական կրթական օգուտների մասին և բոլորին հրավիրել իմ նոր գրված հեռագրային բոտին: ActualizeBot, որտեղ, ըստ իմ ծրագրի, կարող ես տեխնիկական հարցազրույց վերցնել գոնե ամեն օր, մինչև դրանք ավարտվեն։ Եվ որպեսզի դրանք չավարտվեն, կարող եք նաև կիսվել հետաքրքիր տեխնիկական առաջադրանքով, հարցով կամ հարցազրույցի ընթացքում ապրած օգտակար/զվարճալի իրավիճակով:

Ես ձեզ ավելին կպատմեմ ստորև բոտի մասին, եկեք նախ պարզենք, թե ինչու է այդքան կարևոր իմանալ և հասկանալ այս տեխնիկական հարցերի և առաջադրանքների պատասխանները, նույնիսկ եթե դուք տարիներ շարունակ հաջողությամբ վարում եք անկախ նախագծեր:

Ինչո՞ւ է մեր հիմնարար գիտելիքների որակը շատ ցանկալի բան թողնում:

Տեխնիկական հարցազրույցները, եթե դուք դեռ չեք դարձել հարցազրույցների արքա, մարմնի համար լուրջ սթրես են, ինչպես ընդհանրապես աշխատանք փնտրելը. տեղ երկար ժամանակ (իսկ մեր ժամանակներում «երկար» կարելի է համարել տարի):

Շատ հարցազրույցներում կա մարդկային գործոն, որը բարդացնում է այս սթրեսը: Ձեր հարցազրուցավարը կարող է լինել ոչ թե Ալենա Վլադիմիրսկայան, այլ սովորական ծրագրավորող, ումից դժվար է ակնկալել համարժեք առաջադրանքներ և դրանց գնահատում, կամ հարդքոր թիմի ղեկավար, ով կսպասի պահին, որպեսզի տապալի իր ողջ խստությունը: նրա հայացքը ձեզ վրա է տալիս՝ հարցնելով.

Մի օր այս հարցին չտալով անհրաժեշտ, բայց, ինչպես հասկանում եք, անկանխատեսելի պատասխանը, ես մնացի առանց առաջարկի, ինչի համար աներևակայելի ուրախ էի։

Փորձելով խուսափել այս սթրեսից և առհասարակ անհարկի շարժումներից՝ մենք հեռանում ենք ոչ միայն լեզվի որոշ հիմնական հատկանիշների մեր անտեղյակության բարձրաձայն մերկացումից, այլև գոնե մի փոքր նվազեցնելու այդ անտեղյակությունը։

Խնդիրն այն է, որ գործնականում քիչ տեղեր կան, որտեղ մենք կարող ենք ստանալ այս դասի խնդիրներ:
Ցանկացած ծրագրավորող, ով ստիպված է եղել աշխատել մի քանի վայրերում, կհաստատի, որ հարցազրույցներում դրված հիմնարար կամ ստեղծագործական խնդիրները հազվադեպ են կապ ունեն ծրագրավորողի հետ իրական կյանքում. չկան ռեկուրսիաներ, գրաֆիկներ և ասինխրոն վերելակների կառավարման համակարգեր մոլորակի վրա բացասական պարունակությամբ: ձգողականությունը գալակտիկայի մեկ այլ թևում: Ցավոք սրտի.

Իմ հայրենի JavaScript-ի հետ կապված, կա լավ օրինակ. եթե React.JS-ը չհայտնվեր, JavaScript ծրագրավորողների 98%-ը հաջողությամբ կշարունակեր ապրել երանելի անտեղյակության մեջ, թե ինչ է կապը - դրա հայտնվելուց ավելի քան 20 տարի անց և կշարունակեր: շփոթված լինել, հարցազրույցների ժամանակ դրա մասին հարցեր ստանալ, և միայն նրանք, ովքեր հորինել են այս բոլոր խիստ վերացական գրադարանները, շրջանակները և մոդուլները, կշարունակեն աշխատել դրա հետ: Այսօր, արձագանքի շնորհիվ, այս թիվը կրճատվել է մինչև 97%:

Ակնհայտորեն, տեսնելով այս առաջադրանքների «իրականությունից մեկուսացվածությունը», շատ մշակողներ անտեսում են դրանք կամ ժամանակ են վատնում դրանց մեջ ընկղմվելով և շարունակում են իրենց առօրյան, այսինքն՝ պատկերավոր ասած՝ քայլելով զարգացման ական դաշտով ոչ միայն արտադրության համար: առանց ականորսիչի, բայց նաև առանց իմանալու, որ ականապատ դաշտում են։

Որո՞նք են լեզվի հիմնարար իմացության բացակայության հետևանքները:

Այս հարցի պատասխանը սովորական է թվում, բայց ինչ-ինչ պատճառներով մարդկային բնույթն է միշտ դրա լուծումը մղել դեպի հեռավոր անկյուն, և դա տխուր դեր է խաղում կրտսեր և միջին ծրագրավորողների կյանքում՝ երկարացնելով նրանց ճանապարհը դեպի բարձունքներ (և խորություններ): ) լեզվի իմացությունը մի քանի տարով։

Շրջանակներ և գրադարաններ օգտագործող կիրառական կոդը, որոնք նրանք սովոր են գրել ամեն օր, չի կարող վստահելի համարվել, եթե այն գրում են առանց դրա իրականացման տարբեր ասպեկտների բավարար ըմբռնման: JavaScript-ի աշխարհից սրա լավ օրինակը JQuery գրադարանի ճակատագիրն է, որը ժամանակին առաջընթացի շարժիչ ուժն էր, իսկ այսօր, լինելով գիտելիքի ինքնուրույն դաշտ, բաժանված մնացած լեզվից, իր բնական տեղն է գրավում Հայաստանում: շուկա - կիսապրոֆեսիոնալ սցենարներ հապճեպ գրված և անհրաժեշտության դեպքում որպես նվեր նույն արագ դասավորության համար bootstrap-ի վրա էժան ֆրիլանսերներից:

Նման անպատասխանատու մոտեցմամբ մշակված նախագծերի ապագան, թեև անտեղյակությունից դրդված, պրոզայիկ է և կարճատև. համագործակցություն։

Մյուս կողմից, ծրագրավորողի ուղին ընտրած մարդու համար քիչ բան կարող է համեմատվել նրա արածը հասկանալու հաճույքի հետ։ Հասկանալով, որ նա, ինչպես բարոն Մյունհաուզենը, ձիով վազում է ականապատ դաշտով: Ավելորդ է ասել, որ պարկեշտ գործատուն կարող է հստակ տեսնել մարդկանց, ովքեր անխոհեմ քայլում են ականապատ դաշտով և մարդկանց, ովքեր սառել են անվճռական քայլ անել մի իրավիճակում, երբ նրանք կարող են վազել և ցատկել առանց որևէ բանի մասին մտածելու:

ActualizeBot

Տեսնելով հարցազրույցների առավելությունները և նաև հասկանալով, որ դատարկ հարցազրույցների գնալն ամբողջովին էթիկական չէ, ես մտածեցի, որ հիանալի կլիներ ստեղծել մի բոտ, որտեղ սկսնակը կամ մշակողը, ով փոխպատվաստվում է այլ լեզվով, կարող է մասնակցել կրթական ուսուցմանը՝ առանց դիմելու: իրական հարցազրույցներ այն աստիճանի, որում դա տեղի է ունեցել ինձ հետ: Եվ հիշելով, թե ինչպես են ծրագրավորողները սիրում քննարկել և համեմատել խնդիրները, որոնք նրանք պետք է լուծեին, հատկապես, եթե դա աննշան բան էր, ես հասկացա, որ ամեն ինչ տեղավորվում է, մերժեցի բոլոր կասկածներն ու վոյալը:

Բոտը ներկայումս ունի 3 պարզ գործառույթ.

  • Բաժանորդագրվել որոշակի լեզվին/շրջանակին՝ դրա համար նոր առաջադրանքներ ստանալու համար: Դուք բաժանորդագրվում եք և երբ առաջադրանքները հասնում են, դրանք ստանում եք ամենօրյա տեղեկագրում
  • Առաջադրանք կամ թեստային առաջադրանք հրապարակելը - Իմ գրքում ասում են, որ կիսվելը հոգատարություն է
  • Գերազանց անունների գեներատոր, որի օգնությամբ դուք կարող եք ընտրել ձեր հրապարակած առաջադրանքի տեքստի օպտիմալ ստորագրությունը, ներառյալ կանացի բառարանները, ոչ առանց ֆեմինիստների

Ներկայումս ընտրելու համար հասանելի են հետևյալ լեզուները՝ JavaScript, Java, Python, PHP, MySQL: Ընտրությունը որոշ չափով սահմանափակ է՝ պայմանավորված իմ հասկացողության սահմաններով։ Հուսով եմ, որ հաբրա համայնքի օգնությամբ կավելացնեմ այս ցուցակը:

Բոտը գործարկվել է զուտ ռոքնռոլ ​​ձևաչափով, ոչ մի բանի համար վճար չի սպասվում:
Դուք կարող եք գնալ դրան՝ օգտագործելով այս հղումը. ActualizeBot

Համառոտ տեխնիկական իրականացման մասին

Այս բոտը մի քանի փոքր նախագծերից մեկն է, որտեղ ես բերում եմ իմ բաց կոդով miniframework-ի առաջին հանրային տարբերակը բարդ կառուցվածքով բոտերի մշակման համար, որոնք սիրով կոչվում են Hobot և հասանելի են NPM-ում հարդքոր մարդկանց համար:

Շրջանակը կառուցված է Telegraf.JS-ի և TypeScript-ի հիման վրա, դրա զրոյական-զրոյական առաջին տարբերակը՝ հագեցած օգտագործման օրինակով, կարելի է դիտել այստեղ՝ github և անմիջապես փորձիր: Շուտով կբեռնեմ դրսից մարդու համար ընդլայնված ու սանրված 0.0.2 տարբերակը և առանձին հոդված կնվիրեմ դրան (բեռնախցիկը)։ Ուրախ կլինեմ, եթե ինչ-որ մեկի համար այն նույնքան ակտուալ լինի, որքան ինձ համար։

Այսպիսով, քանի՞ հարցազրույցի պետք է մասնակցեիք:
Համոզված եմ, որ ասելու բան ունես։

Source: www.habr.com

Добавить комментарий