من var b إلى المقابلة

هل انتهيت تقريبا من الجامعة أو الكلية؟ تمت دعوتك للمقابلات ، لكنك تذهب هناك دون استعداد؟ ليس لديك تعليم (أعلى) ، لكنك تريد العمل كمبرمج أو في مجال تكنولوجيا المعلومات؟ سيكون الأمر في الغالب حول العثور على وظيفة ، وسوف أتحدث فقط لمدينتي (تشيليابينسك) لأنه كنت أبحث عن عمل هنا.



عندما بدأت في البحث عن عمل ، في سنتي الثانية في الكلية ، لم أكن أشك في عدد الشركات المختلفة في مدينتنا. من المبرمجين إلى التعلم العميق ، من هؤلاء. دعم bitrix لمطور ألعاب (محمول ، شبكات اجتماعية ، سطح مكتب).

كنت في حوالي 8 مقابلات (دون احتساب عبر الإنترنت). كانوا جميعا في اتجاهات مختلفة. التخطيط ، تطوير لعبة سطح المكتب ، مطور الويب (c # +. Net) ، مطور الويب (bitrix + php) ، الواجهة الأمامية (js + response). رفض شيئا بنفسه ، لم يأخذوه إلى مكان ما. لا اعرف الكثير.

أقرب إلى النقطة ، أقرب إلى الرمز


أود أن أقول ما يسألونه في مثل هذه المقابلات ولماذا يفعلون ذلك (لشرح التقنيات المستخدمة).

لنبدأ بواحد بسيط. التخطيط


في معظم الحالات ، يحتاج الجميع إلى سرعة التخطيط. أعطوني مهمتين (شركتان مختلفتان). الأول هو تخطيط بطاقات المنتجات على الموقع. في ساعة واحدة كنت بحاجة إلى عمل تخطيط كما في الصورة ، التي تم رميها من قبل. لا يوجد شيء معقد في المهمة ، ولكن أحد الشروط هو Pixel Perfect (بكسل إلى بكسل). لدي بعض الأخطاء: عدم تطابق مع التخطيط (عرض غير صحيح لنافذة الإعلام ومنطق تأثير التمرير).

الصورة

كانت المهمة الثانية أكثر سهولة (لم يكن مطلوبا بكسل الكمال). هناك ToR (شروط مرجعية) مع تصحيحات ويجب القيام بها على الموقع. تعديلات في عرض العناصر ، شيء للهواتف المحمولة لتكوينه ، تغيير المسافة البادئة ، لون العناصر.

لماذا ذلك في الوقت الحاضر ، هناك عدد قليل جدًا من الشركات التي تبحث عن المبرمجين ، لذلك السرعة مهمة. وقت أقل للعمل ، والمزيد من الطلبات ، مما يعني المزيد من الربح للشركة. غالبًا ما يتطلب مثل هذا الموقف معالجات مسبقة (sass ، pug) ومنشئي مشروع (gulp ، webpack). أما المعارف التقليدية ، فسوف تحصل عليها في أي وظيفة ، ويجب عليك متابعتها! تختلف المعارف التقليدية باختلاف الجميع ، وهي في معظم الحالات وثيقة نصية تحتوي على قائمة بالتعديلات.

مبرمج ويب (بتريكس)


كانت هناك 3 محاولات في شركات مختلفة. في واحدة شرحوا لي ما يجب عليهم القيام به. دعم مواقع الشركات (تطوير لاحتياجات هذه المواقع) + العمل مع الخادم (إعداد المواقع ونشرها). لا يوجد سؤال واحد هو ما أستطيع وما أعرفه.

لكن في المقابلة الثانية ، سألوا فقط ماذا فعلت في آخر مكان للعمل ، وما يمكنني القيام به في bitrix وما درسته بشكل عام.

حسنًا والأكثر إثارة للاهتمام ، هذه هي المقابلة الأخيرة. كانت هنا أسئلة حول المهارات ، ووصف لمهام الشركة ، والمهام التي يجب القيام بها على الفور. آمل أن تتمكن من التحدث عن نفسك ، لكنني مستعد لمشاركة الأسئلة. سأحذرك على الفور ، لم يكن هناك أي شرط في اللغة التي تحتاجها لكتابة رمز ، اخترت JS. احسب العامل المضروب للشجرة الثنائية وما هي طرق اجتيازها ، وفرز الخوارزميات ، والوصول إلى قاعدة البيانات (استعلامات بسيطة) ، وما هي class.php في bitrix.

حساب العامل الضريبي بسيط للغاية ، بغض النظر عن لغة البرمجة. تنفيذ هذا من خلال العودية. حول شجرة ثنائية بالفعل أكثر تعقيدا ... شجرة ثنائية (ثنائي) = هيكل البيانات. يتم استخدام الشجرة للعمل مع كميات كبيرة من البيانات ، وليس من المستغرب أنه عند التقدم بطلب للعمل مع المتاجر عبر الإنترنت ، يطلبون ذلك فقط. ينطبق التصنيف أيضًا على العمل مع البيانات. حسنًا ، والوصول إلى قاعدة البيانات ، تستخدم معظم المواقع على الشبكة قاعدة البيانات. هذه خلاصة لأخبار الموقع والمنتجات وقائمة بالمقالات الشائعة والعناصر الأخرى.

الأكثر إثارة للاهتمام ، محاولة للحصول على مطور سطح مكتب


الصورة

سأذكر على الفور المواضيع العامة: OOP والأنماط.

لماذا؟ حسنًا ، التطوير الحديث بدون OOP ... هذا غريب جدًا ، تمامًا مثل التطوير بدون أنماط. نعم ، يمكنك القيام بالدورات الدراسية أثناء الدراسة وعدم استخدام الأنماط + OOP ، ولكن بدون الحد الأدنى من الفهم للفئة والميراث وتعدد الأشكال ، لن أوظفك. يسمح لك OOP بتقسيم البرنامج إلى كتل ، وتسمح لك الأنماط ، مثل SOLID ، بتقسيم الشفرة إلى كتل مستقلة ، بحيث يمكنك في المستقبل استكمالها بسهولة.

كانت جميع القضايا الأخرى محددة ، اعتمادًا على ما تعمل به الشركة. على سبيل المثال ، إذا كان هؤلاء هم مطورو الألعاب ، فقد كان مطلوبًا كتابة لعبة اختبار باستخدام محركهم + الوثائق التي قدموها عليها. حصلت على لعبة ثنائية الأبعاد للأطفال (c # + XAML). جوهر اللعبة: هناك كأسان ، واحد فارغ ، والثاني أقلام رصاص ، عندما ينقر اللاعب على الرنمينبي ، ينتقل قلم رصاص واحد إلى كأس فارغ ويحدث عداد النقاط على الشاشة. كان من السهل عد أقلام الرصاص.

كان لدي أيضًا خبرة في مقابلة مطور Unity ، كان الأمر أصعب هنا بسبب وتم منح اللعبة 3D ، وتم رصد الكود بحيث لم يكن هناك قمامة فيه + وجود أنماط ، لا يزال لدي هذا المشروع على github.

بالعودة إلى الشركات ، إذا كان هذا هو تطوير الجزء الخلفي (c # +. Net) ، فقد كانت الأسئلة حول منصة .net ومزالقها. إذا كان هذا هو تطوير التطبيق ، فأنت بحاجة إلى معرفة TDD (التطوير من خلال الاختبار) ، SOLID ، OOP.

لقد شرحت بالفعل حول OOP والأنماط. لماذا تسأل عن TDD؟ بصراحة ، لا أعرف ... أنا لا أفهم تمامًا ميزة هذا النهج ، ولكن بعض الشركات تستخدمه ، ولكن كان عليّ كتابة الرمز بهذه الطريقة مرة واحدة فقط. صلبة - هذه 5 أنماط مجتمعة معًا ، بعد سؤالي في مقابلة حول هذا النمط ، بدأت على الفور في دراسته. سأقول لك بصراحة ، كان من الصعب بالنسبة لي فهمه ، ولكن النتيجة هي رمز ثابت للغاية يمكن استكماله دون الإضرار بتطبيق مكتوب بالفعل. إذا كنت مهتمًا بـ SOLID ، فحاول كتابة آلة حاسبة باستخدام هذا النمط. نفذ + و- أولاً ، ثم أضف ميزات أخرى إلى الآلة الحاسبة. أتذكر الكتابة في c # (برنامج وحدة التحكم).

ربما هذا كل ما يمكنني أن أخبرك به عن المقابلة في مدينتي. نعم ، هناك كل من مطوري SPA (مطلوب بشكل أساسي ReactJS) ومطوري ألعاب الويب (كل نفس رد الفعل ، في معظم الحالات ، وأحيانًا فقط JS الأصلي) ، و python ، 1C ، مطوري JAVA وغيرهم. لقد فوجئت للغاية بتنوع التقنيات واللغات المستخدمة. هذا كل شيء بالنسبة لي ، ربما. اراك قريبا.

Source: https://habr.com/ru/post/ar430226/


All Articles