|
@@ -153,27 +153,26 @@
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
-## Why use it?
|
|
|
|
|
|
+## ทำไมต้องใช้?
|
|
|
|
|
|
-When I started this project, I didn't know a stack from a heap, didn't know Big-O anything, anything about trees, or how to
|
|
|
|
-traverse a graph. If I had to code a sorting algorithm, I can tell ya it wouldn't have been very good.
|
|
|
|
-Every data structure I've ever used was built into the language, and I didn't know how they worked
|
|
|
|
-under the hood at all. I've never had to manage memory unless a process I was running would give an "out of
|
|
|
|
-memory" error, and then I'd have to find a workaround. I've used a few multidimensional arrays in my life and
|
|
|
|
-thousands of associative arrays, but I've never created data structures from scratch.
|
|
|
|
|
|
+ตอนเริ่มโครงการนี้, ผมไม่รู้จัก stack จาก heap เสียด้วยซ้ำ, หรือแม้กระทั้ง Big-O, โครงสร้างต้นไม้
|
|
|
|
+หรือวิธีการเข้าถึงข้อมูลในโครงสร้างกราฟ ถ้าผมต้องได้เขียนโค้ดสำหรับจัดเรียงข้อมูล ผมบอกได้เลยว่ามันต้องออกมาไม่ดีแน่ๆ
|
|
|
|
+ทุกๆ โครงสร้างข้อมูลที่เคยใช้ก็ใช้สิ่งที่มีมากับตัวภาษาโปรแกรมที่ใช้ และผมไม่รู้ด้วยซ้ำว่ามันทำงานยังไงในระดับลึกๆ
|
|
|
|
+ผมไม่เคยจำเป็นต้องสนใจการเขียนเพื่อให้ใช้หน่วยความจำให้มีประสิทธิภาพ จนกระทั่งระบบเตือนมาโน่นแหละว่า "หน่วยความจำหมด"
|
|
|
|
+จึงจะหาวิธีแก้ขัด ผมใช้โครงสร้างแถวลำดับ (Arrays) หลายมิติน้อยครั้งมากๆ เมื่อเทียบกับโครงสร้างแถวลำดับ (Arrays) แบบปกติ แต่ผมก็ไม่เคยสร้างโครงสร้างข้อมูลขึ้นมาใช้เองเลยสักครั้ง
|
|
|
|
|
|
-It's a long plan. It may take you months. If you are familiar with a lot of this already it will take you a lot less time.
|
|
|
|
|
|
+นี่คือแผนอันยาวไกล คุณอาจต้องใช้เวลาหลายเดือน ถ้าคุณมีความคุ้นเคยมาก่อนหน้านี้ ก็จะทำให้คุณใช้เวลาน้อยลง
|
|
|
|
|
|
-## How to use it
|
|
|
|
|
|
+## ใช้อย่างไร
|
|
|
|
|
|
-Everything below is an outline, and you should tackle the items in order from top to bottom.
|
|
|
|
|
|
+ทุกสิ่งที่อยู่ด้านล่างนี้เป็นเพียงเค้าโครงเท่านั้น และคุณต้องศึกษาสิ่งเหล่านี้จากบนลงล่างตามลำดับ
|
|
|
|
|
|
-I'm using Github's special markdown flavor, including tasks lists to check progress.
|
|
|
|
|
|
+ผมใช้ เครื่องมือของ Github markdown สำหรับทำ check list เพื่อไว้ดูความก้าวหน้าในแต่ละหัวข้อ
|
|
|
|
|
|
-**Create a new branch so you can check items like this, just put an x in the brackets: [x]**
|
|
|
|
|
|
+**สร้าง branch ใหม่ และคุณจะสามารถติ๊กแต่ละรายการโดยใช้วิธี, เพิ่มอักขระ x ข้างในวงเล็บก้ามปูแบบนี้: [x]**
|
|
|
|
|
|
|
|
|
|
- Fork a branch and follow the commands below
|
|
|
|
|
|
+ Fork branch และใช้คำสั่งดังนี้
|
|
|
|
|
|
`git checkout -b progress`
|
|
`git checkout -b progress`
|
|
|
|
|
|
@@ -181,7 +180,7 @@ I'm using Github's special markdown flavor, including tasks lists to check progr
|
|
|
|
|
|
`git fetch --all`
|
|
`git fetch --all`
|
|
|
|
|
|
- Mark all boxes with X after you completed your changes
|
|
|
|
|
|
+ เลือกทุกกล่องโดยใช้ X หลังจากที่คุณศึกษาเสร็จแล้ว
|
|
|
|
|
|
`git add . `
|
|
`git add . `
|
|
|
|
|
|
@@ -191,23 +190,23 @@ I'm using Github's special markdown flavor, including tasks lists to check progr
|
|
|
|
|
|
`git push --force `
|
|
`git push --force `
|
|
|
|
|
|
-[More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
|
|
|
|
|
|
+[เพิ่มเติมเกี่ยวกับเครื่องมือ markdown ของ Github](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
|
|
|
|
|
|
-## Don't feel you aren't smart enough
|
|
|
|
-- Successful software engineers are smart, but many have an insecurity that they aren't smart enough.
|
|
|
|
|
|
+## ห้ามรู้สึกว่าคุณไม่ฉลาดพอ
|
|
|
|
+- วิศวกรซอฟต์แวร์ที่ประสบความสำเร็จนั้นเป็นบุคคลที่ฉลาด แต่หลายคนก็จิตตก คิดว่าตัวเองยังฉลาดไม่พอ
|
|
- [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
- [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
- [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
- [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
|
-## About Video Resources
|
|
|
|
|
|
+## เกี่ยวกับแหล่งที่มาของวีดีโอ
|
|
|
|
|
|
-Some videos are available only by enrolling in a Coursera, EdX, or Lynda.com class. These are called MOOCs.
|
|
|
|
-Sometimes the classes are not in session so you have to wait a couple of months, so you have no access. Lynda.com courses are not free.
|
|
|
|
|
|
+บางวิดีโอนั้น สามารถเข้าถึงได้เฉพาะการลงทะเบียนเรียนใน Coursera, EdX หรือ Lynda.com ซึ่งเรียกว่า MOOCs
|
|
|
|
+บางครั้งคอร์สที่คุณต้องการเข้าไปดูวิดีโอนั้นยังไม่เปิด คุณจำเป็นต้องรอประมาณสองสามเดือน ส่วน Lynda.com นั้นต้องเสียเงิน
|
|
|
|
|
|
- I'd appreciate your help to add free and always-available public sources, such as YouTube videos to accompany the online course videos.
|
|
|
|
- I like using university lectures.
|
|
|
|
|
|
+ ผมยินดีหากคุณช่วยเพิ่มแหล่งความรู้ที่ฟรีและสามารถเข้าถึงได้แบบสาธารณะ เช่น วิดีโอใน YouTube ที่เป็นวิดีโอที่ใช้ในคอร์สเรียนนั้นๆ
|
|
|
|
+ ซึ่งผมชอบใช้บทเรียนที่มาจากมหาวิทยาลัยต่างๆ
|
|
|
|
|
|
|
|
|
|
-## Interview Process & General Interview Prep
|
|
|
|
|
|
+## กระบวนการการสัมภาษณ์และการเตรียมตัว
|
|
|
|
|
|
- [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
|
|
- [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
|
|
- [ ] [Whiteboarding](https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1)
|
|
- [ ] [Whiteboarding](https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1)
|
|
@@ -222,9 +221,9 @@ Sometimes the classes are not in session so you have to wait a couple of months,
|
|
- [ ] [Software Engineer Interview Unleashed (paid course)](https://www.udemy.com/software-engineer-interview-unleashed):
|
|
- [ ] [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.
|
|
- Learn how to make yourself ready for software engineer interviews from a former Google interviewer.
|
|
|
|
|
|
-## Pick One Language for the Interview
|
|
|
|
|
|
+## เลือกภาษาสำหรับการสัมภาษณ์
|
|
|
|
|
|
-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:
|
|
|
|
|
|
+คุณสามารถเลือกภาษาที่คุณถนัดในการสัมภาษณ์ในส่วนของการเขียนโปรแกรม แต่สำหรับบริษัทใหญ่ๆ ภาษาเหล่านี้คือตัวเลือกที่ควรใช้:
|
|
|
|
|
|
- C++
|
|
- C++
|
|
- Java
|
|
- Java
|
|
@@ -237,7 +236,7 @@ You could also use these, but read around first. There may be caveats:
|
|
|
|
|
|
You need to be very comfortable in the language and be knowledgeable.
|
|
You need to be very comfortable in the language and be knowledgeable.
|
|
|
|
|
|
-Read more about choices:
|
|
|
|
|
|
+อ่านเพิ่มเติม สำหรับภาษาที่ใช้เลือกสอบ:
|
|
- http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/
|
|
- http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/
|
|
- http://blog.codingforinterviews.com/best-programming-language-jobs/
|
|
- http://blog.codingforinterviews.com/best-programming-language-jobs/
|
|
|
|
|
|
@@ -245,11 +244,11 @@ Read more about choices:
|
|
|
|
|
|
You'll see some C, C++, and Python learning included below, because I'm learning. There are a few books involved, see the bottom.
|
|
You'll see some C, C++, and Python learning included below, because I'm learning. There are a few books involved, see the bottom.
|
|
|
|
|
|
-## Book List
|
|
|
|
|
|
+## รายชื่อหนังสือ
|
|
|
|
|
|
-This is a shorter list than what I used. This is abbreviated to save you time.
|
|
|
|
|
|
+นี่คือรายชื่อหนังสือที่น้อยกว่าที่ผมใช้ ซึ่งสิ่งเหล่านี้จะช่วยชีวิตของคุณ
|
|
|
|
|
|
-### Interview Prep
|
|
|
|
|
|
+### เตรียมตัวสัมภาษณ์
|
|
|
|
|
|
- [ ] [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html)
|
|
- [ ] [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
|
|
- answers in C++ and Java
|
|
@@ -258,14 +257,14 @@ This is a shorter list than what I used. This is abbreviated to save you time.
|
|
- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
|
|
- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
|
|
- answers in Java
|
|
- answers in Java
|
|
|
|
|
|
-If you have tons of extra time:
|
|
|
|
|
|
+หากคุณมีเวลาพอ:
|
|
|
|
|
|
- [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
|
|
- [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
|
|
- [ ] [Elements of Programming Interviews (Java version)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
|
|
- [ ] [Elements of Programming Interviews (Java version)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
|
|
|
|
|
|
-### Computer Architecture
|
|
|
|
|
|
+### สถาปัตยกรรม คอมพิวเตอร์
|
|
|
|
|
|
-If short on time:
|
|
|
|
|
|
+หากคุณมีเวลาน้อย:
|
|
|
|
|
|
- [ ] [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
|
|
- [ ] [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 book was published in 2004, and is somewhat outdated, but it's a terrific resource for understanding a computer in brief.
|
|
@@ -281,55 +280,55 @@ If short on time:
|
|
- Chapter 10 - Instruction Set Architecture
|
|
- Chapter 10 - Instruction Set Architecture
|
|
- Chapter 11 - Memory Architecture and Organization
|
|
- Chapter 11 - Memory Architecture and Organization
|
|
|
|
|
|
-If you have more time (I want this book):
|
|
|
|
|
|
+หากคุณมีเวลาพอ (ผมอยากได้เล่มนี้):
|
|
|
|
|
|
- [ ] [Computer Architecture, Fifth Edition: A Quantitative Approach](https://www.amazon.com/dp/012383872X/)
|
|
- [ ] [Computer Architecture, Fifth Edition: A Quantitative Approach](https://www.amazon.com/dp/012383872X/)
|
|
- For a richer, more up-to-date (2011), but longer treatment
|
|
- For a richer, more up-to-date (2011), but longer treatment
|
|
|
|
|
|
-### Language Specific
|
|
|
|
|
|
+### สำหรับแต่ละภาษา
|
|
|
|
|
|
-**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.
|
|
|
|
|
|
+**คุณต้องเลือกภาษาที่จะใช้สัมภาษณ์ (ดูด้านบน).** นี่หนังสือที่ผมแนะนำแยกตามแต่ละภาษา ผมมีไม่ครบทุกภาษา และผมยินดีที่จะเพิ่มในภายหลัง
|
|
|
|
|
|
-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.
|
|
|
|
|
|
+ถ้าคุณอ่านเล่มใดเล่มนึงจนจบ คุณควรจะมีความรู้ความเข้าใจในโครงสร้างข้อมูลและอัลกอริธึม เพื่อเริ่มทำโจทย์แก้ปัญหาได้
|
|
|
|
+**คุณไม่ต้องดูวิดีสอนใดๆ ในนี้ก็ได้**, นอกเสียจากคุณต้องการจะทบทวน
|
|
|
|
|
|
-[Additional language-specific resources here.](programming-language-resources.md)
|
|
|
|
|
|
+[แหล่งทรัพยกรอื่นๆ ที่เกี่ยวข้อง](programming-language-resources.md)
|
|
|
|
|
|
### C++
|
|
### C++
|
|
|
|
|
|
-I haven't read these two, but they are highly rated and written by Sedgewick. He's awesome.
|
|
|
|
|
|
+ผมยังไม่เคยอ่านสองเล่มนี้ แต่สองเล่มนี้แนะนำอย่างแรงและมีการรีวิวโดย Sedgewick พ่อหนุ่มคนนี้เค้าเจ๋งนะ
|
|
|
|
|
|
- [ ] [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++, 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/)
|
|
- [ ] [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++ บอกให้ผมทราบได้เลย ตอนนี้กำลังหาแหล่งที่มีเนื้อหาครอบคลุมทุกด้านอยู่
|
|
|
|
|
|
### Java
|
|
### Java
|
|
|
|
|
|
- [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
|
|
- [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
|
|
- - videos with book content (and Sedgewick!):
|
|
|
|
|
|
+ - วิดีโอสำหรับหนังสือเหล่านี้ (and Sedgewick!):
|
|
- [Algorithms I](https://www.youtube.com/user/algorithmscourses/playlists?view=50&sort=dd&shelf_id=2)
|
|
- [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)
|
|
- [Algorithms II](https://www.youtube.com/user/algorithmscourses/playlists?shelf_id=3&view=50&sort=dd)
|
|
|
|
|
|
-OR:
|
|
|
|
|
|
+หรือ:
|
|
|
|
|
|
- [ ] [Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
|
|
- [ ] [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
|
|
|
|
|
|
+ - โดย Goodrich, Tamassia, Goldwasser
|
|
|
|
+ - ใช้เป็นหนังสือเสริมในหลักสูตร CS intro ที่ UC Berkeley
|
|
- see my book report on the Python version below. This book covers the same topics.
|
|
- see my book report on the Python version below. This book covers the same topics.
|
|
|
|
|
|
### Python
|
|
### Python
|
|
|
|
|
|
- [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
|
|
- [ ] [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.
|
|
|
|
|
|
+ - โดย Goodrich, Tamassia, Goldwasser
|
|
|
|
+ - ผมรักเล่มนี้เลย เล่มนี้ครอบคลุมทุกสิ่งและอีกมากมาย
|
|
- Pythonic code
|
|
- Pythonic code
|
|
- my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
|
|
- my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
|
|
|
|
|
|
|
|
|
|
-### Optional Books
|
|
|
|
|
|
+### หนังสืออื่นๆ
|
|
|
|
|
|
-**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:**
|
|
|
|
|
|
+**หลายคนแนะนำหนังสือเหล่านี้ แต่ผมคิดว่ามันนอกเหนือขอบเขตไปหน่อย หรืออย่างน้อยคุณต้องมีประสบการณ์ในวิศวกรรมซอฟต์แวร์หลายปีและคาดหวังการสัมภาษณ์ที่ยากๆ:**
|
|
|
|
|
|
- [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
|
|
- [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
|
|
- As a review and problem recognition
|
|
- As a review and problem recognition
|
|
@@ -368,35 +367,35 @@ OR:
|
|
- Would rather spend time on coding problems from another book or online coding problems.
|
|
- Would rather spend time on coding problems from another book or online coding problems.
|
|
|
|
|
|
|
|
|
|
-## Before you Get Started
|
|
|
|
|
|
+## ก่อนที่จะเริ่มต้น
|
|
|
|
|
|
This list grew over many months, and yes, it kind of got out of hand.
|
|
This list grew over many months, and yes, it kind of got out of hand.
|
|
|
|
|
|
Here are some mistakes I made so you'll have a better experience.
|
|
Here are some mistakes I made so you'll have a better experience.
|
|
|
|
|
|
-### 1. You Won't Remember it All
|
|
|
|
|
|
+### 1. คุณไม่สามารถจำได้ทุกสิ่งอย่าง
|
|
|
|
|
|
-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.
|
|
|
|
|
|
+ผมดูวิดีโอหลายชั่วโมงและจดโน้ตไว้ หลายเดือนต่อมาพบว่า ผมจำสิ่งต่างๆ ได้น้อยมา ผมใช้เวลา 3 เดือน
|
|
|
|
+อ่านโน๊ตและทำ flashcard ซึ่งนั่นทำให้ผมได้ทบทวนเนื้อหา
|
|
|
|
|
|
-Read please so you won't make my mistakes:
|
|
|
|
|
|
+โปรดอ่านตรงนี้ก่อนและคุณจะได้ไม่ต้องทำผิดแบบผม:
|
|
|
|
|
|
[Retaining Computer Science Knowledge](https://startupnextdoor.com/retaining-computer-science-knowledge/)
|
|
[Retaining Computer Science Knowledge](https://startupnextdoor.com/retaining-computer-science-knowledge/)
|
|
|
|
|
|
-### 2. Use Flashcards
|
|
|
|
|
|
+### 2. ใช้ Flashcards
|
|
|
|
|
|
-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.
|
|
|
|
|
|
+ในการแก้ปัญหานี้ ผมได้สร้างเว็บ flashcard เล็กๆ โดยมี 2 ชนิดคือ: ทั่วไป และ โค้ด
|
|
|
|
+แต่ละการ์ดจะมีรูปแบบต่างกัน
|
|
|
|
|
|
-I made a mobile-first website so I could review on my phone and tablet, wherever I am.
|
|
|
|
|
|
+ผมทำเว็บที่รองรับอุกรณ์มือถือ ซึ่งผมจะได้สามารถทบทวนในโทรศัพท์หรือแทบเล็ต ที่ใดก็ได้
|
|
|
|
|
|
-Make your own for free:
|
|
|
|
|
|
+คุณสามารถทำได้แบบฟรีๆ:
|
|
|
|
|
|
- [Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
|
|
- [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):
|
|
|
|
|
|
+- [คลัง flash card ของผม (เก่า - 1200 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db):
|
|
|
|
+- [คลัง flash cards ของผม (ใหม่- 1800 cards)](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.
|
|
|
|
|
|
+คลังการ์ดของผมนั้น เนื้อหาจะครอบคลุมเกินเนื้อหาหลัก ตั้งแต่ภาษา assembly และ Python จนไปถึง machine learning และ สถิติ ซึ่งมันก็เกินกว่าที่เราต้องการ
|
|
|
|
|
|
**Note on flashcards:** The first time you recognize you know the answer, don't mark it as known. You have to see the
|
|
**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
|
|
same card and answer it several times correctly before you really know it. Repetition will put that knowledge deeper in
|
|
@@ -407,68 +406,68 @@ It's user-friendly, available on all platforms and has a cloud sync system. It c
|
|
|
|
|
|
My flashcard database in Anki format: https://ankiweb.net/shared/info/25173560 (thanks [@xiewenya](https://github.com/xiewenya))
|
|
My flashcard database in Anki format: https://ankiweb.net/shared/info/25173560 (thanks [@xiewenya](https://github.com/xiewenya))
|
|
|
|
|
|
-### 3. Review, review, review
|
|
|
|
|
|
+### 3. ทบทวน, ทบทวน, ทบทวน
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
Take a break from programming problems for a half hour and go through your flashcards.
|
|
Take a break from programming problems for a half hour and go through your flashcards.
|
|
|
|
|
|
-### 4. Focus
|
|
|
|
|
|
+### 4. เพ่งสมาธิ
|
|
|
|
|
|
There are a lot of distractions that can take up valuable time. Focus and concentration are hard.
|
|
There are a lot of distractions that can take up valuable time. Focus and concentration are hard.
|
|
|
|
|
|
-## What you won't see covered
|
|
|
|
|
|
+## อะไรที่ไม่ครอบคลุม
|
|
|
|
|
|
-These are prevalent technologies but not part of this study plan:
|
|
|
|
|
|
+เทคโนโลยีเหล่านี้ถูกใช้แพร่หลาย แต่จะไม่อยู่ในแผนการเรียนนี้ ได้แก่:
|
|
|
|
|
|
- SQL
|
|
- SQL
|
|
- Javascript
|
|
- Javascript
|
|
-- HTML, CSS, and other front-end technologies
|
|
|
|
|
|
+- HTML, CSS, และ เทคโนโลยี front-end อื่นๆ
|
|
|
|
|
|
-## The Daily Plan
|
|
|
|
|
|
+## แผนของแต่ละวัน
|
|
|
|
|
|
-Some subjects take one day, and some will take multiple days. Some are just learning with nothing to implement.
|
|
|
|
|
|
+บางหัวข้อใช้เวลาวันเดียว บ้างใช้หลายวัน และบางอันนั้นเป็นการเรียนแบบไม่ได้เขียนจริง
|
|
|
|
|
|
-Each day I take one subject from the list below, watch videos about that subject, and write an implementation in:
|
|
|
|
|
|
+แต่ละวัน ผมศึกษาหนึ่งหัวข้อจากรายการด้านล่าง ดูวิดีโอเกี่ยวกับห้อข้อนั้นๆ และเขียนโปรแกรมที่เกี่ยวข้องลงไป:
|
|
- C - using structs and functions that take a struct * and something else as args.
|
|
- C - using structs and functions that take a struct * and something else as args.
|
|
- C++ - without using built-in types
|
|
- C++ - without using built-in types
|
|
- C++ - using built-in types, like STL's std::list for a linked list
|
|
- C++ - using built-in types, like STL's std::list for a linked list
|
|
- Python - using built-in types (to keep practicing Python)
|
|
- 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
|
|
- 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.
|
|
|
|
|
|
+- คุณอาจใช้ Java หรือ ภาษาอื่นๆ ได้เช่นกัน ผมใช้เฉพาะข้างต้นนี้
|
|
|
|
|
|
-You don't need all these. You need only [one language for the interview](#pick-one-language-for-the-interview).
|
|
|
|
|
|
+คุณไม่จำเป็นต้องฝึกทั้งหมดนี้ คุณต้องการเฉพาะ [ภาษาเดียวที่จะใช้สอบสัมภาษณ์](#pick-one-language-for-the-interview).
|
|
|
|
|
|
-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)
|
|
|
|
|
|
+ทำไมต้องโค้ดทั้งหมดนี้?
|
|
|
|
+- ฝึกฝน, ฝึกฝน, ฝึกฝน, จนผมเอียนกับมัน และสามารถทำมันได้โดยไม่ติดปัญหาอะไร (บางอันมีรายละเอียดปลีกย่อยที่ต้องจำ)
|
|
- Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python))
|
|
- 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)
|
|
- 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)
|
|
|
|
|
|
-I may not have time to do all of these for every subject, but I'll try.
|
|
|
|
|
|
+ผมอาจจะมีเวลาไม่พอที่จะทำทั้งหมดทุกหัวข้อ แต่ผมก็ลองทำ
|
|
|
|
|
|
-You can see my code here:
|
|
|
|
|
|
+คุณสามารถดูโค้ดของผมได้:
|
|
- [C] (https://github.com/jwasham/practice-c)
|
|
- [C] (https://github.com/jwasham/practice-c)
|
|
- [C++] (https://github.com/jwasham/practice-cpp)
|
|
- [C++] (https://github.com/jwasham/practice-cpp)
|
|
- [Python] (https://github.com/jwasham/practice-python)
|
|
- [Python] (https://github.com/jwasham/practice-python)
|
|
|
|
|
|
You don't need to memorize the guts of every algorithm.
|
|
You don't need to memorize the guts of every algorithm.
|
|
|
|
|
|
-Write code on a whiteboard or paper, not a computer. Test with some sample inputs. Then test it out on a computer.
|
|
|
|
|
|
+เขียนโค้ดลงกระดานหรือกระดาษ ไม่ใช่ในเครื่องคอมพิวเตอร์ ทดสอบโดยใช้ข้อมูลตัวอย่าง จากนั้นลองรันจริงๆ ในเครื่องคอมพิวเตอร์
|
|
|
|
|
|
-## Prerequisite Knowledge
|
|
|
|
|
|
+## ความรู้พื้นฐานที่จำเป็น
|
|
|
|
|
|
-- [ ] **Learn C**
|
|
|
|
- - C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying.
|
|
|
|
|
|
+- [ ] **เรียนรู้ภาษา C**
|
|
|
|
+ - ภาษา C มีอยู่ทุกหนแห่ง คุณจะเห็นตัวอย่างต่างๆ ในหนังสือ บทเรียน วิดีโอ *ทุกหนแห่ง* ในขณะที่คุณศึกษาอยู่
|
|
- [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
|
|
- [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
|
|
- This is a short book, but it will give you a great handle on the C language and if you practice it a little
|
|
- This is a short book, but it will give you a great handle on the C language and if you practice it a little
|
|
you'll quickly get proficient. Understanding C helps you understand how programs and memory work.
|
|
you'll quickly get proficient. Understanding C helps you understand how programs and memory work.
|
|
- [answers to questions](https://github.com/lekkas/c-algorithms)
|
|
- [answers to questions](https://github.com/lekkas/c-algorithms)
|
|
|
|
|
|
-- [ ] **How computers process a program:**
|
|
|
|
|
|
+- [ ] **คอมพิวเตอร์จัดการกับโปรแกรมอย่างไร:**
|
|
- [ ] [How does CPU execute program (video)](https://www.youtube.com/watch?v=42KTvGYQYnA)
|
|
- [ ] [How does CPU execute program (video)](https://www.youtube.com/watch?v=42KTvGYQYnA)
|
|
- [ ] [Machine Code Instructions (video)](https://www.youtube.com/watch?v=Mv2XQgpbTNE)
|
|
- [ ] [Machine Code Instructions (video)](https://www.youtube.com/watch?v=Mv2XQgpbTNE)
|
|
|
|
|
|
-## Algorithmic complexity / Big-O / Asymptotic analysis
|
|
|
|
|
|
+## ความซับซ้อนของขั้นตอนวิธี / Big-O / การวิเคราะห์ Asymptotic
|
|
- nothing to implement
|
|
- nothing to implement
|
|
- [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)
|
|
- [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)
|
|
- [ ] [Big O Notations (general quick tutorial) (video)](https://www.youtube.com/watch?v=V6mKVRU1evU)
|
|
- [ ] [Big O Notations (general quick tutorial) (video)](https://www.youtube.com/watch?v=V6mKVRU1evU)
|
|
@@ -492,9 +491,9 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
If some of the lectures are too mathy, you can jump down to the bottom and
|
|
If some of the lectures are too mathy, you can jump down to the bottom and
|
|
watch the discrete mathematics videos to get the background knowledge.
|
|
watch the discrete mathematics videos to get the background knowledge.
|
|
|
|
|
|
-## Data Structures
|
|
|
|
|
|
+## โครงสร้างข้อมูล
|
|
|
|
|
|
-- ### Arrays
|
|
|
|
|
|
+- ### แถวลำดับ (Arrays)
|
|
- Implement an automatically resizing vector.
|
|
- Implement an automatically resizing vector.
|
|
- [ ] Description:
|
|
- [ ] Description:
|
|
- [Arrays (video)](https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays)
|
|
- [Arrays (video)](https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays)
|
|
@@ -1770,7 +1769,7 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
|
|
- ### Discrete math
|
|
- ### Discrete math
|
|
- see videos below
|
|
- see videos below
|
|
|
|
|
|
-- ### Machine Learning
|
|
|
|
|
|
+- ### การเรียนรู้ของเครื่อง (Machine Learning)
|
|
- [ ] Why ML?
|
|
- [ ] Why ML?
|
|
- [ ] [How Google Is Remaking Itself As A Machine Learning First Company](https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70)
|
|
- [ ] [How Google Is Remaking Itself As A Machine Learning First Company](https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70)
|
|
- [ ] [Large-Scale Deep Learning for Intelligent Computer Systems (video)](https://www.youtube.com/watch?v=QSaZGT4-6EY)
|
|
- [ ] [Large-Scale Deep Learning for Intelligent Computer Systems (video)](https://www.youtube.com/watch?v=QSaZGT4-6EY)
|
|
@@ -1933,7 +1932,7 @@ Sit back and enjoy. "Netflix and skill" :P
|
|
|
|
|
|
- [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
|
|
- [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
|
|
|
|
|
|
-## Computer Science Courses
|
|
|
|
|
|
+## หลักสูตร วิทยาการคอมพิวเตอร์
|
|
|
|
|
|
- [Directory of Online CS Courses](https://github.com/open-source-society/computer-science)
|
|
- [Directory of Online CS Courses](https://github.com/open-source-society/computer-science)
|
|
- [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses)
|
|
- [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses)
|