Update README-tr.md

Much more translate for Turkish language.
This commit is contained in:
Kağan Balga 2017-12-12 19:49:28 +02:00 committed by GitHub
parent 41fb7d057e
commit 1b0aac2f08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -223,75 +223,75 @@ Bazı kurslar aktif olmayabilirler, bir kaç ay beklemeniz gerekebilir, erişimi
Üniversite derslerini kullanmayı severim.
## Interview Process & General Interview Prep
## Mülakat Süreci & Genel Mülakat Hazırlığı
- [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
- [ ] [ABC: Daima Kodlayın](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
- [ ] [Whiteboarding](https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1)
- [ ] [Effective Whiteboarding during Programming Interviews](http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/)
- [ ] [Demystifying Tech Recruiting](https://www.youtube.com/watch?v=N233T0epWTs)
- [ ] Cracking The Coding Interview Set 1:
- [ ] [Programlama Mülakatlarında Efektif Beyaz Tahta Kullanımı](http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/)
- [ ] [Teknolojik Yardımı Arındırma](https://www.youtube.com/watch?v=N233T0epWTs)
- [ ] Kodlama Mülakatını Çatlatmak Set 1:
- [ ] [Gayle L McDowell - Cracking The Coding Interview (video)](https://www.youtube.com/watch?v=rEJzOhC5ZtQ)
- [ ] [Cracking the Coding Interview with Author Gayle Laakmann McDowell (video)](https://www.youtube.com/watch?v=aClxtDcdpsQ)
- [ ] How to Get a Job at the Big 4:
- [ ] Büyük 4'lü de bir iş nasıl alınır:
- [ ] [How to Get a Job at the Big 4 - Amazon, Facebook, Google & Microsoft (video)](https://www.youtube.com/watch?v=YJZCUhxNCv8)
- [ ] Prep Course:
- [ ] [Software Engineer Interview Unleashed (paid course)](https://www.udemy.com/software-engineer-interview-unleashed):
- Learn how to make yourself ready for software engineer interviews from a former Google interviewer.
- [ ] [Python for Data Structures, Algorithms, and Interviews! (paid course)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):
- A Python centric interview prep course which covers data structures, algorithms, mock interviews and much more.
- [ ] Hazırlık Kursu:
- [ ] [Salınmış Yazılım Mühendisliği Mülakatı (ücretli kurs)](https://www.udemy.com/software-engineer-interview-unleashed):
- Google mülakatçısı tarafından kendinizi yazılım mühendisliği mülakatı için nasıl hazırlayacağınızı öğrenin.
- [ ] [Veri Yapıları, Algoritmalar, ve Mülakatlar için Python! (ücretli kurs)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):
- Python merkezli mülakat hazırlık kursu, veri yapıları, algoritmalar, sahte mülakatlar ve daha fazlasını içerir.
## Pick One Language for the Interview
## Mülakat İçin Bir Dil Seçin
You can use a language you are comfortable in to do the coding part of the interview, but for large companies, these are solid choices:
Mülakatın kodlama bölümü için rahat hissettiğiniz bir dili kullanabilirsiniz, ancak büyük şirketler için, aşağıdakiler sağlam seçeneklerdir:
- C++
- Java
- Python
You could also use these, but read around first. There may be caveats:
Ayrıca bunları da kullanabilirsin, ancak önce okuyun. Bazı uyarılar olabilir:
- JavaScript
- Ruby
You need to be very comfortable in the language and be knowledgeable.
Bir dilde çok rahat ve bilgili olmanız gerekmektedir.
Read more about choices:
Seçenekler hakkında daha fazlasını okuyun:
- http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/
- http://blog.codingforinterviews.com/best-programming-language-jobs/
[See language resources here](programming-language-resources.md)
[Dil kaynaklarına buradan göz atın](programming-language-resources.md)
You'll see some C, C++, and Python learning included below, because I'm learning. There are a few books involved, see the bottom.
Aşağıda C, C++ ve Python öğreniminin dahil olduğunu göreceksiniz, çünkü ben öğreniyorum. Alta bakarsanız bir kaç kitap dahil edilmiştir.
## Book List
## Kitap Listesi
This is a shorter list than what I used. This is abbreviated to save you time.
Kendi kullandığım kısa bir liste. Zamandan tasarruf etmenizi sağlayacaktır.
### Interview Prep
### Mülakat Hazırlığı
- [ ] [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html)
- answers in C++ and Java
- this is a good warm-up for Cracking the Coding Interview
- not too difficult, most problems may be easier than what you'll see in an interview (from what I've read)
- C++ ve Java dillerinde cevaplar
- Cracking the Coding Interview kitabı için iyi bir ısınma
- çok zor değil, çoğu problem bir mülakatta göreceğinizden daha kolay (benim okuduğum kadarıyla)
- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
- answers in Java
- Java dilinde cevaplar
If you have tons of extra time:
Eğer tonlarca ekstra vaktiniz varsa:
- [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
- [ ] Elements of Programming Interviews (Java version)
- [book](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
- [kitap](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
- [Companion Project - Method Stub and Test Cases for Every Problem in the Book](https://github.com/gardncl/elements-of-programming-interviews)
### Computer Architecture
### Bilgisayar Mimarisi
If short on time:
Zamanınız kısaysa:
- [ ] [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
- The book was published in 2004, and is somewhat outdated, but it's a terrific resource for understanding a computer in brief.
- The author invented HLA, so take mentions and examples in HLA with a grain of salt. Not widely used, but decent examples of what assembly looks like.
- These chapters are worth the read to give you a nice foundation:
- Kitap 2004 yılında yayınlanmış, ve bazı şeyler geçerliliğini kaybetmiş, ama bilgisayarı anlamak için muhteşem bir kaynaktır.
- Yazar HLA'yı icat etmiş, bu nedenle HLA ile bahsedilen örneklere biraz kuşkuyla yaklaşın. Yaygın olarak kullanılmaz, ancak assembly'nin nasıl göründüğüne dair iyi içerikler barındırır.
- Bu bölümlerin okunması size güzel bir temel verecektir:
- Chapter 2 - Numeric Representation
- Chapter 3 - Binary Arithmetic and Bit Operations
- Chapter 4 - Floating-Point Representation
@ -302,164 +302,162 @@ If short on time:
- Chapter 10 - Instruction Set Architecture
- Chapter 11 - Memory Architecture and Organization
If you have more time (I want this book):
Eğer daha fazla vaktiniz varsa (Bu kitabı istiyorum):
- [ ] [Computer Architecture, Fifth Edition: A Quantitative Approach](https://www.amazon.com/dp/012383872X/)
- For a richer, more up-to-date (2011), but longer treatment
- Daha zengin, daha güncel (2011), ancak daha uzun süreli
### Language Specific
### Spesifik Dil
**You need to choose a language for the interview (see above).** Here are my recommendations by language. I don't have resources for all languages. I welcome additions.
**Mülakat için bir dil seçmeniz gerekir (alta bakın).** Dile göre önerilerim burada. Her dil için bir kaynağım yok. İlaveler hoş olur.
If you read though one of these, you should have all the data structures and algorithms knowledge you'll need to start doing coding problems.
**You can skip all the video lectures in this project**, unless you'd like a review.
Eğer bunlardan birini okursan, kodlama problemlerini yapmaya başlamanız için gereken tüm veri yapılarına ve algoritma bilgisine sahip olmanız gerekir.
**Bu projedeki bütün video derslerini atlayabilirsiniz**, inceleme yapmak istemiyorsanız.
[Additional language-specific resources here.](programming-language-resources.md)
[Spesifik dillere özgü ek kaynaklar burada.](programming-language-resources.md)
### C++
I haven't read these two, but they are highly rated and written by Sedgewick. He's awesome.
Henüz bu ikisini okumadım, ancak Sedgewick tararından yüksek derecelendirilmiş ve yazılmıştır. O mükemmel biri.
- [ ] [Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
- [ ] [Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
If you have a better recommendation for C++, please let me know. Looking for a comprehensive resource.
C++ için daha iyi bir tavsiyeniz varsa, beni bilgilendirin. Kapsamlı bir kaynak arıyorum.
### Java
- [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
- videos with book content (and Sedgewick!):
- kitap içeriğiyle birlikte videolar (ve Sedgewick!):
- [Algorithms I](https://www.youtube.com/user/algorithmscourses/playlists?view=50&sort=dd&shelf_id=2)
- [Algorithms II](https://www.youtube.com/user/algorithmscourses/playlists?shelf_id=3&view=50&sort=dd)
OR:
YA DA:
- [ ] [Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
- by Goodrich, Tamassia, Goldwasser
- used as optional text for CS intro course at UC Berkeley
- see my book report on the Python version below. This book covers the same topics.
- Goodrich, Tamassia, Goldwasser tarafından
- UC Berkeley'de bilgisayar bilimleri tanıtımı için isteğe bağlı metin olarak kullanılır
- aşağıda Python versiyonuyla ilgili kitap raporuma bak. Bu kitap aynı konuları kapsıyor.
### Python
- [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
- by Goodrich, Tamassia, Goldwasser
- I loved this book. It covered everything and more.
- Pythonic code
- my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
- Goodrich, Tamassia, Goldwasser tarafından
- Bu kitabı seviyorum. Her şeyi ve daha fazlasını kapsıyor.
- Pythonic kod
- parlayan kitap raporum: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
### Optional Books
### Opsiyonel Kitaplar
**Some people recommend these, but I think it's going overboard, unless you have many years of software engineering experience and expect a much harder interview:**
**Bazı insanlar bunları önerdi, ancak biraz fazla, uzun yıllar yazılım mühendisliği tecrübeniz yoksa ve daha zorlu bir mülakat bekliyorsanız:**
- [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
- As a review and problem recognition
- The algorithm catalog portion is well beyond the scope of difficulty you'll get in an interview.
- This book has 2 parts:
- class textbook on data structures and algorithms
- pros:
- is a good review as any algorithms textbook would be
- nice stories from his experiences solving problems in industry and academia
- code examples in C
- cons:
- can be as dense or impenetrable as CLRS, and in some cases, CLRS may be a better alternative for some subjects
- chapters 7, 8, 9 can be painful to try to follow, as some items are not explained well or require more brain than I have
- don't get me wrong: I like Skiena, his teaching style, and mannerisms, but I may not be Stony Brook material.
- algorithm catalog:
- this is the real reason you buy this book.
- about to get to this part. Will update here once I've made my way through it.
- Can rent it on kindle
- Answers:
- [Solutions](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
- [Solutions](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
- Bir gözden geçirme ve problem tanıma
- Algoritma kataloğu kısmı, bir röportajda bulacağınız zorlukların çok ötesinde bir şey.
- Bu kitap 2 bölüme sahip:
- veri yapıları ve algoritmaları üzerine birinci sınıf ders kitabı
- artılar:
- herhangi bir algoritma kitabı kadar iyi bir inceleme
- endüstri ve akademik alanlardaki sorunları çözme deneyimlerinden güzel hikayeler
- C dilinde kod örnekleri
- eksiler:
- CLRS kadar yoğun ya da geçilemez olabilir, ve bazı durumlarda, CLRS bazı konularda daha iyi bir alternatif olabilir
- bölüm 7, 8, 9'u takip etmek acı verici olabilir, çünkü bazı şeyler iyi açıklanmamış ya da benim sahip olduğumdan daha fazla beyin gerektiriyor olabilir
- beni yanlış anlamayın: Skiena'yı, öğretme stilini ve davranış biçimlerini severim, ancak Stony Brook materyali olmayabilirim.
- algoritma kataloğu:
- bu kitabı satın almak için gerçek neden budur.
- bu kısma geçmek üzereyim. Burası daha sonra güncellenecek.
- Kindle üzerinden kiralanabilir
- Cevaplar:
- [Çözümler](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
- [Çözümler](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
- [Errata](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)
- [ ] [Introduction to Algorithms](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)
- **Important:** Reading this book will only have limited value. This book is a great review of algorithms and data structures, but won't teach you how to write good code. You have to be able to code a decent solution efficiently.
- aka CLR, sometimes CLRS, because Stein was late to the game
- **Önemli:** Bu kitabı okumak sadece sınırlı bir değere sahip. Bu kitap, algoritmalar ve veri yapılarının mükemmel bir incelemesidir, ancak size nasıl iyi kod yazılacağını öğretmez. İyi bir çözümü verimli bir şekilde kodlayabilmelisiniz.
- aka CLR, bazen CLRS, çünkü Stein oyuna geç katılmıştı
- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)
- The first couple of chapters present clever solutions to programming problems (some very old using data tape) but
that is just an intro. This a guidebook on program design and architecture, much like Code Complete, but much shorter.
- İlk birkaç bölüm programlama sorunlarına akıllıca çözümler sunar (bazı çok eski veri tiplerini kullanır) ama
bu sadece bir tanıtım. Code Complete'e benzeyen, ancak daha kısa, program tasarım ve mimarisi üzerine bir rehberdir.
- ~~"Algorithms and Programming: Problems and Solutions" by Shen~~
- A fine book, but after working through problems on several pages I got frustrated with the Pascal, do while loops, 1-indexed arrays, and unclear post-condition satisfaction results.
- Would rather spend time on coding problems from another book or online coding problems.
- Hoş bir kitap, ancak birkaç sayfada sorunlarla uğraştıktan sonra Pascal ile hayal kırıklığına uğradım, do while döngüleri, 1 indexli diziler, ve belirsiz durum sonrası memnuniyet sonuçlarını içerir.
- Başka bir kitaptan veya çevrimiçi kodlama problemleriyle vaktimi harcamayı tercih ederim.
## Başlamadan Önce
## Before you Get Started
Bu liste birkaç ayda büyüdü, ve evet, biraz elden çıktı.
This list grew over many months, and yes, it kind of got out of hand.
Yaptığım hatalar şunlardır; böylece daha iyi bir tecrübeye sahip olacaksınız.
Here are some mistakes I made so you'll have a better experience.
### 1. Hepsini Hatırlamayacaksın
### 1. You Won't Remember it All
Saatlerce videolar izledim ve bol bol notlar aldım ancak aylar sonra hatırlamadığım çok şey olduu. 3 günümü notlar karıştırarak ve
flashcardlar yaparak inceleyebildim.
I watched hours of videos and took copious notes, and months later there was much I didn't remember. I spent 3 days going
through my notes and making flashcards so I could review.
Read please so you won't make my mistakes:
Lütfen okuyun, benim hatalarımı yapmayın:
[Retaining Computer Science Knowledge](https://startupnextdoor.com/retaining-computer-science-knowledge/)
### 2. Use Flashcards
### 2. Flashcard Kullanın
To solve the problem, I made a little flashcards site where I could add flashcards of 2 types: general and code.
Each card has different formatting.
Problemi çözmek için, genel ve kod olmak üzere 2 tür flashcard ekleyebildiğim küçük bir flashcard sitesi hazırladım.
Her kart farklı bir formata sahip.
I made a mobile-first website so I could review on my phone and tablet, wherever I am.
Nerede olursam olayım, telefonumdan ve tabletimden inceleyebilmek için bir mobil web sitesi hazırladım.
Make your own for free:
Kendinizinkini ücretsiz olarak yapın:
- [Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
- [My flash cards database (old - 1200 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db):
- [My flash cards database (new - 1800 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham-extreme.db):
- [Benim flashcard veritabanım (eski - 1200 kart)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db):
- [Benim flashcard veritabanım (yeni - 1800 kart)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham-extreme.db):
Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. It's way too much for what's required.
Kartlarla ilgili biraz aşırıya kaçtım, benim kartlarım Assembly dilinden Python'a, makine öğrenmesinden istatistiğe kadar bir çok şeyi kapsar. Gerekli olandan çok daha fazlasına sahip.
**Note on flashcards:** The first time you recognize you know the answer, don't mark it as known. You have to see the
same card and answer it several times correctly before you really know it. Repetition will put that knowledge deeper in
your brain.
**Flashcardlarla ilgili not:** İlk defa cevabı bildiğinizi fark ederseniz, bildiğiniz gibi işaretlemeyin. Aynı kartı görmeniz ve
gerçekten bilmeden önce birkaç kez doğru cevaplamanız gerekir. Tekrarlama bu bilgiyi beyninizde derinleştirecektir.
An alternative to using my flashcard site is [Anki](http://ankisrs.net/), which has been recommended to me numerous times. It uses a repetition system to help you remember.
It's user-friendly, available on all platforms and has a cloud sync system. It costs $25 on iOS but is free on other platforms.
Kullandığım flashcard siteme bir alternatif [Anki](http://ankisrs.net/), bana defalarca tavsiye edildi. Unutulmaması için bir tekrarlama sistemi kullanır.
Kullanıcı dostu, tüm platformlarda kullanılabilir ve bir bulut senkronizasyon sistemi vardır. iOS'da 25$, diğer platformlarda ücretsiz.
My flashcard database in Anki format: https://ankiweb.net/shared/info/25173560 (thanks [@xiewenya](https://github.com/xiewenya))
Benim flashcard veritabanımın Anki formatı: https://ankiweb.net/shared/info/25173560 (teşekkürler, [@xiewenya](https://github.com/xiewenya))
### 3. Review, review, review
### 3. İnceleme, inceleme, inceleme
I keep a set of cheat sheets on ASCII, OSI stack, Big-O notations, and more. I study them when I have some spare time.
ASCII, OSI stack, Big-O notasyonu, ve daha fazlası üzerinde bir dizi kopya kağıdı tutarım. Boş zamanlarım olduğunda bunlara çalışırım.
Take a break from programming problems for a half hour and go through your flashcards.
Yarım saat için programlama problemlerine ara verin ve flashcard'larınıza geçin.
### 4. Focus
### 4. Odaklanma
There are a lot of distractions that can take up valuable time. Focus and concentration are hard.
Değerli zamanınızı alabilecek bir çok dikkat dağıtıcı şey vardır. Odaklanma ve konsantrasyon zordur.
## What you won't see covered
## Neyi görmeyeceksiniz
These are prevalent technologies but not part of this study plan:
Bunlar yaygın teknolojilerdir ancak bu çalışma planının bir parçası değildir:
- SQL
- Javascript
- HTML, CSS, and other front-end technologies
- HTML, CSS, ve diğer front-end teknolojileri
## The Daily Plan
## Günlük Plan
Some subjects take one day, and some will take multiple days. Some are just learning with nothing to implement.
Bazı konular bir gün alır, ve bazıları birkaç gün sürer. Bazıları sadece öğrenilir, kullanılmaz.
Each day I take one subject from the list below, watch videos about that subject, and write an implementation in:
Her gün aşağıdaki listeden bir konu alıyorum, bu konuyla ilgili videolar izliyorum, ve implemente ediyorum:
- C - using structs and functions that take a struct * and something else as args.
- C++ - without using built-in types
- C++ - using built-in types, like STL's std::list for a linked list
- Python - using built-in types (to keep practicing Python)
- and write tests to ensure I'm doing it right, sometimes just using simple assert() statements
- You may do Java or something else, this is just my thing.
- C++ - yerleşik türleri kullanmadan
- C++ - yerleşik türleri kullanarak, bağlı liste için STL'in std::list gibi
- Python - yerleşik türleri kullanarak (Python'la ilgili pratiğe devam etmek için)
- doğru yaptığımdan emin olmak için testler yazarım, bazen sadece assert() deyimleri kullanırım
- Java ya da başka bir şey yapabilirsin, bu sadece benim yaptıklarım.
You don't need all these. You need only [one language for the interview](#pick-one-language-for-the-interview).
Bunların hepsine ihtiyacın yok. Sadece [mülakat için bir dil](#pick-one-language-for-the-interview) ihtiyacın var.
Why code in all of these?
- Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember)
Neden bunların hepsinde kod var?
- Ben bıkana kadar, pratik, pratik, pratik, ve sorunsuzca yapılabilir(bazılarının bir çok köşe durumu var ve hatırlanması için defter tutma ayrıntıları var)
- Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python))
- Make use of built-in types so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production)