Kaynaklar
Kaynaklar
Bu sitenin yeri, karmaşıklık temelleri, pratik platformları, kitaplar ve klasik referanslar, kalıp odaklı mülakat hazırlığı için derlendi.
Bu site nereye oturur
DSA Patterns, LeetCode tarzı mülakatlar için kalıp tanıma katmanıdır: katalog kalıpları, şablonlar (TypeScript / Python / C#), zihinsel modeller ve sitede yazılmış problem yolları. Her problemin kaynağını gösterir; resmi editoryal kopyalamaz.
- Burada başla: Big-O’yu hatırla → yol haritası temelleri → kalıp şablonu → yazı + test.
- Başka yerde pekiştir: hacim için LeetCode / NeetCode; görselleştirme için VisuAlgo; yarışma için Codeforces / AtCoder; canlı pratik için Pramp veya interviewing.io.
- Derinlik için kitap: CLRS (teori), EPI / CtCI (mülakat problemleri), Grokking (görsel sezgi).
Karmaşıklık ve Big-O
Kod mülakatları için pratik bir giriş: Big-O ne demek, yaygın sınırlar, döngüleri nasıl analiz edersin, alan karmaşıklığı nerede devreye girer.
Big-O rehberini oku →Matematik temelleri
DSA’nın arkasındaki matematik: büyüme hızları, logaritmalar, toplamlar, kombinatorik, modüler aritmetik, olasılık ve graf teorisi - görselleştirildi ve animasyonlu.
Matematik bölümünü keşfet →Dil kartları
Bu sitenin şablon verdiği üç dil için mülakat deyimleri: Python, TypeScript ve C#.
Mülakatta
Kodlamadan önce
- Problemi yeniden söyle: girdiler, çıktılar ve tipler.
- Algoritmayı değiştiren kısıtları sor: girdi boyutu, girdiyi mutasyona uğratabilir misin, zaman veya bellek sınırı.
- Normal bir örnek yürü, sonra boş ve tek elemanlı. Okumayı mülakatçıyla doğrula.
- Kalıp ailesini adlandır: tarama, arama, pencere, graf, ağaç veya dinamik programlama.
Kodlarken
- Doğru bir kaba kuvveti masaya koy, karmaşıklığını söyle, sonra sıkılaştır.
- Konuşmaya devam et. Yaklaşımı, trade-off’u ve seçmediğin alternatifi anlat.
- Değerin ne olduğunu söyleyen isimler kullan.
Kodladıktan sonra
- Üzerinde anlaştığın örnekleri izle.
- Aşağıdaki kenar durumları izle.
- Zaman ve ek alanı söyle; hangi satırın baskın olduğunu belirt.
- Daha sıkı bir sınır veya daha temiz bir şekil açıksa, ne olduğunu söyle.
Kenar durumlar
- Sayılar: sıfır, negatifler, belirtilen min/max. Java ve C’de sabit genişlik taşması. Python int taşmaz. Sıfıra bölme. Float’larda
==değil tolerans. - Dizgiler: boş ve tek karakter. Hepsi aynı. Boşluk, noktalama, ASCII dışı. Her iki değere de izin veren dillerde
Noneile"". - Diziler: boş, bir eleman, tümü kopya. Zaten sıralı ve ters sıralı. Dil izin veriyorsa
Nonegirdiler. - Ağaç ve graf: boş ve tek düğüm. Yalnızca sol veya yalnızca sağ çocuklar. Kopuk graf, self-loop, döngü. Topolojik sıralama DAG ister. Dijkstra negatif olmayan ağırlık ister.
- Matrisler: boş, 1×1, tek satır, tek sütun. Kare ve dikdörtgen.
İşe yarayan alışkanlıklar
- Yazmadan önce yaklaşımda anlaş. Birkaç dakikalık sessiz düşünmek yararlıdır. Mülakatın geri kalanında susmak başarısızlıktır.
- Kısıt eksikse sor.
- Senden istenmeden test et.
- Her seferinde zaman ve alanı söyle.
- İpucunu yeni bilgi say ve çözümü değiştir.
Zarar veren alışkanlıklar
- Problemi yeniden söyleyemeden kodlamak.
- Boş girdiyi atlamak.
- İpucunu yok saymak.
- Bug’ı izlemek yerine savunmak.
- Tek döngü isteyen probleme çerçeve kurmak.
- Karmaşıklık söylemeden durmak.
Pratik platformları
- LeetCode (yeni sekmede açılır)leetcode.com
- NeetCode (yeni sekmede açılır)neetcode.io
- AlgoMonster (yeni sekmede açılır)algo.monster
- HackerRank (yeni sekmede açılır)www.hackerrank.com
- GeeksforGeeks (yeni sekmede açılır)www.geeksforgeeks.org
- Codeforces (yeni sekmede açılır)codeforces.com
- AtCoder (yeni sekmede açılır)atcoder.jp
Deneme mülakatları
Kitaplar
- Introduction to Algorithms (CLRS) (yeni sekmede açılır)Yayınevi / resmi sayfa
- Elements of Programming Interviews (EPI) (yeni sekmede açılır)Yayınevi / resmi sayfa
- Grokking Algorithms (yeni sekmede açılır)Yayınevi / resmi sayfa
- A Common-Sense Guide to Data Structures and Algorithms (yeni sekmede açılır)Yayınevi / resmi sayfa
- Cracking the Coding Interview (yeni sekmede açılır)Yayınevi / resmi sayfa
Çevrimiçi referanslar
- Big-O Cheat Sheet (yeni sekmede açılır)www.bigocheatsheet.com
- CP-Algorithms (yeni sekmede açılır)cp-algorithms.com
- VisuAlgo (yeni sekmede açılır)visualgo.net
- Khan Academy — Algorithms (yeni sekmede açılır)www.khanacademy.org/computing/computer-science/algorithms
- Cornell CS 3110 — Data Structures & Functional Programming (yeni sekmede açılır)www.cs.cornell.edu/courses/cs3110/2024sp
- Algorithms by Jeff Erickson (Illinois) (yeni sekmede açılır)jeffe.cs.illinois.edu/teaching/algorithms
Dış bağlantılar yalnızca öneridir. Bu ürün veya sitelerle bağlantımız yoktur.