
Junior Frontend və Backend Developer-dən nə gözlənilir? Müsahibə sualları və GitHub analizi
Fərid Mustafayev
Junior Developer olmaq sadəcə React və ya Node.js bilmək deyil
Junior developer vakansiyasına müraciət edən zaman CV-də çoxlu texnologiyanın olması ilk baxışda üstünlük kimi görünə bilər:
React, Next.js, Node.js, Express, MongoDB, PostgreSQL, Docker, TypeScript...
Amma texniki müsahibəyə gəldikdə suallar çox vaxt daha fundamental mövzulara qayıdır:
- JavaScript necə işləyir?
- HTTP request necə gedir?
- Verilənlər bazasında
JOINnə edir? - Git ilə necə işləyirsən?
- Yazdığın kodu niyə məhz belə strukturlaşdırmısan?
- Problemlə qarşılaşanda necə həll yolu tapırsan?
Bu vacib fərqdir.
Junior-dan şirkət adətən Senior səviyyəsində arxitektura qurmağı gözləmir. Amma onun fundamental biliklərə sahib olmasını, kod yaza bilməsini, problemi araşdıra bilməsini və yeni texnologiyaları öyrənə bilməsini gözləyir.
Müasir developer roadmap-larında da eyni yanaşmanı görmək mümkündür. Məsələn, roadmap.sh Frontend üçün HTML, CSS və JavaScript-i fundamental baza kimi göstərir, daha sonra Git, REST API, testing, debugging, frameworklər və performans kimi mövzuları əlavə edir. Backend roadmap isə proqramlaşdırma dili, verilənlər bazası, REST API və authentication/authorization kimi əsasları önə çıxarır.
Deməli, əsas sual:
“Junior nə qədər texnologiya bilir?” yox, “Junior bu texnologiyalardan istifadə edərək real problemi həll edə bilirmi?” olmalıdır.
Junior Frontend Developer-dən nə gözlənilir?
Frontend developer istifadəçinin birbaşa qarşılıqlı əlaqədə olduğu hissəni qurur. Buna görə də Junior Frontend Developer üçün əsas gözlənti yalnız müəyyən bir frameworkü əzbər bilmək deyil, web-in necə işlədiyini başa düşməkdir.
roadmap.sh də HTML, CSS və JavaScript-i frontend-in əsas üç texnologiyası kimi göstərir və Git, responsive design, REST API, testing/debugging, DevTools və ən azı bir frontend frameworkünü vacib bacarıqlar sırasında qeyd edir.
1. HTML və CSS fundamenti
Junior frontend developer aşağıdakı mövzuları rahat izah və tətbiq edə bilməlidir:
- Semantic HTML
- Form elementləri
- Accessibility əsasları
- CSS Box Model
- Flexbox
- CSS Grid
- Positioning
- Responsive Design
- Media Queries
- CSS specificity
- Responsive komponentlər
Məsələn, namizəd yalnız display: flex yazmağı deyil, Flexbox-un nə üçün istifadə edildiyini və hansı problemi həll etdiyini izah edə bilməlidir.
2. JavaScript fundamenti
React və ya Vue öyrənmək JavaScript bilməməyin yerini doldurmur.
Junior frontend üçün JavaScript-də ən azı bunlar başa düşülməlidir:
- Scope
- Closures
- Hoisting
this- Array methods
- Destructuring
- Spread/Rest
- Promises
async/await- Event Loop
- DOM
- Event handling
- Error handling
Frontend Interview Handbook da frontend müsahibələrinin HTML, CSS və JavaScript kimi sahələr üzrə dərin fundamental biliklərə xüsusi diqqət verdiyini vurğulayır.
3. DOM və Virtual DOM
“React bilirəm” demək kifayət deyil.
Namizəd ən azından bu fərqi başa düşməlidir:
DOM — brauzerin HTML sənədini təmsil edən obyekt modelidir.
Virtual DOM isə React kimi kitabxanaların UI dəyişikliklərini idarə etmək üçün istifadə etdiyi abstraksiyadır.
Müsahibədə məqsəd terminləri əzbər demək deyil. Məqsəd texnologiyanın nə üçün belə dizayn edildiyini başa düşməkdir.
4. Asinxron JavaScript
Frontend tətbiqlərində API çağırışları, istifadəçi hadisələri və digər asinxron əməliyyatlar çox geniş istifadə olunur.
Junior aşağıdakı suallara cavab verə bilməlidir:
- Promise nədir?
async/awaitnecə işləyir?fetch()nə qaytarır?- Event Loop nə edir?
- Microtask və macrotask arasında fərq nədir?
- API request zamanı error necə idarə olunur?
Junior Frontend müsahibəsində hansı suallar verilə bilər?
Frontend Interview Handbook və digər geniş müsahibə resurslarında JavaScript, DOM, CSS və frontend arxitekturası üzrə müxtəlif səviyyəli suallar toplanır.
Sual 1: Event Loop necə işləyir?
Sadəcə:
“JavaScript single-threaded-dir.”
demək kifayət deyil.
Daha yaxşı cavabda Call Stack, Web APIs, Task Queue və Microtask Queue arasındakı əlaqə izah edilməlidir.
Sual 2: Closure nədir?
Junior bilməlidir ki, closure funksiyanın yaradıldığı lexical environment-dakı dəyişənlərə həmin scope xaricindən də giriş imkanını qorumasıdır.
Məsələn, closure-lar:
- private state yaratmaqda,
- callback-lərdə,
- factory function-larda
istifadə oluna bilər.
Sual 3: CSS Box Model nədir?
Namizəd aşağıdakı strukturu izah etməlidir:
Content → Padding → Border → Margin
Bundan əlavə box-sizing: border-box ilə content-box arasındakı fərqi bilməsi üstünlükdür.
Junior Backend Developer-dən nə gözlənilir?
Backend developer server tərəfində business logic, API-lər, verilənlər bazaları və authentication kimi komponentlərlə işləyir. roadmap.sh backend roadmap-ında Python, Java, JavaScript/Node.js və digər dillərlə yanaşı API, database və authentication/authorization mövzuları əsas istiqamətlər kimi göstərilir.
Burada da eyni prinsip keçərlidir:
Junior-dan hər şeyi bilməsi yox, əsas sistemlərin necə işlədiyini anlaması gözlənilir.
1. Bir proqramlaşdırma dilini yaxşı bilmək
Backend üçün:
- Node.js / JavaScript
- Python
- Java
- C#
- Go
- PHP
və s. istifadə edilə bilər.
Amma əsas məsələ dilin adından daha çox proqramlaşdırma məntiqidir.
Junior aşağıdakıları bilməlidir:
- Functions
- Objects / Classes
- Error handling
- Async programming
- Modules
- Data structures
- Basic algorithms
- Package management
- Environment variables
2. Database bilikləri
Backend developer üçün database sadəcə “MongoDB qoşdum” səviyyəsində olmamalıdır.
Ən azı bunlar başa düşülməlidir:
SQL
SELECTINSERTUPDATEDELETEWHEREORDER BYGROUP BYJOIN- Primary Key
- Foreign Key
- Index əsasları
NoSQL
MongoDB kimi document-based database istifadə edilirsə:
- Document
- Collection
- Query
- Index
- Relationship modelləşdirməsi
kimi anlayışlar bilinməlidir.
3. REST API
Junior backend developer sadə CRUD API qura bilməlidir.
Məsələn:
GET /users
GET /users/:id
POST /users
PATCH /users/:id
DELETE /users/:id
Amma endpoint yaratmaqla iş bitmir.
Namizəd bilməlidir:
- HTTP methods
- Request / Response
- Headers
- Body
- Query Parameters
- Path Parameters
- Status Codes
- Validation
- Error handling
4. Authentication və Authorization
Bu iki anlayış tez-tez qarışdırılır.
Authentication:
“Bu istifadəçi kimdir?”
Authorization:
“Bu istifadəçinin nə etməyə icazəsi var?”
Məsələn:
Authentication → User login oldu?
Authorization → Bu user admin panelinə daxil ola bilər?
JWT, session-based authentication və OAuth kimi yanaşmaların ən azı əsas məntiqini bilmək Junior backend üçün faydalıdır. GeeksforGeeks-in backend roadmap-ı da authentication/authorization və JWT/OAuth kimi təhlükəsizlik mövzularını backend inkişafının əsas hissələrindən biri kimi qeyd edir.
Junior Backend müsahibəsində hansı suallar verilə bilər?
Sual 1: HTTP 200 və 201 arasındakı fərq nədir?
200 OK — request uğurla emal edilib.
201 Created — yeni resource yaradılıb.
Məsələn:
POST /users
yeni user yaradırsa, 201 Created uyğun cavab ola bilər.
Sual 2: 400, 401 və 403 nə deməkdir?
400 Bad Request
Request düzgün deyil və ya validation problemi var.
401 Unauthorized
İstifadəçinin autentifikasiyası yoxdur və ya etibarlı deyil.
403 Forbidden
İstifadəçi tanınır, lakin həmin əməliyyata icazəsi yoxdur.
Bu fərqləri bilməmək backend-də fundamental HTTP biliklərinin zəif olduğunu göstərə bilər.
Sual 3: SQL JOIN nədir?
Məsələn:
users
orders
cədvəllərimiz varsa, JOIN vasitəsilə user məlumatlarını onun sifarişləri ilə əlaqələndirə bilərik.
Junior üçün əsas məsələ bütün JOIN sintaksisini əzbərləmək deyil. Verilənlər arasında əlaqənin necə qurulduğunu başa düşməkdir.
GitHub səhifəsinin analizi: Texniki rəhbər ilk 30 saniyədə nəyə baxır?
Junior developer üçün GitHub sadəcə kod saxlamaq üçün platforma deyil.
O, müəyyən mənada iş nümunələrini göstərən texniki portfeldir.
DEV Community-də GitHub profilinin README-si, public repository-lər, fəaliyyət və layihələrin təqdimatı developer profilinin qiymətləndirilməsində vacib elementlər kimi müzakirə olunur.
freeCodeCamp icmasındakı müzakirələrdə də yaxşı dokumentasiya olunmuş GitHub repository-sinin, xüsusilə ilk işini axtaran developer üçün bacarıqları nümayiş etdirməkdə faydalı ola biləcəyi vurğulanır.
Bəs konkret olaraq nəyə baxmaq lazımdır?
1. README.md
Yaxşı README bu suallara cavab verməlidir:
Bu layihə nə edir?
Nə üçün yaradılıb?
Hansı texnologiyalardan istifadə olunub?
Layihəni lokalda necə işə salmaq olar?
Environment variables lazımdırmı?
Demo varmı?
Məsələn:
# E-commerce API
REST API for an e-commerce application.
## Tech Stack
- Node.js
- Express
- PostgreSQL
- JWT
## Installation
npm install
## Environment
DATABASE_URL=
JWT_SECRET=
## Run
npm run dev
Bu README artıq reviewer-a layihəni anlamaq üçün başlanğıc nöqtəsi verir.
2. Commit tarixçəsi
GitHub-a bütün layihəni bir dəfə upload edib:
Initial commit
yazmaq texniki proses haqqında çox az məlumat verir.
Bunun əvəzinə məntiqli commit-lər daha faydalıdır:
feat: add user authentication
feat: implement product filtering
fix: handle invalid login credentials
refactor: extract database service
docs: update API documentation
Burada məqsəd “commit mesajını gözəl göstərmək” deyil.
Məqsəd iş prosesinin izlənə bildiyini göstərməkdir.
Junior developer real komandada işləyərkən branch, commit, pull request və code review kimi proseslərlə qarşılaşacaq. Ona görə Git-i yalnız git add, git commit, git push səviyyəsində bilmək kifayət etməyə bilər.
3. Code Cleanliness
Texniki rəhbər repository-yə daxil olduqda ilk növbədə “Bu kod işləyirmi?” sualından əlavə:
“Bu kodu başqa developer oxuya bilərmi?”
sualını da verir.
Burada aşağıdakılar əhəmiyyətlidir:
- Aydın naming
- Kiçik və məsuliyyəti müəyyən funksiyalar
- Lazımsız təkrarlanan kodun olmaması
- Düzgün folder structure
- Error handling
.envməlumatlarının repository-yə göndərilməməsi- Linter
- Formatter
- TypeScript istifadə edilirsə düzgün typing
- Dependency-lərin düzgün idarə olunması
freeCodeCamp icmasındakı portfolio müzakirələrində də texnologiyanın sadəcə istifadə edilməsindən çox, düzgün və məqsədəuyğun istifadə olunması, layihənin təşkilatı və dokumentasiyası kimi detallara diqqət çəkilir.
4. Layihənin özü
GitHub-da 25 repository olması avtomatik olaraq güclü portfolio demək deyil.
Əksinə, 3–4 yaxşı hazırlanmış layihə daha güclü siqnal yarada bilər.
Məsələn, frontend üçün:
- Authentication
- API integration
- State management
- Responsive UI
- Error/loading states
- Form validation
olan bir layihə sadə “Todo App”dən daha çox bacarıq göstərə bilər.
Backend üçün isə:
- REST API
- Database
- Authentication
- Authorization
- Validation
- Error handling
- Pagination
- Filtering
- Deployment
kimi xüsusiyyətlər daha real engineering bacarıqlarını göstərir.
Standart Junior CV-si vs Production-Ready Junior CV-si
| Standart / Zəif Junior | Production-Ready Junior |
|---|---|
| “React bilirəm” | React ilə real layihə qurub |
| 10+ texnologiya sadalanıb | Daha az, amma əsas texnologiyalar real layihələrdə istifadə olunub |
| Tutorial layihələri çoxdur | Özünün hazırladığı real layihələr var |
| GitHub-da yalnız Initial commit | Məntiqli commit tarixçəsi var |
| README yoxdur | Quraşdırma və istifadə dokumentasiyası var |
| Kod işləyir, amma qarışıqdır | Clean code və strukturlaşdırılmış repository |
| API sadəcə istifadə olunub | API, error handling və loading states düşünülüb |
| Database yalnız CRUD səviyyəsindədir | Data modelling və query məntiqi başa düşülür |
| Müsahibə suallarını əzbərləyib | Cavabın arxasındakı məntiqi izah edə bilir |
| Problemdə dərhal kömək gözləyir | Problemi araşdırır, debug edir və həll yolunu əsaslandırır |
| Tək işləməyə öyrəşib | Git Flow və komanda proseslərini bilir |
Əslində şirkət Junior-dan nə gözləyir?
Bu məqalənin ən vacib hissəsi məhz budur.
Şirkət Junior-dan mükəmməl developer gözləmir.
Şirkət aşağıdakı siqnalları görmək istəyir:
1. Fundamental bilik
Sən istifadə etdiyin texnologiyanın əsaslarını başa düşürsən.
2. Problem-solving
Problemi kiçik hissələrə bölə və həll yolu tapa bilirsən.
3. Learnability
Bilmədiyin texnologiya və ya problemi araşdırıb öyrənə bilirsən.
4. Engineering discipline
Git, code structure, documentation, debugging və testing kimi prosesləri ciddiyə alırsan.
5. Real project experience
Tutorial-u təkrarlamaq əvəzinə öz qərarlarını verdiyin layihələr qurubsan.
6. Communication
Yazdığın kodun və verdiyin texniki qərarların səbəbini izah edə bilirsən.
Bunlar təsadüfi gözləntilər deyil. Müasir developer roadmap-ları da öyrənməni yalnız texnologiya siyahısı kimi deyil, layihələr qurmaq, problemləri həll etmək və davamlı öyrənmək prosesi kimi təqdim edir. roadmap.sh backend yol xəritəsində də yeni başlayanlara çoxlu layihə qurmaq və davamlı öyrənmə yanaşmasını saxlamaq tövsiyə olunur.
Bəs Junior olaraq bunları necə əldə etmək olar?
Ən böyük səhv:
“Əvvəl hər şeyi öyrənim, sonra layihə quraram.”
olur.
Əksinə:
Öyrən → tətbiq et → səhv et → debug et → GitHub-a yerləşdir → feedback al → yenidən qur.
Bu proses real development mühitinə daha yaxındır.
Çünki şirkətə daxil olduqda da hər şeyi bilməyəcəksən.
Fərq ondadır ki, bilmədiyin şeyi necə öyrəndiyin vacib olacaq.
Devlab-da Junior-dan Production-Ready Junior-a
Devlab-ın yanaşması məhz bu boşluğu — kursda öyrənilən biliklə real iş mühiti arasındakı fərqi — azaltmağa fokuslanır.
Burada məqsəd yalnız texnologiya öyrətmək deyil.
İştirakçılar real layihə prosesinə yaxın mühitdə:
- Mock Interview formatında texniki müsahibələrə hazırlaşır;
- Git və Git Flow ilə komanda daxilində işləməyi öyrənir;
- Real problemlər üzərində işləyir;
- Kod review və feedback prosesi ilə qarşılaşır;
- GitHub repository-lərini daha peşəkar şəkildə strukturlaşdırır;
- README və layihə dokumentasiyasını hazırlayır;
- Texniki qərarlarını izah etməyi öyrənir;
- Öz portfolio və GitHub profilini daha Production-Ready vəziyyətə gətirir.
Çünki Junior developer üçün ən böyük üstünlük “mən 15 texnologiya bilirəm” demək deyil.
Ən güclü arqument budur:
“Mən real problemi həll etmişəm və necə həll etdiyimi göstərə bilərəm.”
Nəticə
Junior Frontend və ya Backend Developer olmaq üçün yüzlərlə texnologiya öyrənmək lazım deyil.
Əvvəlcə fundamentləri qurmaq lazımdır:
Frontend:
HTML → CSS → JavaScript → DOM → Async JS → Git → Framework → API → Testing
Backend:
Programming Language → Git → HTTP → REST API → Database → Authentication → Authorization → Testing
Sonra bu bilikləri real layihələrdə tətbiq etmək lazımdır.
Və ən əsası, nəticəni göstərmək lazımdır.
Çünki CV sənin nə bildiyini deyir.
GitHub isə bunu sübut edə bilər.
Əgər Junior olaraq növbəti mərhələyə keçmək, real layihələr üzərində işləmək, müsahibələrə hazırlaşmaq və GitHub profilini daha professional səviyyəyə gətirmək istəyirsənsə, Devlab haqqında ətraflı məlumat əldə edə bilərsən:
https://devlab.llc

