Məzmuna keç
SkillCort

8 min · 8 stepsTest yaratma təlimatı

Kodlaşdırma testi necə yaradılır

Ən yaxşı kodlaşdırma testləri işin kiçik, dürüst bir parçasına oxşayır — developerin sonuncu dəfə məktəbdə gördüyü lövhə tapmacasına yox. Bu təlimat SkillCort-da belə bir testin necə qurulacağını göstərir: kod sual növündə real tapşırıq, düzgünlükdən artığını ballandıran qiymətləndirmə matrisi və əhəmiyyət səviyyəsinə uyğun ölçülmüş bütövlük nəzarətləri.

What you'll need

  • SkillCort iş sahəsi (və ya demo)
  • Komandanızın yazdığı kodun real nümunəsi — bir baq, kiçik bir funksiya, bir refaktorinq
  • Tapşırığı və qiymətləndirmə matrisini müəyyən edəcək təcrübəli mühəndis
  • Hansı dilləri qəbul edəcəyinizə dair qərar

Step 1: Alqoritm tapmacası əvəzinə real tapşırıq seçin

Son bir ayın pull request-lərinə baxın və təkrarlananlara oxşar bir tapşırıq seçin: verilmiş nasaz davranışa əsasən baqı düzəltmək, kiçik funksiyanı yeni bir hal üçün genişləndirmək, səliqəsiz bloku refaktor etmək və ya məlumat çevrilməsi yazmaq. Bunlar gündəlik performansı ikili ağacı tərsinə çevirməkdən qat-qat yaxşı proqnozlaşdırır.

Onu bacarıqlı bir işçi üçün 30–45 dəqiqəlik fokuslanmış işə görə ölçün. Tapmaca onu əvvəlcədən məşq edəni mükafatlandırır; real kiçik tapşırıq isə mövcud niyyəti oxuya, əsaslı dəyişiklik edə və kodu anlaşıqlı saxlaya bilən adamı mükafatlandırır — işə götürdüyünüz şey də elə budur.

Rol həqiqətən tələb etmirsə, freymvorka və şirkətə xas bilikləri çıxarın və tapşırığa lazım olan kontekstin hamısını brifin özündə verin. Sizin texnologiya yığınınıza heç vaxt toxunmamış güclü mühəndis yenə də sizə əsaslı mühakimə göstərə bilməlidir. Kod bazanızın xırdalıqlarına bələdliyi deyil, bacarığı test edin.

  • Müsahibə hazırlıq kitablarında deyil, sizin real kod bazanızda təkrarlanır
  • Birdən çox ağlabatan həlli var
  • Qəhrəmanlıq tələb etmədən 30–45 dəqiqəyə sığır
  • Qiymətləndirici tərəfindən on dəqiqədən az müddətdə oxuna bilir

Step 2: Kod sualını sual kitabxanasında yaradın

Rol üçün bir qovluq açın — məsələn, Backend Mühəndisi — bacarıq sahəsi və çətinlik üçün teqlərlə, sonra kod sual növündən istifadə edərək sual yaradın. Namizədlər kodu birbaşa cavab sahəsində yazır və redaktə edir, qiymətləndiricilər isə sonradan ona elə orada baxır.

Sualı boş redaktorla deyil, başlanğıc kodu ilə doldurun. Təsvir edilmiş baqı olan qısa bir funksiya və ya aydın müqaviləsi olan bir stub hər namizədi eyni başlanğıc nöqtəsinə bağlayır və onların dəyişikliklərini birbaşa müqayisə oluna bilən edir. Real iş demək olar ki, heç vaxt boş fayldan başlamır, test də başlamamalıdır.

Step 3: Brifi redaktorun yanında yazın

Yan-yana stimul tərtibatından istifadə edin: brif, tələblər və nümunə giriş-çıxışlar bir tərəfdə, kod redaktoru isə onun yanında. Namizəd həlli yazmaq üçün spesifikasiyadan heç vaxt uzağa sürüşdürmür — IDE-də bir müraciət üzərində işləməklə eyni formadır.

Brifi yaxşı bir müraciətin oxunduğu kimi yazın: cari davranış, gözlənilən davranış, məhdudiyyətlər və iki-üç konkret nümunə. Nəyin sizin üçün əhəmiyyətli olduğunu açıq yazın — «əvvəlcə işləyən kod; həm də aydınlığa görə oxuyuruq» — ki, namizədlər əslində ballandıracağınıza köklənsin. Brifdəki qeyri-müəyyənlik nəticələrdə səs-küyə çevrilir.

