ÖzünÖyrənin ilk intern proqramı

ÖzünÖyrən
ÖzünÖyrən
Published in
4 min readOct 3, 2022

ÖzünÖyrən Kütləvi Açıq Onlayn Kurs (MOOC) platforması neçə vaxtdır ki, beta versiyasını istismara vermişdir. 2018-ci ildən bəri layihə üzərində çalışarkən yeni təcrübələr öyrəndik və təcrübəmizi paylaşmaq həm də komandamızı genişləndirmək üçün İyul ayında təcrübə proqramı elan etdik.

Müraciət edənlər arasından üç nəfər təcrübə proqramını qazandı. Dostlarımızdan biri bir aydan da çox vaxt keçmədən ilk layihəsini tamamladı və tam-ştat iş tapdığından bizdən ayrılmalı oldu. Digər iki nəfərlə daha çox layihə üzərində çalışdıq. Nəticələri yüksək səviyyədə olduğundan təcrübə proqramlarının müddətini də artırmağa qərar verdik və onların da hər ikisi təklifimizə müsbət cavab verərək bizi sevindirdi.

İndi isə söz verdiyimiz kimi təcrübə proqramının elan edilməsi, müsahibə prosesi və digər məqamlarla bağlı ətraflı məlumat vermək istərdik.

1-ci seçim mərhələsi

Müsabiqə elan olunduqdan sonra bizə 81 nəfər müraciət etmişdir. Müraciət üçün bizə CV-lərini göndərmişdilər. Onlardan iki nəfəri xarici vətəndaş idi deyə siyahıdan çıxardıq. Yerdə qalan 79 nəfər arasından 9 nəfəri İT sahəsində təcrübəsi olmayan və ya ilkin tələblərə uyğun olmayan namizdlər olduğundan onların müraciəti də siyahıdan kənarlaşdırıldı.

İndi isə qarşımızda 70 nəfər namizəd arasından seçim etmək qalırdı.

2-ci seçim mərhələsi

