اختبار المقابلة لوظيفة الحوسبة العلمية التطبيقية [مغلقة

StackOverflow https://stackoverflow.com/questions/2090021

سؤال

هل تعرف الخير و مجال سؤال/اختبار لفحص المتقدمين للحصول على وظيفة الحوسبة العلمية؟

(في الواقع ، يأتي هذا الاختبار بعد اجتياز المرشح مقابلة.)

1st) هم بحاجة إلى أن يكونوا ذكيين. (تحرير ، شكرا للكلمات من ترينت)

2nd) سيتعين عليهم التعامل في الغالب مع البرمجة (C ++ و Python ، باستخدام المكتبات العلمية) ، والأرقام والرياضيات ، ولكن أيضًا مع موضوعات الهندسة والفيزياء. أيضا ، مثل C-Like أو Fortran الشبيه ليس المطلوب ... استخدام مفاهيم OO سيكون جيدا.

قد يكون لدى مقدم الطلب إمكانية الوصول إلى المجمعين والأدوات والمكتبات والإنترنت. يجب ألا تزيد مدة الاختبار عن 4 ساعات.

هل كانت مفيدة؟

المحلول

حسنًا ، هناك مشكلة سهلة هي أن تطلب من شخص ما حل نظام قصيدة بسيط باستخدام أي مكتبات يرغبون في استخدامها. لا شيء من المكتبات التي أعرفها واضحة بما يكفي بحيث يمكن تعلمها أثناء الاختبار. على سبيل المثال ، حل هذا النظام ل x=1:10: dx/dt = -k (x^2/x).

من الصعب أن تطلب من شخص ما حل أ قاسٍ نظام قصيدة. هنا ، يصبح اختيار الخوارزمية مهمًا وربما لن يعمل "التخمين". على سبيل المثال ، معظم معادلات Michaelis-Menten قاسية.

dS/dt = - vmax * S/(Ks + S)

عندما يكون DS هو معدل استنفاد الركيزة و VMAX و KS هي ثوابت (يمكنك إعطاء المرشح). يؤدي اختيار الحلول الخاطئ هنا إلى نتائج كارثية إلى حد ما ، حيث اكتشفت مباشرة.

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

تحرير: ماذا يثبت؟ حسنًا ، ODES في كل مكان في الحوسبة العلمية. إذا لم تكن قد تعاملت معهم على الأقل بشكل مؤلف في مرحلة ما ، فهذا ثقب كبير في معرفتك. لقد حاولت فقط الإجابة على السؤال كما هو موضح. "ما هي الأسئلة المحددة لطرح مقدم الطلب على وظيفة الحوسبة العلمية؟". لحل المشكلة سيتعين على مقدم الطلب معرفته

1) حساب التفاضل والتكامل الأساسي.

2) نوع من مكتبة الحوسبة العلمية (MATLAB ، SCIPY ، GSL).

3) إذا تم طرح السؤال بشكل مناسب (على سبيل المثال ، إذا طُلب منهم حساب معدل التسارع) ، يتم أيضًا اختبار معرفة المجال (الفيزياء في هذه الحالة).

أعتقد أن هذا يتحقق من جميع الصناديق :)

نصائح أخرى

ابحث عن أشخاص أذكياء وسيكونون قادرين على التكيف مع متطلباتك المحددة. هذا أفضل بكثير من محاولة العثور على شخص يلتقي بكل "مربعات الاختيار".

من المحتمل أن أندم على هذا ولكن هذه نصيحتي العامة للغاية fwiw

1) قم بإجراء مقابلة مع المرشح وليس المواصفات الوظيفية.

احصل على حد أدنى من مجموعة "الأساسية" في المواصفات التي لن تتنازل عنها ، بعد أن نظرت إلى المرشح ومعرفة المهارات الأخرى التي يجلبونها إلى هذا المنصب - قد يجلبون المهارات التي لم تعرفها أنك بحاجة

2) هل اختبار المرشحين

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

3) هل تجعل المرشحين كتابة رمز

