مرحبًا! سنتحدث اليوم عن مسار تطوير مطور Java وما يجب أن يعرفه حتى يكون مطلوبًا. يمكن لأي مطور في المقابلة أن "يرسب" مرشحًا لمنصب ما. على سبيل المثال، سيبدأ بطرح أسئلة حول موضوعات محددة واجهها في المشروع الحالي. لكن لا بأس ألا تعرف كل شيء. حقيقة عدم إجابتك على بعض الأسئلة أمر طبيعي أيضًا. بشكل عام، يجب أن يكون لدى كل مبرمج جافا معرفة أساسية بالتطوير. لذلك، دعونا نلقي نظرة على التقنيات التي تعتبر "أساسية".
يجب أن تفهم أولاً ما هو Spring: ما هي حاوية الربيع والفاصوليا وDI وIoC وما إلى ذلك. إذا جاز التعبير، فهم فلسفة استخدام الربيع. سيتم إجراء المزيد من الدراسة لأطر الربيع بناءً على هذه القاعدة. قد يكون من المفيد إنشاء تطبيق صغير خاص بك، والذي ستضيف إليه تدريجيًا التقنيات الجديدة التي تعلمتها.
تحدثنا سابقًا عن تقنية JDBC كتقنية لإنشاء اتصال بقاعدة بيانات. بشكل عام، قد لا يتم العثور على الاستخدام "العاري" للتكنولوجيا في المشاريع الآن، لذلك قد يبدو أن تعلم JDBC ليس ضروريًا. ولكنه ليس كذلك. من خلال النظر إلى العناصر الأساسية لـ JDBC، يمكنك رؤية التكنولوجيا على مستوى أدنى وفهم مشاكلها وأوجه قصورها. بمجرد أن تبدأ في تعلم Spring JDBC، ستفهم بالضبط ما الذي يعمل هذا الإطار على تحسينه وتحسينه وإخفائه عن أعيننا.
كما هو الحال مع JDBC الأساسي، يعمل إطار العمل هذا على تحسين استخدام التكنولوجيا الموجودة، في هذه الحالة السبات. إذا كنت تفكر في استخدام السبات بدون Spring، فسوف تفهم بالضبط ما هي فائدة استخدام Spring Hibernate.
تحدثنا سابقًا عن JPA وكيف أنها مجرد مواصفات توجد لها تطبيقات مختلفة. من بين هذه التطبيقات، يعتبر Hibernate هو الأقرب إلى المثالية. يتمتع Spring بتطبيقه المثالي الخاص لـ JPA، والذي يستخدم السبات "تحت الغطاء" وهو أقرب ما يمكن إلى مواصفات JPA المثالية. تسمى هذه التقنية Spring JPA. بالمناسبة، فإنه يبسط إلى حد كبير الوصول إلى قاعدة البيانات. يمكنك تعلم JPA فقط دون تعلم JDBC وHibernate وSpring JDBC وSpring Hibernate. ولكن في هذه الحالة، فإن معرفتك بالاتصال بقاعدة البيانات ستكون سطحية للغاية.
باستخدام هذه التقنية، يمكننا عرض واجهة الويب الخاصة بتطبيقنا للمستخدمين والسماح للواجهة بالتواصل مع بقية التطبيق. يمكن أن تعمل التقنية أيضًا بدون عرض، عندما يكون هناك تطبيق ما مسؤول عن العرض، وتتفاعل مع هذا التطبيق باستخدام الطلبات والاستجابات باستخدام تقنية RESTful . لفهم المعلومات حول الربيع بشكل أفضل، بالإضافة إلى المقالات والمحاضرات على اليوتيوب، يمكنك قراءة العديد من الكتب. لقد أحببت حقًا كتاب "الربيع في العمل" من تأليف وولز كريج. لسوء الحظ، لا يوجد الآن سوى الإصدار الثالث باللغة الروسية، والذي يعتبر قديما. أنصحك بقراءة الإصدار 6 إذا كنت تعرف اللغة الإنجليزية جيدًا. كتاب رائع آخر عن الربيع هو "الربيع الخامس للمحترفين". من الصعب التعلم، وهو أشبه بالكتاب المقدس الربيعي ، ومن الأفضل أن تظل في متناول يديك بدلاً من قراءته من الغلاف إلى الغلاف.
هذه التكنولوجيا تبسط إلى حد كبير استخدام الربيع. أضعها في نهاية القائمة لسبب ما، لأنها تخفي الكثير تحت "الغطاء" وبالنسبة لشخص غير معتاد على الربيع العادي، قد لا تكون العديد من النقاط واضحة وغير مفهومة. أولاً، من أجل فهم أفضل لكيفية عمل أطر عمل Spring، يجب عليك استخدام Spring العادي، ثم الاستفادة من جميع المزايا الأعلى لاستخدام Spring Boot. أنصحك أيضًا بالتعرف على Spring Security و Spring AOP. ولكن على عكس التقنيات المذكورة أعلاه، ليست هناك حاجة الآن إلى معرفة عميقة بهذين العنصرين. هذه التكنولوجيا ليست للمبتدئين. أثناء المقابلات، لا يُسأل الصغار عنهم (ربما باستثناء سؤال سطحي واحد). اقرأ بشكل عام ما هي هذه التقنيات وكيف تعمل. طوال هذه المقالة ذكرت مرارا وتكرارا قراءة الكتب. من ناحية، هذا ليس ضروريا. يمكنك أن تصبح مبرمجًا دون قراءة كتاب واحد، بعد دراسة كل ما تحتاجه من مقالات ومقاطع فيديو تدريبية. من ناحية أخرى، في الوقت الحالي، المنافسة في السوق للمطورين المبتدئين مرتفعة، مما يرفع مستوى المعرفة الأولية المطلوبة للمبتدئين. لذلك، كلما عرفت أكثر، كلما تمكنت من العثور على وظيفتك الأولى بشكل أسرع، مما أثار إعجاب القائم بالمقابلة بمستوى معرفتك. شكرا لكم جميعا، وربما تكون جافا معكم .
1. الخوارزميات الأساسية
أول شيء يجب عليك القيام به عند البدء في تعلم البرمجة (وهذا لا ينطبق فقط على Java) هو تحليل الأساسيات. على سبيل المثال، الخوارزميات. هناك عدد لا نهائي منها، ويجب ألا تقضي سنوات كاملة في محاولة تعلم أكبر عدد ممكن من الخوارزميات: فمعظمها لن يكون مفيدًا لك. يمكن الحصول على الحد الأدنى المطلوب من المعرفة من كتاب " Grocking Algorithms ". سيكون هذا كافيًا لبدء الرحلة، ولكن إذا كنت ترغب في ذلك، يمكنك التعلم بمساعدة كتاب " الهياكل والخوارزميات " أو "الخوارزميات في جافا" لروبرت سيدجويك وكيفن واين. كما أنصحك بتحسين معرفتك بأساسيات علوم الكمبيوتر. ويمكن القيام بذلك في JavaRush باستخدام دورة CS50 .2. بناء جملة جافا
بعد تعلم أساسيات الخوارزميات، يجب علينا أن نتعلم بناء جملة جافا. بعد كل شيء، نحن جميعًا نتعلم أن نكون مبرمجي جافا هنا، أليس كذلك؟ دورة JavaRush مثالية لهذا الغرض. في عملية تنفيذ العديد من المهام، سوف تتقن بناء جملة Java وستكتب/تقرأ كود Java دون الكثير من التفكير، كما لو كانت لغتك الأم. JavaRush عبارة عن ممارسة، بالإضافة إلى ذلك، تحتاج أيضًا إلى إلقاء نظرة على النظرية لفهم ما تفعله بالضبط. للقيام بذلك، يمكنك قراءة الكتب، على سبيل المثال أحد الكتب التالية:- "" رأس جافا الأول ""؛
- "Java for Dummies" بقلم باري بيرد؛
- "جافا. دليل للمبتدئين" هربرت شيلدت.
- "فلسفة جافا"، بروس إيكل؛
- "البرمجة الفعالة"، جوشوا بلوخ؛
- "جافا. الدليل الكامل"، هربرت شيلدت.
3. أنماط البرمجة
أنماط البرمجة هي بعض الأنماط المتكررة التي تمثل حلاً لمشكلة ضمن سياق يحدث بشكل متكرر. من بينها قوالب أساسية وبسيطة يجب أن يعرفها كل مبرمج يحترم نفسه. لفهم هذا الموضوع استخدم كتاب " الرأس أولاً". أنماط التصميم ." سوف تشرح بوضوح أنماط البرمجة الأساسية. لكن الكتاب يتحدث كثيرًا عن لغة Java ، لذلك في وقت دراسة الكتاب تحتاج إلى إتقان لغة البرمجة هذه. للتعمق أكثر في الأنماط، يمكنك أيضًا قراءة "تقنيات التصميم الموجه للكائنات". "أنماط التصميم" من عصابة الأربعة ( عصابة الأربعة: فريق من المؤلفين يضم إريك جاما، ريتشارد هيلم، رالف جونسون، جون فليسيدس - ملاحظة المحرر) . بعد دراسة هذا الموضوع، ستبدأ في رؤية الأنماط في كل مكان تقريبًا في التعليمات البرمجية الخاصة بك. انتبه لهذا، خاصة الأنماط المستخدمة في الربيع ، حيث أن هذا سؤال شائع في المقابلات.4. نماذج البرمجة. نظافة الكود
إلى جانب أنماط البرمجة القياسية، هناك العديد من المبادئ والنماذج التي تحتاج إلى معرفتها ( SOLID ، GRASP ). من الضروري أيضًا التأكد من أن الكود نظيف وقابل للقراءة. كل ما تريد معرفته حول هذا الموضوع موجود في كتاب " الشفرة النظيفة " لروبرت مارتن أو جرب كتاب "الشفرة المثالية" للكاتب ستيف ماكونيل.5.SQL
خطوتنا التالية هي دراسة لغة قواعد البيانات العلائقية - SQL . قواعد البيانات هي المكان الذي يتم فيه تخزين المعلومات (البيانات) الخاصة بتطبيق الويب. تتكون قاعدة البيانات من العديد من الجداول (دفتر العناوين الموجود على هاتفك هو أبسط مثال على هذه الجداول). يمكنك قراءة المزيد عن قواعد البيانات في هذه المقالة . بالنسبة لمطوري Java، فإن مجال المسؤولية ليس فقط تطبيق Java، ولكن أيضًا قاعدة البيانات التي يتفاعل معها ومكان تخزين البيانات. في قواعد البيانات العلائقية (الأكثر شيوعًا)، تتم جميع التفاعلات من خلال لغة خاصة - لغة الاستعلام الهيكلية، أو SQL. لفهم هذا الموضوع يكفي قراءة أحد الكتب:- و"تعلم SQL" بقلم آلان بيولي؛
- "SQL"، كريس فييلي؛
- "Head First SQL" بقلم لين بيلي.
GO TO FULL VERSION