Son tur · Tümü
Mülakat sabahı özeti
11 sayfayı tek tek açmaya vaktin yoksa — bu tek sayfa, hepsinin 1 satırlık özeti. Yazdır/PDF kaydet, otobüste/taksi de gözden geçir.
TypeScript
| Ne işe yarar | Derleme zamanında tip kontrolü — runtime hatasını yazarken yakalar |
| interface | Obje şekli, genişletilebilir (extends) |
| type | Union/tuple/hesaplanmış tipler — interface'in yapamadığı |
| Partial / Pick / Omit / Record | Var olan bir tipten türetme — PATCH body, DTO, map tipi |
Redux · RTK · React Query
| Redux/RTK | Client state (sepet, form, UI) — createSlice + configureStore + useSelector/useDispatch |
| React Query | Server state (API verisi) — cache, otomatik yeniden çekme, invalidateQueries |
| Akış | dispatch → reducer → store günceller → useSelector re-render |
Test piramidi
| Jest | Unit — saf fonksiyon, hızlı, çok sayıda |
| RTL | Integration — component + kullanıcı etkileşimi, getByRole > getByTestId |
| Cypress | E2E — gerçek tarayıcı, sadece kritik akışlar (ödeme, giriş) |
CSS mimarisi
| BEM | blok__eleman--degisken — insan disiplini, araç gerekmez |
| CSS Modules | Build-time otomatik hash'leme — Next.js native, bu sitenin Sidebar'ı örnek |
| Utility-first | Atomik class'lar JSX içinde — hızlı ama JSX kalabalıklaşır |
| Storybook | Component'i route'tan bağımsız, izole geliştirme/katalog |
NX Monorepo & performans
| NX affected | Sadece değişen projeleri test/build eder, tüm repoyu değil |
| Micro-frontend | Bağımsız deploy gereken çoklu ekip senaryosunda — Module Federation |
| Vite vs Webpack | Vite native ESM ile anında açılır; Webpack daha olgun/enterprise |
| Lazy/code-split/memo | Gerekmeyen kodu indirme + gerekmeyen render'ı önleme |
| Core Web Vitals | LCP < 2.5s, INP < 200ms, CLS < 0.1 |
Git, CI/CD & observability
| Gitflow | develop/feature/release/hotfix — net release takvimi olan ürünler |
| Trunk-based | Sık, küçük merge + feature flag — sürekli deploy eden ekipler |
| Jenkins | Install → Lint&Test → Build → Deploy aşamaları |
| Docker multi-stage | deps → builder → runner — final imaj küçük kalır |
| Sentry / Datadog / Dynatrace | Hata takibi / infra metrikleri / AI destekli kök neden analizi |
Erişilebilirlik & güvenlik
| Semantik HTML | button/label kullan, div+onClick'i ARIA ile taklit etmeye çalışma |
| ARIA | Son çare — semantik HTML yetmediğinde |
| XSS | React otomatik escape eder; dangerouslySetInnerHTML sadece sanitize edilmiş veriyle |
| Token saklama | localStorage değil HttpOnly cookie — XSS ile çalınamaz |
İlan 2 SharePoint / .NET
| Farm | WFE (HTTP) + Application server (Search/UPS) + SQL (content DB) |
| Search / Cache / Metadata | İçerik indeksleme / WFE'ler arası paylaşılan cache / merkezi taksonomi |
| X-RequestDigest | CSRF koruması — her POST/PUT/DELETE'te zorunlu |
| Webhook vs polling | Push (anlık, verimli) vs sürekli sorma (gecikmeli, israflı) |
| SOAP vs REST | Katı XML/RPC odaklı vs kaynak odaklı/JSON/hafif |
İlan 3 React Native Mobile
| Redux'ta fark | AsyncStorage yerine localStorage — redux-persist ile |
| useEffect cleanup | Unmount sonrası setState'i önler — network isteği devam ederken ekran kapanırsa kritik |
| Android / iOS store | AAB+versionCode, saatler vs IPA+provisioning, 1-2 gün — EAS ikisini de otomatikleştirir |
Senior davranışı — cevap iskeleti
Bağlam (1 cümle) → Seçenekler nelerdi → Neden bunu seçtin (asıl mesele) → Sonuç/öğrenim. STAR'da da aynı mantık: Situation → Task → Action → Result.