Step 4: Düzgünlükdən artığını ballandıran qiymətləndirmə matrisi qurun

Düzgün nəticə lazımdır, amma kifayət deyil. Üç və ya dörd meyarı olan səviyyəyə əsaslanan matris qurun — adətən düzgünlük, oxunaqlılıq və yanaşma, istəyə bağlı olaraq sərhəd hallarının idarə edilməsi — hər biri güclü, məqbul və zəif kodun necə göründüyünə dair ankerlənmiş təsvirlərlə. «Adlar niyyəti açır, ölü kod yoxdur» ballandırıla bilər; «təmiz kod» isə yox.

Ən ağır çəkini düzgünlüyə verin, lakin digər meyarları da real saxlayın: güc-bəla işləyən və heç kimin saxlaya bilmədiyi həll güclü işə qəbul siqnalı deyil. Matrisi əlavə etdiyinizdə o, dondurulmuş surətə çevrilir, beləliklə bankdakı versiya sonradan dəyişsə belə, həmin keçirilmədəki hər namizədə eyni standartla baxılır.

Step 5: Builder-də yığın və vaxt çərçivəsi qoyun

Qiymətləndirməni bölmələr, səhifələr və bloklar şəklində yaradın və kod sualını seçicidən idxal edin. Bir çox komanda qısa bir birinci bölmə əlavə edir — diff oxumaq, kod parçasındakı baqı tapmaq, çoxseçimli kimi sürətlə yapışdırılmış — və kodlaşdırma tapşırığını öz bölməsinə qoyur.

Ümumi vaxt limitini oxumaq və düşünmək üçün ehtiyatla təyin edin və kodlaşdırma səhifəsində səhifə üzrə limitdən istifadə edin ki, tapşırıq bütün cəhdi udmasın. Kodlaşdırma bölməsinə ən ağır çəkini verin (məsələn ×3) ki, Decision Board-dakı rola uyğunluq isinməni deyil, işi əks etdirsin. İcazə verilən dilləri və vaxt bitəndə nə baş verdiyini bildirən təlimatlar yazın.

Step 6: Önizləyin, yoxlama siyahısını təmizləyin və dərc edin

Preview as candidate funksiyasından istifadə edin və tapşırığı özünüz cəhd edin, daha yaxşısı isə onu yazmayan bir mühəndisin hazırlıqsız cəhd etməsini təmin edin. O, on dəqiqədə bitirirsə, tapşırıq çox asandır; limit daxilində bitirə bilmirsə, əhatəni və ya vaxtı yumşaldın. Onun tərəddüd etdiyi hər yerdə brifi düzəldin.

Sonra dərc yoxlama siyahısını ödəyin — o, ballandırma, vaxt və təlimatlar tamamlanana qədər Publish düyməsini bloklayır. Matrisi çatışmayan və ya vaxt limiti sınaqdan keçməmiş kodlaşdırma testi heç vaxt namizədə çatmamalıdır və siyahı bunun mümkün olmamasını təmin edir.

Step 7: Bütövlük nəzarətlərini əhəmiyyət səviyyəsinə mütənasib təyin edin

Keçirilməni ad və vaxt aralığı ilə yaradın, sonra təhlükəsizlik açarlarını düşünülmüş şəkildə seçin. Standart işə qəbul skrininqi üçün kopyalama/yapışdırma bloklaması və ağlabatan pozuntu limiti olan tam ekran bloklaması adətən kifayətdir. Veb-kamera yazısı, ekran yazısı, ikinci ekranın aşkarlanması və şəxsiyyət yoxlamaları həqiqətən yüksək əhəmiyyətli keçirilmələr üçündür — sertifikasiya, son mərhələlər — ilkin seçim kimi yox.

Aktivləşdirdiyiniz hər şey namizəd başlamazdan əvvəl razılıq və hazırlıq yoxlaması qapısında açıqlanır. Bütövlük siqnalları insanın kontekstdə nəzərdən keçirməsi üçün işarələrdir, heç vaxt avtomatik imtina üçün əsas deyil — tam ekrandan çıxış saxtakarlıq yox, bir bildiriş ola bilər. Mütənasiblik güclü namizədlərin izləmə torundan üz döndərməsinin qarşısını alır.

