11 چیزی که بعنوان مصاحبه کننده برنامه نویسی یاد گرفتم

حل سوالات برنامه نویسی جنبه اصلی یک مصاحبه است، اما بسیاری از نکات دیگر بر نتیجه یک مصاحبه موفق تاثیر می‌گذارد. مصاحبه‌ها نباید فقط در مورد پیشنهاد کاری یا رد شدن از مصاحبه باشد، بلکه باید در مورد آموختن تجربه نیز باشد.هم داوطلبان و هم مصاحبه کنندگان نقش اصلی را ایفا می‌کنند. درک آنچه در ذهن مصاحبه کنندگان می‌گذرد به شما به عنوان یک نامزد کمک می‌کند تا مصاحبه را به طور موثرتری انجام دهید.برای نشان دادن خود به عنوان یک همکار بالقوه، فقط به این نیست که فکر کنید عملکرد خوبی دارید، بلکه به احساس مصاحبه کنندگان نسبت به شما نیز بستگی دارد.بسیاری از ما برنامه نویسان مصاحبه‌های بی شماری را به عنوان داوطلبان شغلی انجام داده‌ایم، اما تعداد زیادی از آنها نقش مصاحبه کننده را بر عهده نگرفته‌ایم. در هفت سال گذشته از زندگی کاری‌ام، بیش از 40 مصاحبه انجام داده‌ام.بیشتر اوقات در مصاحبه برنامه نویسی شکست خوردم. من همیشه عصبی، نگران و حقیر بودم. احساس می‌کردم مصاحبه‌کننده‌ها خدایانی بودند که آنجا بودند و آماده بودند تا من را قضاوت کنند.اخیراً شغلم را تغییر داده‌ام و یک پست ارشد گرفته‌ام. مدیرم از من پرسید که آیا می‌خواهم به طور منظم با داوطلبان مصاحبه کنم؟ چرا که نه؟ این نوبت من است که آنها را خراب کنم (خنده شیطانی). شوخی کردموقتی در طرف دیگر میز، تخته سفید یا زوم می‌نشینید، چیزها را از منظر بسیار متفاوتی می‌بینید. من می‌خواهم که داوطلبان بهترین تجربه مصاحبه و برداشت خوبی از شرکت داشته باشند. من می خواهم 11 چیز جدیدی را که از مصاحبه کننده آموختم به اشتراک بگذارم تا بتوانید خود را برای مصاحبه بعدی بهتر آماده کنید.ما رزومه شما را نمی‌خوانیمبه‌عنوان یک مصاحبه‌کننده برنامه‌نویس، لازم نیست قبل از مصاحبه، همه‌ی رزومه شما را بخوانیم. در واقع ما اصلاً آن را نمی‌خوانیم.فقط باید به یاد داشته باشیم که مصاحبه چه ساعتی است. ما همچنان از شما می‌خواهیم که یک معرفی شخصی و کمی از کارهایی که در حال حاضر انجام می‌دهید به اشتراک بگذارید. بله درست است، ما همچنان به هر چیزی که شما برای معرفی خود می‌گویید توجهی نمی‌کنیم.این بدان معنی است که شما مجبور نیستید زمان زیادی را صرف ایجاد یک معرفی کامل خود کنید، یا مجبور نیستید در مورد گفتن چیزی اشتباه نگران بشید. شما در مورد آن قضاوت نمی‌شوید.چیزی که ما بیش از همه به آن اهمیت می‌دهیم مهارت‌های برنامه نویسی شما در زمان سؤالات است. سالها تجربه شما بیانگر این نیست که در حال حاضر مهارت‌های کدنویسی شما چقدر قوی است.ما به همان اندازه نگران هستیمدرست مانند داوطلبان، مصاحبه‌کنندگان نیز ممکن است به همان اندازه نگران باشند. این به این دلیل است که ما هر دو در حال انجام کاری خارج از روال روزمره خود هستیم.در برنامه روزانه خود، چیزی را برنامه نویسی می‌کنیم که با آن آشنا هستیم. بیشتر از اینکه حرف بزنیم کدنویسی می‌کنیم. وقتی صحبت می‌کنیم، بیشتر با اعضای تیم و مدیر خود صحبت می‌کنیم.در طول مصاحبه، به عنوان یک مصاحبه کننده، باید با یک فرد غریبه صحبت کنیم. ما باید یک کد نوشته شده به زبانی را ارزیابی کنیم که قبلاً هرگز از آن استفاده نکرده‌ایم. ما باید آماده پاسخگویی به هر سؤالی که داوطلب در طول پرسش و پاسخ به ما می‌زند، باشیم.صحبت بیشتر به شما کمک خواهد کردپرداختن مستقیم به سوالات برنامه نویسی شاید ناشیانه باشد. شما بقولی به گرم کردن برای سخنرانی آنها نیاز دارید. معرفی خود برای شما زمان میخرد.اگرچه قبلاً اشاره کردم که معرفی خود بخشی از ارزیابی نیست، شما باید به جای یک خطی، یک معرفی مناسب برای خود تهیه کنید. این همچنین به مصاحبه کنندگان کمک می‌کند تا قبل از شروع بخش مهم به لهجه و لحن شما عادت کنند.روشن کردن مشکل، توضیح رویکرد خود و فکر کردن با صدای بلند راه‌هایی هستند که می‌توانند مصاحبه کننده ها را درگیر نگه دارد. این می‌تواند نظر مصاحبه کنندگان را به شما بهتر کند. مصاحبه باید یک تبادل دو طرفه باشد، نه فقط یک نوع فرآیند I-watch-you-codeارتباط راه‌کار کلیدی استمهارت برنامه نویسی تنها معیار ارزیابی نیست. ارتباط یک عامل تعیین کننده بزرگتر است. ترکیبی از مهارت‌های کدنویسی متوسط و ارتباط خوب معمولاً بر ترکیب مهارت‌های برنامه نویسی عالی اما ارتباط ضعیف برتری دارد.اکثر داوطلبان مهارت‌های برنامه نویسی مشابهی را ارائه می‌کنند، اما آنچه آنها را متمایز می‌کند، نحوه ارتباط آنهاست. ارتباط نه تنها آنچه می‌گویید بلکه نحوه بیان آن نیز است.بیان، تلفظ، سرعت، مکث، حالت چهره و نگرش بخشی از ارتباطات هستند. وقتی صحبت از کار تیمی به میان می‌آید، ارتباطات اهمیت دارد. اگر مصاحبه‌کننده‌ها باید از شما بخواهند هر از چند گاهی آنچه را که می‌گویید تکرار کنید، ممکن است یک پرچم قرمز باشد.در پایان، مهم‌ترین سوالی که هنگام ارزیابی یک داوطلب از خود می‌پرسیم این است که "آیا کار کردن با این شخص برای من راحت است؟"درخواست کمک شرم آور نیستاگر در هر نقطه‌ای گیر کرده‌اید، کمک بخواهید. هیچ شرمی در انجام آن وجود ندارد. زمان زیادی را صرف مبارزه با خودتان در سکوت نکنید. مصاحبه‌کننده‌ها هم راحت نیستند. ما اصلاً از دیدن شما در حال مبارزه با خودتان لذت نمی‌بریم.در واقع، مصاحبه‌کننده‌ها از دادن کمک به شما خوشحال می‌شوند. ما به دنبال کسی نیستیم که همه چیز را بداند. ما به دنبال کسی هستیم که از درخواست کمک نترسد. مانند اینکه در زندگی واقعی وقتی گیر می‌کنید، باید از کسی کمک بخواهید. این کاری است که باید انجام دهید.هیچ راه حل کاملی وجود نداردرهنمودی که به مصاحبه کنندگان داده می‌شود هیچ راه حلی را شامل نمی‌شود. هیچ راه حل از پیش تعریف شده یا ترجیحی وجود ندارد که بتوان از آن برای مقایسه با راه حل نوشته شده توسط داوطلب استفاده کرد.مصاحبه‌کنندگان لزوماً تک تک خط‌های راه‌حل را به خاطر نمی‌آورند. ما یک یا دو رویکرد را می‌دانیم، اما این کاملاً به کاندیداها بستگی دارد که راه حل خود را ارائه دهند.گاهی اوقات ما دوست نداریم که کاندیداها به سرعت راه حلی را به دست آورند، گویی که از قبل سؤال را دیده اند. دیدن راه‌حل‌های ارگانیک که توسط فرآیند فکری کاندید در محل هدایت می‌شوند، شگفت آورتر است. اگرچه طولانی و بیش از حد پیچیده است، اما مایلیم ببینیم که کاندیداها چگونه این راه حل را ارائه می دهند.عدم تمرین آشکار استبرخی از سوالات به خصوص زمانی که برای یک شرکت فناوری بزرگ درخواست می‌دهید سخت هستند، اما برای اکثر شرکت‌های فناوری، سوالات بسیار پایه هستند. به راحتی می‌توان تشخیص داد که آیا نامزدها با دشواری سؤال دست و پنجه نرم می‌کنند یا با نحوی مبارزه می کنند. اگر زبان برنامه نویسی غالب خود را دارید، از آن زبان برای مصاحبه استفاده کنید. نیازی به امتحان زبانی نیست که در شرح شغلی مورد استفاده‌تر است.اکثر کاندیداها با نحو اولیه درگیر هستند. من در مورد Graph یا Tree صحبت نمی‌کنم. من در مورد حلقه (loop) سنتی For صحبت می‌کنم. به عنوان مثال، موارد زیادی وجود دارد که ممکن است اشتباه پیش برود:for (int i = 0; i < input.length(); i++) { ... } ممکن است فراموش کنید که فاصله‌ها را اضافه کنید. بله، فرمتینگ مهم است. نشان می‌دهد که آیا به خوانایی کد اهمیت می‌دهید یا خیر.شما ممکن است ()length , input.length. و ()input.sizeرا باهم قاتی کنید.ممکن است ()i <= input.length را بنویسید و با خطای index out of bound مواجه شیدپرسیدن از گوگل مجاز استما معمولاً به داوطلبان نمی‌گوییم که می‌توانند در ابتدای برنامه نویسی در گوگل جستجو کنند. ما معتقدیم که داوطلب باید عملکرد اصلی و عملیات داخلی زبانی را که انتخاب می‌کند بداند.با این حال، هنگامی که آنها گیر می‌کنند و می‌پرسند که آیا می‌توانند از گوگل استفاده کنند، ما با کمال میل به آنها می‌گوییم که این کار را انجام دهند. هیچ اشکالی در گوگل کردن چیزهایی وجود ندارد که شما به سختی از آنها استفاده می‌کنید زیرا ما هر روز این کار را انجام می‌دهیم.اگر گیر کرده‌اید و راه حل شما به آن بستگی دارد، از پرسیدن اینکه آیا می‌توانید در گوگل بپرسید نترسید. صادق باشید و فقط عملکرد داخلی را که باید استفاده کنید جستجو کنید، نه کل راه حل را.وقتی در حال تایپ کردن و نگاه کردن به آن هستیم، به معنی یادداشت برداری استاین نکته اغلب نادیده گرفته می‌شود و به اشتباه تفسیر می‌شود. من برخی از بررسی‌های مصاحبه در Glassdoor را دیده‌ام که از مصاحبه‌گرانی که همزمان کار می‌کنند و مصاحبه می‌کنند، شکایت دارند.این ممکن است لزوماً برای همه موارد صادق نباشد زیرا داوطلب ممکن است صدای تایپ صفحه کلید را شنیده باشد یا مصاحبه کننده را دیده باشد که به صفحه دیگری نگاه می‌کند.مصاحبه کننده می‌تواند به خاطر یادداشت برداری تایپ کند. ما رفتار شما را یادداشت می‌کنیم و بلافاصله ارزیابی را انجام می‌دهیم تا فراموش نکنیم. اگر مجبور باشیم همه چیز را پس از پایان مصاحبه به خاطر بیاوریم، ممکن است برخی نکات را از دست بدهیم و یک ارزیابی مغرضانه ارائه دهیم.امروزه داشتن زوم بر روی لپ‌تاپ و یادداشت‌برداری روی مانیتور توسعه یافته یک راه‌اندازی بسیار رایج است. از منظر کاندید، به نظر می‌رسد که مصاحبه‌کننده بیشتر اوقات به دور نگاه می‌کند. بسیار مهم است که به کاندیداها اطلاع دهید که به مصاحبه توجه کامل داریم.وقتی صحبت نمی‌کنیم، به این معنی نیست که به شما توجه نداریممن قبلاً فکر می‌کردم که اکثر مصاحبه کنندگان از لحاظ اجتماعی ضعف دارند و تعامل پذیر نیستند. دلیلش این بود که من چیزی رو اشتباه گفتم؟ زیاد حرف نمیزنن و آنها فقط سوالات فنی را به طرف شما پرت می‌کنند. آنها فقط زمانی صحبت می‌کنند که شما سؤال کنید.در حالی که برخی از این موارد ممکن است درست باشد، اکثر آنها اینطور نیستند. صحبت های کوچک سوگیری ناخودآگاه ایجاد می‌کند. احساسات مصاحبه کنندگان نسبت به نامزد ممکن است تحت تأثیر صحبت‌های کوچک غیر ضروری قرار گیرد که منجر به قضاوت جانبدارانه می‌شود.برای مصاحبه برنامه نویسی، کاندیداها صرفاً بر اساس مهارت‌های کدنویسی و برقراری ارتباط پیرامون جنبه‌های فنی مورد قضاوت قرار می‌گیرند.ما می‌خواهیم کاندیداها موفق باشنداستخدام فرآیندی پرهزینه است. باور کنید یا نه، ما از شما می‌خواهیم که شغل را بیشتر از آنچه برای خود می‌خواهید بدست آورید. ساعات زیادی برای استخدام یک داوطلب صرف می‌شود. اگر داوطلبی پیشنهاد را دریافت نکرد، باید همان کار را دوباره انجام دهیم تا آن نقش گمشده را پر کنیم.اگرچه مصاحبه‌کنندگان خشن و توانا به نظر می‌رسند، اما ما آنجا نیستیم که داوطلبان را خراب کنیم. ما نمایانگر چهره شرکت هستیم. ما می‌خواهیم کاندیداها یکی از بهترین تجربیات را در مصاحبه‌های خود داشته باشند. ما می‌خواهیم مزایای کار در شرکت را تا آنجا که ممکن است به شما معرفی کنیم زیرا می‌دانیم که شما فقط برای یک مصاحبه شرکت نمی‌کنید.Source: https://b2n.ir/u42131برای مطالعه پست‌های بیشتر ما را در وبلاگ کارادمی و یا در ویرگول دنبال کنید.