ستتعلم المزيد عن شخص ما من خلال كيفية تعامله مع مشكلة ، وكيف قاموا بتنفيذها ، والأهم من ذلك كيف أوضحوا ما فعلوه بك أكثر من أي شيء آخر. تذكر ، هذا ما توظفهم لهم ، هذا ما سيقضونه غالبية يومهم

4) لا تسأل الكثير من "أسئلة الذاكرة"

إن مطالبة شخص ما بتذكر التنسيق الدقيق لـ STD :: الخوارزمية أو جميع الطرق في System.xml.xmldocument لا يخدم أي غرض. الناس يستخدمون المستندات والانمنج - تجاوزها.

5) هل تسأل أسئلة مفتوحة

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

6) تعرف على ما إذا كانوا قد أجريوا أبحاثهم

اسأل دائمًا مرشحًا عما إذا كانوا قد سمعوا عن منتجك/الفريق/اللعبة/الشركة. إذا لم يتمكنوا من إخبارك فقط بأكثر الشيء عن الشركة التي يتقدمون بها ، فهل لا تريدهم في شركتك. يستغرق كتابة 30 ثانية في Google بعد كل شيء ، لذا كن وحشيًا بشأن هذا. صدقني.

7) لا تقابل بنفسك

قد تكون ذكيًا للغاية ، قد تعرف ما تريد ، قد تعتقد أنه يمكنك قراءة الأشخاص ، لكن تطوير البرمجيات هو في المقام الأول جهد تعاوني ، لذا احصل على شخصين ولا تحصل على مدير آخر أو مشفر كبير - أحضر في فريقك واستمع إلى آرائهم. الأهم من ذلك ، اللحاق بالركب بعد ذلك وناقش المرشح بينما لا يزال جديدًا في عقلك.

8) لا تتعجل المقابلة

يعتمد وقت التخصيص للمقابلات كثيرًا على نوع المواقف التي تجري مقابلة معها من أجل IE Junior ، من ذوي الخبرة ، ومع ذلك ، إلا أن إعطاء نفسك دائمًا نصف ساعة إضافية علاوة على المدة التي تعتقد أنك تحتاج إليها. يمنحك هذا مجالًا للتنفس وإذا انتهيت مبكرًا ، فلا بأس. انتقل إلى المقابلات الثانية إذا لزم الأمر. كثيرا ما أجري مقابلتين - الأول فني والثاني أكثر تركيزًا على الشخصية والفريق.

قد لا تشعر أنه مناسب أو ليس لديك وقت ، ولكن لا خصمه. إذا كنت تشعر أنك لم تحصل على ما يكفي من المرشح لأول مرة وما زالت هناك إمكانية ، فلا يزال هناك إمكانية إعادتهم. إذا كانوا يريدون العمل في شركتك/فريقك ، فسوف يعودون.

9) اسأل عن الأدلة

إذا قال أحد المرشحين "ساهم بشكل كبير في تطوير ..." ثم اسألهم عما فعلوه ، بالتفصيل ، ما تعلموه من التجربة وماذا سيفعلون مرة أخرى. إذا لم يتمكنوا من إعطائك أدلة وتفاصيل ، فمن المحتمل أن "لم يساهموا بشكل كبير". احذر من المرشحين الذين استخدمنا "لقد فعلنا" طوال الوقت. من المؤكد أن التنمية تتم في فرق ولكن يجب أن يكونوا قادرين على تحديد ما ساهموا به وكذلك وصف جهد الفريق.

10) كن مستعدًا لتكون صادقًا وصريحًا.

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

11) لا تؤخذ بالثقة.

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

ولكن لا يزال يتعين عليك الاختبار لمعرفة ما إذا كانوا يحوسون الحوسبة. هناك أي عدد من المنشورات حول اختبارات البرمجة للمقابلات. لا تقلق بشأن مجالك المحدد ، فقط تعرف على ما إذا كان يمكنهم الترميز على الإطلاق.

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

يمكنني التفكير في بضع نقاط قد ترغب في تغطيتها:

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

