From faca7000fc0d9fc7568bbc050874b1f74d500e5f Mon Sep 17 00:00:00 2001 From: "Ali M. Khadir" Date: Tue, 23 Aug 2022 02:11:22 +0300 Subject: [PATCH 1/5] edit first section & What is it section --- translations/README-ar.md | 54 ++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/translations/README-ar.md b/translations/README-ar.md index a9004d8..1eaface 100644 --- a/translations/README-ar.md +++ b/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) -> -> العناصر المذكورة في هذه اللائحة ستجهزك جيدا لمقابلة تقنية مع تقريبا أي شركة برمجية, حتى الشركات العملاقة: أمازون، فيسبوك، قوقل، وميكروسوفت -> -> بالتوفيق +
+ +> لقد قمت بأنشاء هذا في الأصل كلائحة صغيرة تحتوي على مواضيع دراسية الغرض من دراستها ان أصبح مهندس برامجيات، +> لكنها توسعت الى قائمة كبيرة التي تراها اليوم. بعد ان قمتُ بدراسة لائحة المواضيع هذه وحسب الخطة، [حصلت على عمل كمهندس برامجيات في شركة امازون](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) +> +> **ملاحظة:** لن تحتاج للدراسة بقدر ما فعلت انا، لقد اهدرت المزيد من الوقت والجهد على مواضيع لم اكن بحاجة الى معرفتها، مزيد حول ذلك ادناه، سوف اساعدك بالوصول الى هناك دون اضاعة وقتك الثمين. +> +> المواضيع المدرجة في هذه اللائحة ستجهزك جيدا لاجراء مقابلة تقنية مع اي شركة برمجية تقريبا، حتى الشركات العملاقة: أمازون، فيسبوك، قوقل، وميكروسوفت. +> +>بالتوفيق. +> -
+
+ + + +
الترجمات: - [中文版本](translations/README-cn.md) @@ -24,7 +33,7 @@
-
+
ترجمات تحت الإعداد: - [हिन्दी](https://github.com/jwasham/coding-interview-university/issues/81) @@ -43,8 +52,9 @@
+
+
-

Become a sponsor and support Coding Interview University!

@@ -80,19 +90,21 @@
-## ما هذا؟ -هي خطتي متعددة الأشهر للوصول من مطور ويب (تعليم ذاتي، بدون درجة علمية في علوم الحاسب) لمنصب مهندس برمجيات لشركة عملاقة +## ما هذا! +

+ Coding at the whiteboard - from HBO's Silicon Valley +

+هذه خطتي الدراسية التي تستغرق عدة اشهر من اجل ان اصبح مهندس برامجيات في شركة عملاقة. -![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) ولكل منها دور مختلف والمقابلة التقنية لكل منها مختلفة تماما، لكن بصورة عام تتطلب هذه الشركات معرفة بعلوم الحاسوب للمتقدمين لشغل ادوار تخص تطوير البرامجيات او هندسة البرامجيات. -إذا كانت لديك العديد من سنوات الخبرة في تطوير الويب, خذ في عين الإعتبار أن الشركات االبرمجية الضخمة مثل قوقل, فيسبوك, و ميكروسوفت ينظرون إلى هندسة البرمجيات بشكل مختلف عن تطوير البرمجيات/ويب, و تحتاج إلى معرفة علوم الحاسب - -إذا اردت ان تصبح مهندس موثوقية أو مهندس عمليات, ادرس اكثر من القائمة الإختيارية (شبكات, امن) - ---- +
## الفهرس From ba2bed417fc3618e00902d0a6cb1f5ebb5e48fcb Mon Sep 17 00:00:00 2001 From: "Ali M. Khadir" Date: Tue, 23 Aug 2022 10:47:08 +0300 Subject: [PATCH 2/5] edit Table of Contents --- translations/README-ar.md | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/translations/README-ar.md b/translations/README-ar.md index 1eaface..586204d 100644 --- a/translations/README-ar.md +++ b/translations/README-ar.md @@ -108,8 +108,12 @@ ## الفهرس -- [ما هذا؟](#ما-هذا؟) -- [لماذا استخدمه؟](#لماذا-استخدمه؟) + +
+ + +- [ما هذا؟](#ما-هذا) +- [لماذا استخدم هذه الخطة الدراسية؟](#لماذا-استخدم-هذه-الخطة-الدراسية) - [كيفية استخدامها](#كيفية-استخدامها) - [عن مصادر مقاطع الفديو](#عن-مصادر-مقاطع-الفديو) - [مراحل المقابلة الشخصية & الإستعداد العام للمقابلة](#مراحل-المقابلة-الشخصية-و-الإستعداد-العام-للمقابلة) @@ -119,18 +123,18 @@ - [ما لن تجده هنا](#ما-لن-تجده-هنا) - [الخطة اليومية](#الخطة-اليومية) - [معرفة مسبقة](#المعرفة-المسبقة) -- [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) +- [تقدير وتحليل أداء الخوارزميات (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) @@ -224,7 +228,10 @@ --- -## لماذا استخدمه؟ + +
+ +## لماذا استخدم هذه الخطة الدراسية؟ أقوم بمتابعة هذه الخطة لتحضير إلى المقابلة الشخصية بجوجل. لقد قمت بناء مواقع ويب، وتقديم خدمات ذات صلة، وبناء شركات ناشئة منذ 1997. لدي درجة علمية في الاقتصاد، وليس في علوم الحاسب. أنا شخص ناجح في مجال عملي، ولكنني أريد أن أعمل بجوجل. أريد أن أعمل على أنظمة كبيرة والحصول على فهم كبير في أنظمة الحاسوب، كفاءة الخوارزميات، كقاءة الهياكل البيانية، اللغات الأقرب إلى الآلة وكيفية عملها. وإذ لم تعرف أين منها لن تعينك جوجل. From 131e8a90b1908ac6f0ec88d75ff3a2eeeb85ee9e Mon Sep 17 00:00:00 2001 From: "Ali M. Khadir" Date: Tue, 23 Aug 2022 11:02:48 +0300 Subject: [PATCH 3/5] update the Table of Contents section --- translations/README-ar.md | 174 +++++++++++++++++++------------------- 1 file changed, 86 insertions(+), 88 deletions(-) diff --git a/translations/README-ar.md b/translations/README-ar.md index 586204d..84ee901 100644 --- a/translations/README-ar.md +++ b/translations/README-ar.md @@ -115,7 +115,7 @@ - [ما هذا؟](#ما-هذا) - [لماذا استخدم هذه الخطة الدراسية؟](#لماذا-استخدم-هذه-الخطة-الدراسية) - [كيفية استخدامها](#كيفية-استخدامها) -- [عن مصادر مقاطع الفديو](#عن-مصادر-مقاطع-الفديو) +- [عن مصادر مقاطع الفيديو](#عن-مصادر-مقاطع-الفديو) - [مراحل المقابلة الشخصية & الإستعداد العام للمقابلة](#مراحل-المقابلة-الشخصية-و-الإستعداد-العام-للمقابلة) - [اختر لغة برمجية واحدة للمقابلة البرمجية](#اختر-لغة-برمجية-واحدة-للمقابلة-البرمجية) - [لائحة الكتب](#لائحة-الكتب) @@ -135,98 +135,96 @@ - [الـ 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) + - [الـ 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) +- [الـ 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) ---- From a0ba6b03586436af9c8120374121f8ab3ee4d8c7 Mon Sep 17 00:00:00 2001 From: "Ali M. Khadir" Date: Wed, 24 Aug 2022 13:12:21 +0300 Subject: [PATCH 4/5] Update README-ar.md --- translations/README-ar.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/translations/README-ar.md b/translations/README-ar.md index 063d72a..ad3ad61 100644 --- a/translations/README-ar.md +++ b/translations/README-ar.md @@ -168,8 +168,7 @@ - [الـ Once You've Got The Job](#once-youve-got-the-job) -## Additional Resources - +## مصادر اضافية - [الـ Additional Books](#additional-books) - [الـ Additional Learning](#additional-learning) - [الـ Compilers](#compilers) From 824a265ab67cd700834c3306850b07828951745b Mon Sep 17 00:00:00 2001 From: "Ali M. Khadir" Date: Wed, 24 Aug 2022 23:39:52 +0300 Subject: [PATCH 5/5] Update README-ar.md --- translations/README-ar.md | 51 +++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/translations/README-ar.md b/translations/README-ar.md index ad3ad61..f51480a 100644 --- a/translations/README-ar.md +++ b/translations/README-ar.md @@ -234,40 +234,43 @@ **اصنع مسار جديد يمكن من خلاله أن تضع علامة [x]** - - احصل على نسخة خاصة "fork" بك واتبع هذه الأوامر - - Clone to your local repo - -`git clone git@github.com:/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:/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" + 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) ## هل تشعر أنك لست بالذكاء الكافي + + +
+ + - مهندسوا جوجل أذكياء، وربما لديهم عدم الأمان لأنهم ليسوا بالذكاء الكافي، حتى وهي في جوجل -- [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) + + + +
## عن مصادر مقاطع الفديو