ÖzünÖyrən komandası təcrübəli, entuziast, vətənpərvər, hər zaman Azərbaycanın təhsili ilə maraqlanan, problemlərin həlli üçün çalışan mühəndislərdən ibarətdir (cari komanda üzvləri haqqında https://ozunoyren.com/about səhifəsindən məlumat əldə edə bilərsiniz). Təbii ki, yeni komanda üzvləri də yuxarıdakı xüsusiyyətlərə uyğun potensiallı namizədlər olmalı idi.

Seçimin ilk mərhələsində biz onların diqqətcil və kifayət qədər həvəsli olmalarını, təhsillə maraqlandıqlarını, problem həll etmə bacarıqları, özlərinin inkişafına diqqət yetirmələri yoxlamağı məqsəd qoyduq. Beləliklə namizədlərin hər birini ÖzünÖyrənin beta mərhələsində olan “Python-da ilk addımlar” kursuna dəvət etdik.

ÖzünÖyrənin “Python-da ilk addımlar” kursundan bir hissə

Namizədlərdən istədiyimiz aşağıdakılar idi:

  • Kursun qısa zaman ərzində bitirmək və sertifikat almaq. Bununla biz onların tapşırıqlara məsuliyyətlə yanaşmalarını, vaxtlarını düzgün idarə etməyi və nailiyyət əldə etməyə can atmalarını ölçməyə çalışdıq.
  • Saytı incələyib həm məzmunda həm də platformanın özündə problemləri aşkarlamaq, təkliflər vermək. Bu tapşırıq isə onların bir proqram mühəndisi olaraq incəliklərə nə dərəcədə önəm vermələri və problem həll edəbilmə bacarıqlarını dəyərləndirdik. Problemlərdən giley edənlərə deyil, onları həll etməyə çalışanlara üstünlük verdik.

Bu mərhələni 22 nəfər uğurla başa vurub növbəti mərhələyə keçdilər.

3-cü seçim mərhələsi

3-cü mərhələdə biz namizədlərin hər biri ilə onlayn görüş keçirib proqramaşdırma üzrə müsahibə təşkil etdik.

Namizədlərə bir proqramlaşdırma sualı verildi. Namizədlərin nəticələri aşağıdakı meyarlara uyğun qiymətləndirildi:

  • Alqoritm və Data Strukturları biliyi
  • Problem həll edə bilmə bacarığı.
  • İş əsnasında verilən ipuclarına diqqət vermələri (komanda işi üçün çox vacibdir).
  • Təqdim etdikləri həlli izah edə bilmələr.

Mümkün köçürmə hallarının qarşısını almaq üçün çətinlik dərəcələri oxşar olan sual tərtib etmişdik.

Sual 1. Duplikat Ədəd Yoxlanışı

Bizə ədədlər massivi verilmişdir. Elə bir proqram yazın ki,
massivdə hər hansı bir ədəd bir dəfədən artıq daxil edilibsə,
`true` qaytarsın. Ədədlərin hər biri yalnız bir dəfə daxil edilibsə,
`false` qaytarsın.

Nümunə 1:

Input: [1, 2, 3, 1]
Output: true

Nümunə 2:

Input: [1, 2, 3, 4]
Output: false

Nümunə 3:

Input: [1, 1, 1, 3, 3, 4, 3, 2, 4, 2]
Output: true

*/

function hasDuplicate(nums: number[]): boolean {
// IMPLEMENT
return true;
}

Bu sual LeetCode platformasındakı https://leetcode.com/problems/contains-duplicate/ sualına uyğundur.

Sual 2. Yadplanetli Əlifbasına Görə Yoxlama

Yadplanetlilər istənilən dildə sözlərin əlifba sırası ilə düzülüb-düzülmədiyini tapa bilirlər. İndi də bunu Sizinlə Azərbaycan dilindəki sözlərlə etmək istəyirlər. İşinizi daha əyləncəli etmək üçün onlar Azərbaycan əlifbasındakı hərflərin sıralamasını dəyişmək qərarına gəliblər.

Sizə Azərbaycan dilində müəyyən bir ardıcıllıqla yazılmış sözlər və dəyişdirilmiş sıralamada Azərbaycan əlifbası verilibdir. Əgər sözlər verilmiş əlifbaya uyğun ardıcıllıqla verilibsə, `true` qaytarın, əks halda `false` qaytarın.

Qeyd: Sözlərdə yalnız kiçik hərflərdən istifadə edilibdir.

Nümunə 1:

Verilənlər:

Sözlər: `["salam", "toğrul"]`

Əlifba: `"stabcçdeəfgğhxıijkqlmnoöprşuüvyz"`

Qaytarılanlar: `true`

İzah: Bu əlifbada 's' hərfi 't' hərfindən əvvəl gəldiyi üçün bu söz ardıcıllığı əlifbaya uyğun sıralanıbdır.

Nümunə 2:

Verilənlər:

Sözlər: `["sol", "stol", "lampa"]`

Əlifba: `"stolabcçdeəfgğhxıijkqmnöprşuüvyz"`

Qaytarılanlar: `false`

İzah: Bu əlifbada "sol" sözündəki 'o' hərfi "stol" sözündəki 't' hərfindən sonra gəldiyi üçün "sol" sözü "stol" sözündən sonra gəlməlidir ("sol" > "stol").

Nümunə 3:

Verilənlər:

Sözlər: `["tutu", "tut"]`

Əlifba: `"abcçdeəfgğhxıijkqlmnoöprsştuüvyz"`

Qaytarılanlar: `false`

İzah: Bu iki sözdə ilk üç hərf eyni olmasına baxmayaraq, "tut" sözü "tutu" sözündən qısadır və qaydalara əsasən, "tutu" sözündəki 4-cü hərf olan 'u' > '∅', çünki '∅' hərfi mövcud olmadığı üçün bütün hərflərdən kiçikdir. Beləliklə, "tutu" sözü "tut" sözündən sonra gəlməlidir ("tutu" > "tut").

```js
function verfiyWordOrder(words: string[], alphabet: string): boolean {
// IMPLEMENT
return true;
}
```

Sual 3. Faylların Adlarına Görə Çeşidlənməsi

Bizə faylların siyahısı verilmişdir. Məsələn:

- Qulamhüseyn2.txt
- Ümbülnisə3.txt
- Məmmədəli1.txt
- AğaməhəmmədŞahQacar.txt
- Əhmədəli.txt
- 101.txt
- 203.txt

Elə bir proqram yazın ki, faylları Azərbaycan əlifbasına uyğun düzsün.
Lakin, ilk olaraq adında ədəd olan faylları daha sonra sözləri.
Yuxarıdakı fayllar üçün nəticə belə olmalıdır:

- 101.txt
- 203.txt
- AğaməhəmmədŞahQacar.txt
- Məmmədəli1.txt
- Qulamhüseyn2.txt
- Ümbülnisə3.txt

```js
// example list
const filenames = [
"Qulamhüseyn2.txt",
"AğaməhəmmədŞahQacar.txt",
"Məmmədvəli1.txt",
"Məmmədəli1.txt",
"Əhmədəli1.txt",
"Ümbülnisə3.txt",
"101.txt",
"203.txt",
];

function sortFiles(filenames: string[]): void {
// IMPLEMENT
}
```

Qeyd. Bu sualda işin məğzi çeşidləmə alqoritmini deyil, çeşidləmə alqoritminin istifadə etdiyi müqayisə alqoritmini tərtib etmək idi.

Yekun qərar

Müsahibə prosesi ilə komandamızdan üç nəfər mühəndis iştirak edirdi. Nəticələrin obyektivliyinə əmin olmaq üçün müsahibətən keçən hər bir namizədin yazdığı proqram kodlarını hər üç mühəndis bir daha incələdi, müsahibənin gedişi zamanı edilən qeydlərə bir daha baxıldı, namizədlərin CV-lərinə dəfələrlə müraciət edildi.

Təqribən 4 saatlıq gərgin müzakirədən sonra üç nəfərin təcrübə proqramına dəvət olunmasına qərar verildi.

Təcrübə proqramı

Təcrübə proqramının ilk həftəsində namizədlərə Codecademy platformasından bir neçə kursu bitirmək tapşırıldı. Həmin kurslar yeni dostlarımızın layihələrdə istifadə edəcəyi texnologiyalara aid idi (TypeScript, React və s.).

Kursları bitirdikdən sonra onlar real layihələr üzərində işləməyə başladılar. Təcrübə proqramının rəsmi elan olunduğu (15 sentyabr 2022) zamana qədər hər üç təcrübəçi tapşırıqların öhdəsindən lazımınca gəldilər.

Namizədlərdən biri tam-ştat iş tapdığından təəssüf ki, bizdən ayrılmalı oldu. Ona gələcək işlərində uğurlar arzulayırıq və onun yeni iş yerinin çox uğurlu kadr seçimi etdiyinə əminik.

Digər iki namizədlə işləmək bizə çox xoş olduğundan təcrübə müddətləri uzadıldı.

--

--