Step 8: Koda qiymətləndirmə matrisi ilə, süni intellekt dəstəyi ilə baxın

Qiymətləndiricilər hər təhvilə ortaq matrisə görə baxır, hər meyar üzrə — düzgünlük, oxunaqlılıq, yanaşma — koda uyğun gələn səviyyə kartına klikləyərək. Sərhəd hallarına və yüksək əhəmiyyətli hallara iki baxış keçirən qoymaq standartı dürüst saxlayır və hər kəs eyni dondurulmuş matris surətinə görə ballandırdığı üçün fikir ayrılıqları qeyri-müəyyən hiss fərqləri kimi deyil, konkret meyar boşluqları kimi üzə çıxır.

Süni intellekt təhvilin xülasəsini hazırlaya və meyar səviyyəsində ballar təklif edə bilər — kodda həqiqətən faydalı ilk keçiddir, model və versiya qeyd üçün jurnala yazılmaqla. Lakin hər balı adı çəkilən bir mühəndis təsdiqləyir və ya ləğv edir. Süni intellekt burada qərar dəstəyidir, heç vaxt qərar verən deyil: namizədin kodu barədə məsuliyyət daşıyan mühakimə həmişə insana aiddir.

Pro tips

  • Tapşırığı öz iş siyahınızdan götürün — keçən rübün real baqı istənilən uydurma çalışmadan üstündür.
  • Başlanğıc kodu təhvilləri müqayisə oluna bilən edir; boş redaktorlar isə xaos yaradır.
  • Brifdə qiymətləndirmə matrisinin nəyi mükafatlandırdığını dəqiq yazın, namizədlər də sizə ən yaxşısını göstərsin.
  • Sərhəd hallarında iki qiymətləndirici dəqiqələrə başa gəlir və səhv işə qəbullardan qoruyur.
  • Bir tapşırıq bir neçə dövr işlədikdən sonra onu istifadədən çıxarın; qovluq rotasiyanı ucuz edir.

Tez-tez verilən suallar

Niyə sadəcə alqoritm tapmacalarından istifadə etməyək?
Tapmacalar tapmaca məşqini ölçür. Əksər rollara mövcud kodu oxuya, əsaslı dəyişiklik edə və onu saxlanıla bilən qoya bilən adam lazımdır — real kiçik tapşırıq isə məhz bunu müşahidə edir. Alqoritmik dərinliyi işin həqiqətən elə bu olduğu rollar üçün saxlayın.
Namizəd həllini yazmaq üçün süni intellektdən istifadə edərsə nə olar?
Onu yox saymaq əvəzinə buna görə dizayn edin. Tapşırığı mühakimənin görünəcəyi qədər konkret saxlayın, nəzarətləri əhəmiyyət səviyyəsinə mütənasib saxlayın və işarələrə insan kimi — kontekstdə, heç vaxt avtomatik imtina kimi deyil — baxın. Yüksək vəzifəli rollar üçün seçimləri barədə qısa bir sonrakı söhbət anlayışı tez yoxlayır.
SkillCort kodu avtomatik qiymətləndirirmi?
Qiymətləndirmə matrisə əsaslanır və insana aiddir. Süni intellekt xülasələr hazırlaya və meyar səviyyəsində ballar təklif edə bilər, model və versiya jurnala yazılmaqla, lakin hər birini adı çəkilən qiymətləndirici təsdiqləyir və ya ləğv edir. Ardıcıllığı insanları çıxarmaqdan deyil, dondurulmuş matris surətindən alırsınız.
Kodlaşdırma testi nə qədər davam etməlidir?
Ümumilikdə təxminən 45–60 dəqiqə: qısa mühakimə isinməsi üstəgəl bir 30–45 dəqiqəlik tapşırıq. Daha uzun evə verilən tapşırıqlar bacarığı deyil, boş axşamları süzgəcdən keçirir və tamamlanmaya ölçülə bilən zərər vurur — daha çox dərinlik lazımdırsa, finalçılar üçün ikinci, daha qısa mərhələ keçirin.

For hiring teams

Kodlaşdırma testinin öz iş siyahınızdan qurulmasını görün

30 dəqiqəlik demo sifariş edin və bir real baq və ya funksiya gətirin — biz onu siz baxa-baxa ballandırılan, qiymətləndirmə matrisinə söykənən kodlaşdırma tapşırığına çevirəcəyik.