ソースを参照

Merge pull request #1204 from ali-tamim/main

update README-ar.md
John Washam 2 年 前
コミット
ceea01a7b8
1 ファイル変更173 行追加154 行削除
  1. 173 154
      translations/README-ar.md

+ 173 - 154
translations/README-ar.md

@@ -1,16 +1,25 @@
 # الإعداد لمقابلة البرمجة
 
-> أنشأتها في المقام الأول كلائحة قصيرة من المواضيع الدراسية لكيف يصبح المرء مهندس برمجيات، ولكن سرعان ما كبرت هذه القائمة إلى ما تراه أمامك اليوم. بعد خوض هذه الخطة الدراسية, 
-[تم توظيفي كمهندس تطوير  برمجيات لدى أمازون](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)! على الأغلب لن تحتاج إلى ان تدرس بالقدر الذي درسته أنا. لكن على كل حال كل ما تحتاج إليه موجود 
-هنا
-> 
-> درست لمدة ٨-١٢ ساعة في اليوم, لعدة أشهر. هذه هي قصتي: [لماذا درست دواما كاملا لمدة ثمانية أشهر من أجل مقابلة لدا قوقل](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
-> 
-> العناصر المذكورة في هذه اللائحة ستجهزك جيدا لمقابلة تقنية مع تقريبا أي شركة برمجية, حتى الشركات العملاقة: أمازون، فيسبوك، قوقل، وميكروسوفت
-> 
-> بالتوفيق
-
-<details>
+<div align="right">
+  
+> لقد قمت بأنشاء هذا في الأصل كلائحة صغيرة تحتوي على مواضيع دراسية الغرض من دراستها ان أصبح مهندس برامجيات،
+> لكنها توسعت الى قائمة كبيرة التي تراها اليوم. بعد ان قمتُ بدراسة لائحة المواضيع هذه وحسب الخطة، [حصلت على عمل كمهندس برامجيات في شركة امازون](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)
+>! على الأغلب لن تحتاج إلى ان تدرس بالقدر الذي درسته أنا. لكن على كل حال كل ما تحتاج إليه موجود هنا.
+>
+>درستُ لمدة ٨-١٢ ساعة في اليوم, لعدة أشهر. هذه هي قصتي: [لماذا كرستُ كل وقتي لمدة ثمانية أشهر من أجل مقابلة لدا قوقل](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
+>
+> **ملاحظة:** لن تحتاج للدراسة بقدر ما فعلت انا، لقد اهدرت المزيد من الوقت والجهد على مواضيع لم اكن بحاجة الى معرفتها، مزيد حول ذلك ادناه، سوف اساعدك بالوصول الى هناك دون اضاعة وقتك الثمين.
+>
+> المواضيع المدرجة في هذه اللائحة ستجهزك جيدا لاجراء مقابلة تقنية مع اي شركة برمجية تقريبا، حتى الشركات العملاقة: أمازون، فيسبوك، قوقل، وميكروسوفت.
+>
+>بالتوفيق.
+>
+
+</div>
+
+
+
+<details dir="rtl">
 <summary>الترجمات:</summary>
 
 - [中文版本](translations/README-cn.md)
@@ -24,7 +33,7 @@
 
 </details>
 
-<details>
+<details dir="rtl">
 <summary>ترجمات تحت الإعداد:</summary>
 
 - [हिन्दी](https://github.com/jwasham/coding-interview-university/issues/81)
@@ -43,8 +52,9 @@
 
 </details>
 
+<hr />
+
 <div align="center">
-	<hr />
     <p>
         <a href="https://github.com/sponsors/jwasham"><strong>Become a sponsor</strong> and support Coding Interview University!</a>
     </p>
@@ -69,26 +79,32 @@
     <hr />
 </div>
 
-## ما هذا؟
-هي خطتي متعددة الأشهر للوصول من مطور ويب (تعليم ذاتي، بدون درجة علمية في علوم الحاسب) لمنصب مهندس برمجيات لشركة عملاقة
-
+## ما هذا!
+<p align="center">
+  <img alt="Coding at the whiteboard - from HBO's Silicon Valley" src="https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png">
+</p>
 
-![Coding at the whiteboard - from HBO's Silicon Valley](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png)
+هذه خطتي الدراسية التي تستغرق عدة اشهر من اجل ان اصبح مهندس برامجيات في شركة عملاقة.
 
-تم إعدادها لمهنسي البرمجيات الجدد أو أولئك المنتقلين من تطوير الويب إلى هندسة البرمجيات (حيث المعرفة بعلوم الحاسب ضرورية) إذا كان لديك العديد من سنوات الخبرة في بناء تطبيقات الويب أو البرمجيات، خذ في عين الإعتبار ان المقابلة ستكون اصعب
+**المتطلبات:**
+* خبرة قليلة في البرمجة (المتغيرات، التكرارات، الدوال، الخ).
+* صبر.
+* وقت.
 
-إذا كانت لديك العديد من سنوات الخبرة في تطوير الويب, خذ في عين الإعتبار أن الشركات االبرمجية الضخمة مثل قوقل, فيسبوك, و ميكروسوفت ينظرون إلى هندسة البرمجيات بشكل مختلف عن تطوير البرمجيات/ويب, و تحتاج إلى معرفة علوم الحاسب
+ملاحظة: هذه الخطة الدراسية هي من اجل ان تصبح مهندس برامجيات وليس من اجل ان تصبح مطور تطبيقات للويب. كبرى الشركات التقنية مثل كوكل، امازون، مايكروسوفت، فيسبوك ينظرون الى مهندس البرامجيات بنظرة مختلفة عن مطور البرامجيات/الويب، على سبيل المثال شركة امازون لديها مهندس الواجهات (Frontend Engineers) ولديها مهندس تطوير برامجيات (Software Development Engineers) ولكل منها دور مختلف والمقابلة التقنية لكل منها مختلفة تماما، لكن بصورة عام تتطلب هذه الشركات معرفة بعلوم الحاسوب للمتقدمين لشغل ادوار تخص تطوير البرامجيات او هندسة البرامجيات.
 
-إذا اردت ان تصبح مهندس موثوقية أو مهندس عمليات, ادرس اكثر من القائمة الإختيارية (شبكات, امن)
-
----
+<hr />
 
 ## الفهرس
 
-- [ما هذا؟](#ما-هذا؟)
-- [لماذا استخدمه؟](#لماذا-استخدمه؟)
+
+<div dir='rtl' align='right'>
+	
+	
+- [ما هذا؟](#ما-هذا)
+- [لماذا استخدم هذه الخطة الدراسية؟](#لماذا-استخدم-هذه-الخطة-الدراسية)
 - [كيفية استخدامها](#كيفية-استخدامها)
-- [عن مصادر مقاطع الفديو](#عن-مصادر-مقاطع-الفديو)
+- [عن مصادر مقاطع الفيديو](#عن-مصادر-مقاطع-الفديو)
 - [مراحل المقابلة الشخصية & الإستعداد العام للمقابلة](#مراحل-المقابلة-الشخصية-و-الإستعداد-العام-للمقابلة)
 - [اختر لغة برمجية واحدة للمقابلة البرمجية](#اختر-لغة-برمجية-واحدة-للمقابلة-البرمجية)
 - [لائحة الكتب](#لائحة-الكتب)
@@ -96,112 +112,112 @@
 - [ما لن تجده هنا](#ما-لن-تجده-هنا)
 - [الخطة اليومية](#الخطة-اليومية)
 - [معرفة مسبقة](#المعرفة-المسبقة)
-- [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis)
-- [Data Structures](#data-structures)
-    - [Arrays](#arrays)
-    - [Linked Lists](#linked-lists)
-    - [Stack](#stack)
-    - [Queue](#queue)
-    - [Hash table](#hash-table)
-- [More Knowledge](#more-knowledge)
-    - [Binary search](#binary-search)
-    - [Bitwise operations](#bitwise-operations)
-- [Trees](#trees)
-    - [Trees - Notes & Background](#trees---notes--background)
-    - [Binary search trees: BSTs](#binary-search-trees-bsts)
-    - [Heap / Priority Queue / Binary Heap](#heap--priority-queue--binary-heap)
-    - balanced search trees (general concept, not details)
-    - traversals: preorder, inorder, postorder, BFS, DFS
-- [Sorting](#sorting)
-    - selection
-    - insertion
-    - heapsort
-    - quicksort
-    - merge sort
-- [Graphs](#graphs)
-    - directed
-    - undirected
-    - adjacency matrix
-    - adjacency list
-    - traversals: BFS, DFS
-- [Even More Knowledge](#even-more-knowledge)
-    - [Recursion](#recursion)
-    - [Dynamic Programming](#dynamic-programming)
-    - [Object-Oriented Programming](#object-oriented-programming)
-    - [Design Patterns](#design-patterns)
-    - [Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability)
-    - [NP, NP-Complete and Approximation Algorithms](#np-np-complete-and-approximation-algorithms)
-    - [Caches](#caches)
-    - [Processes and Threads](#processes-and-threads)
-    - [Testing](#testing)
-    - [Scheduling](#scheduling)
-    - [String searching & manipulations](#string-searching--manipulations)
-    - [Tries](#tries)
-    - [Floating Point Numbers](#floating-point-numbers)
-    - [Unicode](#unicode)
-    - [Endianness](#endianness)
-    - [Networking](#networking)
-- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience)
-- [Final Review](#final-review)
-- [Coding Question Practice](#coding-question-practice)
-- [Coding exercises/challenges](#coding-exerciseschallenges)
-- [Once you're closer to the interview](#once-youre-closer-to-the-interview)
-- [Your Resume](#your-resume)
-- [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes)
-- [Have questions for the interviewer](#have-questions-for-the-interviewer)
-- [Once You've Got The Job](#once-youve-got-the-job)
-
----------------- Everything below this point is optional ----------------
-
-## Additional Resources
-
-- [Additional Books](#additional-books)
-- [Additional Learning](#additional-learning)
-    - [Compilers](#compilers)
-    - [Emacs and vi(m)](#emacs-and-vim)
-    - [Unix command line tools](#unix-command-line-tools)
-    - [Information theory](#information-theory-videos)
-    - [Parity & Hamming Code](#parity--hamming-code-videos)
-    - [Entropy](#entropy)
-    - [Cryptography](#cryptography)
-    - [Compression](#compression)
-    - [Computer Security](#computer-security)
-    - [Garbage collection](#garbage-collection)
-    - [Parallel Programming](#parallel-programming)
-    - [Messaging, Serialization, and Queueing Systems](#messaging-serialization-and-queueing-systems)
-    - [A*](#a)
-    - [Fast Fourier Transform](#fast-fourier-transform)
-    - [Bloom Filter](#bloom-filter)
-    - [HyperLogLog](#hyperloglog)
-    - [Locality-Sensitive Hashing](#locality-sensitive-hashing)
-    - [van Emde Boas Trees](#van-emde-boas-trees)
-    - [Augmented Data Structures](#augmented-data-structures)
-    - [Balanced search trees](#balanced-search-trees)
-        - AVL trees
-        - Splay trees
-        - Red/black trees
-        - 2-3 search trees
-        - 2-3-4 Trees (aka 2-4 trees)
-        - N-ary (K-ary, M-ary) trees
-        - B-Trees
-    - [k-D Trees](#k-d-trees)
-    - [Skip lists](#skip-lists)
-    - [Network Flows](#network-flows)
-    - [Disjoint Sets & Union Find](#disjoint-sets--union-find)
-    - [Math for Fast Processing](#math-for-fast-processing)
-    - [Treap](#treap)
-    - [Linear Programming](#linear-programming-videos)
-    - [Geometry, Convex hull](#geometry-convex-hull-videos)
-    - [Discrete math](#discrete-math)
-    - [Machine Learning](#machine-learning)
-- [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
-- [Video Series](#video-series)
-- [Computer Science Courses](#computer-science-courses)
-- [Papers](#papers)
-
----
-
-## لماذا استخدمه؟
+- [تقدير وتحليل أداء الخوارزميات (Algorithmic complexity / Big-O / Asymptotic analysis)](#algorithmic-complexity--big-o--asymptotic-analysis)
+- [هياكل البيانات (Data Structures)](#data-structures)
+    - [المصفوفات (Arrays)](#arrays)
+    - [العقد المترابطة (Linked Lists)](#linked-lists)
+    - [المكدس (Stack)](#stack)
+    - [الطابور (Queue)](#queue)
+    - [جداول التجزئة (Hash table)](#hash-table)
+- [معرفة اضافية](#more-knowledge)
+    - [الـ Binary search](#binary-search)
+    - [الـ Bitwise operations](#bitwise-operations)
+- [الشجرة (Trees)](#trees)
+    - [الشجرة - ملاحظات - ومعلومات اساسية (Trees - Notes & Background)](#trees---notes--background)
+    - [الـ Binary search trees: BSTs](#binary-search-trees-bsts)
+    - [الـ Heap / Priority Queue / Binary Heap](#heap--priority-queue--binary-heap)
+    - الـ balanced search trees (general concept, not details)
+    - الـ traversals: preorder, inorder, postorder, BFS, DFS
+- [الـ Sorting](#sorting)
+    - الـ selection
+    - الـ insertion
+    - الـ heapsort
+    - الـ quicksort
+    - الـ merge sort
+- [الـ Graphs](#graphs)
+    - الـ directed
+    - الـ undirected
+    - الـ adjacency matrix
+    - الـ adjacency list
+    - الـ traversals: BFS, DFS
+- [الـ Even More Knowledge](#even-more-knowledge)
+    - [الـ Recursion](#recursion)
+    - [الـ Dynamic Programming](#dynamic-programming)
+    - [الـ Object-Oriented Programming](#object-oriented-programming)
+    - [الـ Design Patterns](#design-patterns)
+    - [الـ Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability)
+    - [الـ NP, NP-Complete and Approximation Algorithms](#np-np-complete-and-approximation-algorithms)
+    - [الـ Caches](#caches)
+    - [الـ Processes and Threads](#processes-and-threads)
+    - [الـ Testing](#testing)
+    - [الـ Scheduling](#scheduling)
+    - [الـ String searching & manipulations](#string-searching--manipulations)
+    - [الـ Tries](#tries)
+    - [الـ Floating Point Numbers](#floating-point-numbers)
+    - [الـ Unicode](#unicode)
+    - [الـ Endianness](#endianness)
+    - [الـ Networking](#networking)
+- [الـ System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience)
+- [الـ Final Review](#final-review)
+- [الـ Coding Question Practice](#coding-question-practice)
+- [الـ Coding exercises/challenges](#coding-exerciseschallenges)
+- [الـ Once you're closer to the interview](#once-youre-closer-to-the-interview)
+- [الـ Your Resume](#your-resume)
+- [الـ Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes)
+- [الـ Have questions for the interviewer](#have-questions-for-the-interviewer)
+- [الـ Once You've Got The Job](#once-youve-got-the-job)
+
+
+## مصادر اضافية
+- [الـ Additional Books](#additional-books)
+- [الـ Additional Learning](#additional-learning)
+    - [الـ Compilers](#compilers)
+    - [الـ Emacs and vi(m)](#emacs-and-vim)
+    - [الـ Unix command line tools](#unix-command-line-tools)
+    - [الـ Information theory](#information-theory-videos)
+    - [الـ Parity & Hamming Code](#parity--hamming-code-videos)
+    - [الـ Entropy](#entropy)
+    - [الـ Cryptography](#cryptography)
+    - [الـ Compression](#compression)
+    - [الـ Computer Security](#computer-security)
+    - [الـ Garbage collection](#garbage-collection)
+    - [الـ Parallel Programming](#parallel-programming)
+    - [الـ Messaging, Serialization, and Queueing Systems](#messaging-serialization-and-queueing-systems)
+    - [الـ A*](#a)
+    - [الـ Fast Fourier Transform](#fast-fourier-transform)
+    - [الـ Bloom Filter](#bloom-filter)
+    - [الـ HyperLogLog](#hyperloglog)
+    - [الـ Locality-Sensitive Hashing](#locality-sensitive-hashing)
+    - [الـ van Emde Boas Trees](#van-emde-boas-trees)
+    - [الـ Augmented Data Structures](#augmented-data-structures)
+    - [الـ Balanced search trees](#balanced-search-trees)
+        - الـ AVL trees
+        - الـ Splay trees
+        - الـ Red/black trees
+        - الـ 2-3 search trees
+        - الـ 2-3-4 Trees (aka 2-4 trees)
+        - الـ N-ary (K-ary, M-ary) trees
+        - الـ B-Trees
+    - [الـ k-D Trees](#k-d-trees)
+    - [الـ Skip lists](#skip-lists)
+    - [الـ Network Flows](#network-flows)
+    - [الـ Disjoint Sets & Union Find](#disjoint-sets--union-find)
+    - [الـ Math for Fast Processing](#math-for-fast-processing)
+    - [الـ Treap](#treap)
+    - [الـ Linear Programming](#linear-programming-videos)
+    - [الـ Geometry, Convex hull](#geometry-convex-hull-videos)
+    - [الـ Discrete math](#discrete-math)
+    - [الـ Machine Learning](#machine-learning)
+- [الـ Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
+- [الـ Video Series](#video-series)
+- [الـ Computer Science Courses](#computer-science-courses)
+- [الـ Papers](#papers)
+
+
+	
+</div>
+	
+## لماذا استخدم هذه الخطة الدراسية؟
 
 أقوم بمتابعة هذه الخطة لتحضير إلى المقابلة الشخصية بجوجل. لقد قمت بناء مواقع ويب، وتقديم خدمات ذات صلة، وبناء شركات ناشئة منذ 1997. لدي درجة علمية في الاقتصاد، وليس في علوم الحاسب. أنا شخص ناجح في مجال عملي، ولكنني أريد أن أعمل بجوجل. أريد أن أعمل على أنظمة كبيرة والحصول على فهم كبير في أنظمة الحاسوب، كفاءة الخوارزميات، كقاءة الهياكل البيانية، اللغات الأقرب إلى الآلة وكيفية عملها. وإذ لم تعرف أين منها لن تعينك جوجل.
 
@@ -218,40 +234,43 @@
 
 
 **اصنع مسار جديد يمكن من خلاله أن تضع علامة [x]**
-
-    احصل على نسخة خاصة "fork" بك واتبع هذه الأوامر
-
-    Clone to your local repo
-
-`git clone git@github.com:<your_github_username>/coding-interview-university.git`
-
-`git checkout -b progress`
-
-`git remote add jwasham https://github.com/jwasham/coding-interview-university`
-
-`git fetch --all`
+ احصل على نسخة خاصة "fork" بك واتبع هذه الأوامر
+1- Clone to your local repo
+ ```
+    git clone git@github.com:<your_github_username>/coding-interview-university.git
+    cd coding-interview-university
+    git checkout -b progress
+    git remote add jwasham https://github.com/jwasham/coding-interview-university
+    git fetch --all
+```
 
     دون بعلامة X بعد الإنتهاء من دراسة العنصر
 
+```
+    git add .
+    git commit -m "Marked x"
+    git rebase jwasham/main
+    git push --set-upstream origin progress
+    git push --force
+```
 
-`git add .`
-
-`git commit -m "Marked x"`
+[More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
 
-`git rebase jwasham/main`
 
-`git push --set-upstream origin progress`
+## هل تشعر أنك لست بالذكاء الكافي
 
-`git push --force`
 
-[More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
+<div dir='rtl' align='right'>
+	
+	
+- مهندسوا جوجل أذكياء، وربما لديهم عدم الأمان لأنهم ليسوا بالذكاء الكافي، حتى وهي في جوجل
 
+- شاهد هذا الفيديو عبر اليوتيوب [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)
 
-## هل تشعر أنك لست بالذكاء الكافي
-- مهندسوا جوجل أذكياء، وربما لديهم عدم الأمان لأنهم ليسوا بالذكاء الكافي، حتى وهي في جوجل
 
-- [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)
+	
+</div>
 
 
 ## عن مصادر مقاطع الفديو