أعتقد أنك أفضل حالًا في محاولة مناقشة مشكلة مع الشخص لترى كيف يعقدون عند مواجهته بهذه المشكلة. ما هي الخوارزميات التي يفكرون بها ، ما هي طرق الاقتراب من المشكلة التي يعرفونها؟ ما هي المزالق المحتملة التي يرونها؟

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

اختبار الرياضيات الخاصة بهم. بعض الأسئلة البسيطة المتعلقة بأي معرفة بالرياضيات الخاصة بالمجال التي يجب أن يكون لديهم موضوعي للغاية ويمكنهم فحصها بسرعة أن 90 ٪ من المتقدمين الذين ليس لديهم عمل حتى في هذا المجال.

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

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

لا يبدو أن أي من الإجابات السابقة تذكر المعرفة الخاصة بالمجال-أي جزء من العلوم (الذي أصبح كبيرًا جدًا في القرن الحادي والعشرين) هل تعمل؟ أنا أعمل مع فريق من علماء الجيوفيزيائيين الذين يعملون على مشاكل EM الحسابية. هناك الكثير من الحاسبات العلمية الجيدة التي لن ننظر إليها مرتين لأن مجالهم بعيدًا عن حزبنا.

أقترح أنه من الأسهل تدريب شخص ما على معرفة المجال الصحيح ومعرفة البرمجة الخاطئة من والعكس صحيح.

"أقنعني أنك الشخص المناسب لهذا الوظيفة"

مع هذا السؤال ، يمكنك اختبار جميع المهارات اللازمة لمبرمج جيد:

  • الذكاء
  • إِبداع
  • تواصل
  • الدافع الذاتي

... الشيء الوحيد الذي لم يتم اختباره هو القدرة على العمل الجماعي ، لكن هذا أمر صعب الاختبار على أي حال.

PS بالنسبة للمعرفة ، يمكنك دائمًا أن تطلب من الشخص تنفيذ مخزن مؤقت حلقة دوري في "الطريقة الأكثر قابلية لإعادة الاستخدام التي يعرفها" دون الوصول إلى الإنترنت ، سواء في Python و C ++. رمز "قابل للاستخدام" الحقيقي يتحدث المزيد عن الناس و ثقافة الترميز من أطنان من أسئلة مربعات الاختيار.

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

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

تتبدد الحرارة (المفقودة) في الأنبوب الساخن هي U * len * (T1 - T0) ، حيث T0 هي درجة حرارة الغرفة (ثابتة) و U هي ثابت نقل الحرارة (W/(M * K)). بسبب فقدان الطاقة هذا ، يبرد الماء قبل الوصول إلى المشعات (حتى درجة الحرارة المنخفضة قليلاً يعني أقل بكثير من الطاقة المنبعثة من المبرد).

يحتوي كل برادياتير على صمام يعدل التدفق (كجم/ثانية). يحدد التدفق ودرجة الحرارة معًا الطاقة التي يشعها المبرد. يمكنك استخدام الوظيفة التالية:

radiatorPower(flow, temperature) -> power

قم بتنفيذ بنية بيانات تصف الشبكة بأنها شجرة وخوارزمية لتحديد التدفق المطلوب لكل برعيد بحيث يساوي Radiatorpower (التدفق ، درجة الحرارة) P.

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

Water specific heat: c = 4190 J/(kg*K)

أعتقد أنه يجب عليك أن تسأله عن تجربته. حول الأسئلة: لا تسأل عن أسئلة ميزة اللغة (أشياء مثل a = b ؟؟ c)

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

تمت مقابلة لي مرة واحدة لشغل منصب مطور برامج عام. بعد القليل من الدردشة ، قالوا شيئًا مثل: "في سيرتك الذاتية ، تقول إنك تعرف C ++ و Java جيدًا. أخبرنا بكل الاختلافات التي تعرفها بين هذين ، لا تقتصر على اللغات نفسها." من هناك كان يتدفق بشكل جيد ويمكنك رمي الأسئلة بسهولة عند تناسقها. مثل عندما قلت عادة ما تتم ترجمة C ++ إلى رمز الجهاز بينما Java إلى رمز البايت ، فإنهم يسألون ما يعنيه رمز البايت ، ما هي مزايا وعيوب أي من النهج ، إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top