
مقدمة
لقد كنت محظوظًا لمدة عامين لحضور أكثر من أربعين مقابلة كمرشح لمنصب "مطور بايثون الأوسط". في المقابلات الخمسة عشر الأخيرة ، أدركت الحاجة إلى طرح أسئلة على صاحب العمل حتى لا تواجه مفاجآت العمل في المستقبل. بالإضافة إلى الأسئلة الأساسية التي يطرحها المرشحون عادة على صاحب العمل ، قررت صياغة أسئلتي. عندما طرحت هذه الأسئلة في المقابلات ، تلقيت العديد من ردود الفعل من الذين أجريت معهم المقابلات. قال أحدهم أنني كنت دقيقًا ، واعتقد شخص ما أن هذه القضايا شائعة جدًا ، وحتى أن شخصًا ما بدأ يشعر بالتوتر (احمرار) ويقاطع المقابلة على الفور بحجة سخيفة بأنه كان لديه اجتماع. في هذه المقالة ، أود أن أتحدث عن الأفكار العامة لحضور مثل هذه الأحداث ، وكذلك أحمل 22 سؤالاً أطرحها في المقابلة على صاحب العمل.
أفكار عامة
غالبًا ما تبدو مقابلة مع مطور متوسط مماثلة للمقابلة مع صغار.إنه كذلك حقًا. هذا يرجع إلى حقيقة أن العديد من قادة الفرق / المديرين الفنيين لا يعرفون بالضبط ما يريدون رؤيته في المطور المتوسط. لذلك ، في مثل هذه المقابلات ، يُطلب منهم عادةً
"كتابة مصمم" أو
"كتابة نوع فقاعة بأي لغة" .
أيضا ، قليل من الناس يفهمون كيف يختلف المطور الصغير عن المطور المتوسط. يقول شخص ما أن الوسط هو مطور ذو خبرة من سنة ونصف ، وشخص من ثلاث سنوات. حسب فهمي ، فإن المطور الأوسط هو ذلك المطور الذي يمكنك من خلاله منح مشروع صغير أو أي جزء من مشروع كبير بأمان ، وأنه كان مسؤولاً عنه. كما أن أحد المعايير المهمة للمطور المتوسط هو القدرة على أن يكون مرشدًا لشخص ما أو مجرد القدرة على مساعدة موظف جديد في اختراق مشروع.
المقابلة ليست امتحانًا ، لكنها فرصة لتحديد كيف تتوافق الشركة والمرشح معًا.غالبًا ما لا يفهم أصحاب العمل هذه القاعدة المهمة. ذات مرة كنت في مقابلة حيث أجبرت على سحب تذكرة والرد على الشخص الذي أجريت معه المقابلة على قطعة من الورق. علاوة على ذلك ، طوال هذه المقابلة تحدثنا لمدة عشر دقائق. غالبًا ما يتتبع المرشح نفس السلوك. غالبًا ما يريد المرشح الإجابة على كل شيء ويتصرف مثل طالب ممتاز من المكتب الأول. ولكن من المهم أيضًا أن نفهم أن صاحب العمل غير مهتم بشكل خاص بمدى معرفتك
"بالفرق بين Python2 و Python3" . من الأهمية بمكان بالنسبة لصاحب العمل أن يفهم بشكل عام كيف تتمسك بالمقابلة وكيف تفكر وكيف تتفاعل مع الفشل وما إلى ذلك.
لا يمكن أن يكون المطور الأوسط بدون خبرة.بالطبع ، هذا ممكن ، ولكن بعد مرور بعض الوقت ، سيترتب على ذلك مشاكل هائلة لكل من رئيس هذا المطور والمشروع. بالنسبة للمرشحين الموهوبين بشكل مفرط الذين ليس لديهم خبرة ، فإن متخصصي الموارد البشرية لديهم مصطلح خاص بهم - "المطور الصغير القوي". على الأرجح ، سيتم تقديم تعويضات نقدية جيدة لمثل هؤلاء المطورين ، ولكن سيكون عليهم مسؤوليات كمطورين صغار. بالعودة إلى المطورين الأوسطين ، أود أن أشير إلى أن الوسط هو الشخص الذي عمل في التطوير لبعض الوقت ويفهم العمليات التي يتكون منها. يعرف الأوسط أيضًا كيفية العمل باستخدام أدوات مختلفة (المراقبة ، والنشر ، والتنميط ، والاختبار) والتي من غير المحتمل أن يواجهها شخص ليس لديه خبرة لأغراض التدريب.
تصبح المهارات الشخصية عاملاً مهمًا في موقع المطور الأوسط.كلما زاد المنصب ، زاد تفاعل الناس. لذلك ، في كثير من الأحيان عند توظيف منصب مطور متوسط ، يتم إنشاء مقابلات إضافية مع أخصائي الموارد البشرية لتجميع صورة نفسية لموظف في المستقبل. يجب أن تؤخذ هذه المقابلة على محمل الجد مثل التقنية. عليك أن تفهم أنك تواصل العمل مع هؤلاء الأشخاص. وإذا شعرت أن زملائك المستقبليين ليسوا مناسبين لك ، فمن الأفضل رفض المزيد من التعاون على الفور.
غالبًا ما تُعطى مهام الاختبار لموضع المطور المتوسط.هذا البيان غير موضوعي تماما. أنا شخصياً صادفت مثل هذه الحقيقة. أقوم بتوصيل هذا بحقيقة أن صاحب العمل أكثر اهتمامًا بسيرتك الذاتية. إذا لم يتم تجميع السيرة الذاتية بشكل جيد ، فمن المرجح أن تنتظر مهمة الاختبار.
الأسئلة
في هذا القسم ، سيتم عرض قائمة الأسئلة الأساسية التي أطرحها على صاحب العمل في المقابلة. ربما بعد مرور بعض الوقت ستتوسع هذه القائمة أو تضيق. وتجدر الإشارة إلى أن هذه الأسئلة يجب أن تُطرح على وجه الدقة في المقابلات الفنية ، ويُنصح تحديد من ستتفاعل معه لاحقًا.
1. كيف هي الامور مع الاختبار؟ ما الاختبارات التي تكتبها؟ ما المكتبات التي تستخدمها للاختبار؟ ( المصانع ، الموكي ، إلخ.)يعتبر الاختبار جزءًا مهمًا جدًا من أي تطور. حسب فهمي ، يجب على جميع المطورين كتابة الاختبارات ، على الأقل بشكل ما. الوحيدون الذين يمكنهم أن يغفروا لنقص الاختبارات هم الشركات الناشئة. في الشركات الناشئة ، غالبًا ما يتغير
مسار الحركة بسبب المشاريع القديمة التي لا يحتاجها أي شخص عادةً. لذا كان ضمان جودة هذه المشاريع مضيعة للوقت. بالنسبة لجميع الشركات الأخرى ، لا ينبغي أن تكون هناك رحمة في هذا الأمر. عليك أن تفهم أن إدخال موظف جديد في المشروع في البداية سيؤدي إلى أخطاء مختلفة في التعليمات البرمجية. والاختبارات في هذه الحالة هي إعادة تأمينه الشخصي وإعادة تأمينه لمن سيصب قراراته في الإنتاج.
عندما يجيب صاحب العمل على الجزء الثاني من السؤال ، ستتمكن من فهم مدى ضمان الفريق لجودة منتجهم وأيضًا المسؤوليات المحتملة للمطور والتي لم تتم مناقشتها في الوظيفة الشاغرة.
تجدر الإشارة إلى أنه في هذه المسألة ، غالبًا ما يبدأ الخبراء الفنيون في الضياع. يقول شخص ما في بعض الأحيان أن الفريق بدأ للتو في كتابة الاختبارات ولم يعرف بعد كل التفاصيل الدقيقة لهذه الحرفة. ولكن في بعض الأحيان كنت أسمع هذا الجواب:
"يجب أن يشارك المختبرون في الاختبارات ، ويجب على المطور إنشاء". هذا غير صحيح على الإطلاق.
يجب على المطور كتابة الحد الأدنى المطلوب من الاختبارات ، لأنه هو الذي يعرف كيف تعمل الوظيفة التي أنشأها. لا أحد يتحدث عن عدم جدوى المختبرين. ولكن من المهم أن نفهم أن المطورين يجب أن يكونوا مسؤولين أيضًا عن جودة شفرتهم.
2. ماذا يفعل المطور بالرمز قبل إرساله إلى المستودع؟يشير هذا السؤال إلى التحقق المحلي من التعليمات البرمجية الخاصة بك مقابل معلمات مختلفة. فيما يلي قائمة مختصرة بالرمز الذي يتم التحقق منه عادة قبل الإرسال إلى المستودع:
- Flake8 - تحليل الكود للتوافق مع PEP8 ،
- Pylint - تحليل الرمز الثابت ،
- التغطية - تحليل الشفرة لتغطية الاختبار ،
- Tox - التحقق من الكود للتوافق مع الإصدارات المختلفة من الحزم الفردية ومع إصدارات مختلفة من Python.
إن غياب هذه الحالة في التنمية ليس حرجًا. أيضًا ، في العديد من الشركات ، يتم استخدام هذه الحالة مباشرة في CI ، ولا يقوم المطور بإطلاق أي شيء محليًا. حتى لو لم يتم استخدام هذا في التطوير ، سيكون من اللطيف إذا كان الأشخاص الذين أجروا مقابلات معك لديهم فهم أساسي لهذه الأدوات.
3. هل هناك أي مشاريع CI / CD؟ هل يوجد مهندس DevOps ؟هذا السؤال ليس به مآزق وأطلب منه أن يفهم جهاز الشركة بشكل أفضل. إذا لم يكن هناك CI / CD في المشاريع وكان مهندس DevOps غائبًا أيضًا ، فمن المحتمل أنك ستقوم بذلك. لذلك ، من الأفضل أيضًا مناقشة هذه النقطة في مقابلة.
4. هل هناك مراجعة للقانون؟ كيف تسير الامور؟يمكن ترك الجزء الأول من السؤال دون تعليقات ، لأن الجميع يفهم أهمية هذا الحدث. ولكن تجدر الإشارة إلى أنني كنت شخصياً مهتماً بكيفية سير الأمور بالضبط. غالبًا ما يحدث أن يقوم كل فريق بمراجعة المطور الذي قدم طلب الدمج. ولكن في بعض الأحيان يحدث أن هناك مرشد / مرشد على أي مطور ، وهو الذي يراجع المطور. أنا أعتبر النهج الأول أكثر صحة ، لأنه كلما زاد عدد الأشخاص الذين يراجعون الشفرة ، كان ذلك أفضل للمشروع والفريق. هنا ، تتأثر على الفور جوانب مثل العمل الجماعي والمسؤولية الجماعية وزيادة
عامل الحافلات .
5. ما هو نظام التحكم في الإصدار الذي تستخدمه؟في الوقت الحالي في روسيا ، هناك العديد من الشركات التي لا تزال تستخدم أنظمة
hg و
svn وأنظمة التحكم في الإصدارات القديمة الأخرى. هذا ينطبق بشكل خاص على الشركات التي كانت في السوق لأكثر من 10 سنوات. يختبر هذا السؤال أكثر مدى عمر الشركة عرضة للتكنولوجيات الجديدة. ومن الجدير بالذكر أيضًا أنني شاركت في التطوير باستخدام
الزئبق لفترة قصيرة من الزمن ولم يرضني كثيرًا.
6. هل تستخدم git / hg-flow أو أي منهجية محددة عند العمل مع git / hg؟يأتي هذا السؤال من السؤال السابق حول أنظمة التحكم في الإصدار. لذلك ، إذا لم يستخدم الفريق
git / hg ، فلا فائدة من السؤال. إذا كانت الشركة تستخدم
git / hg ، فسوف يوضح لك هذا السؤال مدى جودة تصحيح عملية التطوير.
7. هل تستخدم منهجية التطوير (سكروم ، كانبان ، إلخ)؟في التنمية ، من المهم الالتزام بنهج محدد (منهجية). نهج التنمية الأكثر شعبية هو التكرار. يسمح لك هذا النهج بتحديد مساهمتك في المشروع. حسب فهمي ، إذا استخدم الفريق نوعًا من المنهجية ، فهذا أمر جيد بالتأكيد. هذا يسمح لك بتحديد فعاليتك. كما يساعدك على فهم المخططات الزمنية المخصصة للمهام. إنه مثل أطفال المدارس لديهم 4 أرباع السنة ، حيث يتم منحهم علامات من أجل تحديد الصف النهائي للسنة لاحقًا.
8. هل تستخدم أنظمة المراقبة في المشاريع (Sentry ، NewRelic ، إلخ)؟إن وجود أنظمة المراقبة في المشروع لا يقل أهمية عن وجود الاختبارات. إن أنظمة المراقبة هي التي تسمح لك بتقييم عمل النظام بأكمله بشكل موضوعي بناءً على الإجراءات التي يقوم بها المستخدم النهائي. إذا لم تكن هناك أنظمة مراقبة ، فعليك التفكير في جودة المنتج المصنوع. إنه مثل طاهي يقوم بطهي الطعام ، ولكن لا يسأل أي شخص أبدًا إذا كان لذيذًا.
9. هل يستخدم المشروع نظامًا لتخزين السجلات والعمل معها (ELK-technology وما إلى ذلك)؟بالنسبة لي ، هذا أيضًا مؤشر مهم. إذا لم يكن هناك ELK ، فمن الصعب جدًا تحديد سبب الخطأ المعقد في النظام. هذا السؤال ليس مهمًا مثل السؤال رقم 8 ، ولكن من الجدير أيضًا أن تطلب فهم مدى ثراء تجربة الفريق في تحديد الأخطاء المعقدة.
10. ما هي قواعد البيانات المستخدمة في المشروع؟ لماذا هذه بالضبط؟يهدف هذا السؤال إلى تقييم كفاءة المستجوب. في كثير من الأحيان عند استخدام قواعد البيانات القديمة أسمع شيئا مثل "حدث تاريخيا". أنا أعتبر هذه الإجابة غير مناسبة. يجب على الفني فهم سلبيات / إيجابيات قاعدة البيانات التي يستخدمها. يجب طرح هذا السؤال فقط إذا كنت على دراية جيدة بقواعد البيانات المختلفة واختلافاتها.
11. ما هو إصدار Python المستخدم في المشاريع؟ إذا تم استخدام إصدار Python2.x ، فهل هناك خطة للترحيل إلى Python3.x؟ وكيف ستنتقل من إصدار إلى آخر؟يهدف هذا السؤال ، مثل السؤال السابق ، إلى تقييم كفاءة الشخص الذي تتم مقابلته ، وكذلك تقييم منطقه. يجب أن يكون مفهوما أن أرباب العمل أميون للغاية ويمكن تحديد مثل هذه القضايا بالفعل في مرحلة المقابلة. قبل طرح هذا النوع من الأسئلة ، أوصي بشدة بالتعمق في نفسك.
12. هل تبحث الشركة عن مطور Fullstack أو مطور الواجهة الخلفية؟أطرح هذا السؤال فقط إذا لم تحدد الشركة نفسها قبل المقابلة. يمكن العثور على وظائف fullstack-developer في سوق العمل في كثير من الأحيان. تجد العديد من الشركات هذا مفيدًا لأنفسهم. تخبرني تجربتي الشخصية أنه لا يوجد مطورو Fullstack ، حيث أصبحت الواجهة الأمامية والخلفية اتجاهات مختلفة للغاية منذ ظهور الويب. وبعبارة أخرى ، "لا يمكنك الجلوس على كرسيين".
في معظم الحالات ، تشعر الشركة بالرضا لأنك لا تعرف الواجهة الأمامية وتتوقع أن تتعلمها مباشرة في المعركة. سأوضح أن الوظيفة الشاغرة للمطور الكامل غير مقبولة بالنسبة لي شخصيًا. يجد العديد من الناس أن هذه فرصة ممتازة للانغماس في العالم الغني للواجهة الأمامية ، ودون دفع روبل واحد.
13. هل تستخدم تكنولوجيا الحاويات في المشاريع؟هذا السؤال هو تكملة للسؤال رقم 3.
14. اسأل المحاور قليلاً عما كان يفعله قبل هذا المشروع وكم مضى عليه في المشروع.هذا السؤال مهم جدا. كلما كانت تجربة الشخص الذي أجريت معه المقابلة أكثر ثراء ، زاد تأثير ذلك على مهاراتك بمرور الوقت. من الجيد بشكل خاص طرح مثل هذا السؤال في شركة صغيرة حيث يوجد دوران بطيء للموظفين.
15. هل تمتلك الشركة تقييمًا سنويًا / ربع سنويًا للموظفين وكيف يحدث ذلك؟من المفيد لأي موظف أن يتلقى ملاحظات من زملائه. إذا كانت الشركة لديها أحداث خاصة لهذا ، فهذا أمر رائع. إذا لم يكن كذلك ، فلا داعي للقلق. على أي حال ، لا أحد يحظر طلب التعليقات من الزملاء في شكل مجاني.
16. هل لدى الشركة معالجة؟ إذا كان الأمر كذلك ، فهل يتم تعويضها وكم مرة تحدث؟قليل من الناس يحبون إعادة التدوير ، خاصة إذا كنت طالبًا أو أبًا تمريضًا. هناك عدد كبير من الشركات التي تضع إعادة التدوير في المقدمة. لفهم أن الشركة ليس لديها مصافي أو نادرة ، فمن الضروري طرح مثل هذه الأسئلة. إذا كانت الشركة تجري التكرير من حين لآخر ، فلا يوجد شيء مهم. إذا كان التكرير أكثر تكرارا ، فمن الجدير النظر في جدوى مواصلة البقاء في الشركة.
17. ما مدى قوة البيروقراطية في الشركة؟ (المعدل من 1 إلى 10)العديد من المطورين لا يدركون حتى وجود البيروقراطية في مجال تكنولوجيا المعلومات ، ولكن لسوء الحظ ، فهي موجودة. ينطبق هذا بشكل خاص على الشركات القديمة الكبيرة أو الشركات التي تعمل مع الدولة. أوامر. درجة البيروقراطية في الشركة تعتمد فقط على مخيلة الإدارة. عادة ، تتكون البيروقراطية من العديد من التطبيقات الرسمية ، والمعالم ، والمداخل ، وتضارب المصالح بين العديد من أقسام الشركة وكتابة الوثائق الأولية المملة في Word. إن المشكلة الرئيسية لهذه البيروقراطية هي التثبيط الشديد لعملية التنمية. ما يتم في شركة عادية في يوم عمل واحد ، ثم سيستغرق أسابيع. ببساطة ، كلما كانت البيروقراطية في الشركة أقوى ، كلما كان تطوير المنتج وتطويرك أبطأ كمتخصص.
18. ما هو الوضع مع تجريد الموارد؟تُفهم الموارد على أنها أجهزة كمبيوتر جديدة للموظفين والخوادم والمجالات والتراخيص وما إلى ذلك. يمكن أن يعزى هذا العدد أيضًا إلى العدد السابق من البيروقراطية.
19. كيف يرتبط القائم بإجراء المقابلة بالتطبيقات الجديدة في المشروع؟يسمح لنا هذا السؤال بتقييم الديمقراطية داخل الفريق. وأيضًا سيجعل هذا السؤال من الممكن فهم مقدار وزن صوت المطور العادي للفريق والموجه.
20. هل الشركة مشاركة في أي من مؤتمرات تكنولوجيا المعلومات وهل لدى الشركة منشورات حول موضوعات تكنولوجيا المعلومات؟يعتبر المؤتمر فرصة عظيمة للمطور وللشركة لإعلان أنفسهم وإنجازاتهم. إذا تم نشر الشركة ومشاركتها في المؤتمرات ، فيمكنك عندئذٍ استغلال هذه الفرصة. إذا لم يكن هذا مثيرًا للاهتمام بالنسبة لك ، فإن السؤال عنه لا معنى له.
21. هل هناك أي تأثير داخل الشركة؟هنا سوف نتحدث عن المخططات المطور داخل فريق أو بين الفرق. Mitapas مهمة جدا. تتيح لك معرفة من وماذا يفعل بالضبط في وقت معين. إذا كانت لديك مشاكل في التحدث أمام الجمهور ، فسوف يساهم ذلك أيضًا في تطوير
مهاراتك الشخصية .
22. هل لدى الشركة متدربون ونظام توجيه؟المتدربون مستقبل محتمل للشركة. إذا كانت الشركة لديها متدربون ، فربما يمكنك أن تكون مرشدًا لهم وتشارك تجربتك الشخصية. الإرشاد هو أيضًا أحد المجالات التي يمكنك تطويرها.
الخلاصة
كل ما سبق هو أفكاري بناءً على الخبرة الشخصية وليست معلومات صحيحة بنسبة 100٪. المعنوي الرئيسي للمقال هو أنه من الضروري التحقق ليس فقط من المرشح ، ولكن أيضا من صاحب العمل. أيضا ، لا تكن عصبيا قبل المقابلات أو في المقابلات. عليك أن تفهم أن الأشخاص الذين يجرون المقابلات هم نفس الأشخاص الذين لديك ، والذين هم أيضا مخطئون أو لا يعرفون أو لا يفهمون شيئا.