چگونه خود را برای یک مصاحبه برنامه نویسی آماده کنیم؟!

برنامه نویسی

چگونه خود را برای یک مصاحبه برنامه نویسی آماده کنیم؟!

چگونه خود را برای یک مصاحبه برنامه نویسی آماده کنیم؟!

اهمیتی ندارد شما چه کسی هستید یا چندبار تجربه ی مصاحبه داشته اید. حتی فکر کردن در مورد یک مصاحبه برنامه‌نویسی می‌تواند دلهره‌آور باشد. آیا به اندازه کافی آمادگی موفقیت برای یک مصاحبه را دارید؟ راه حل‌های شما به اندازه کافی مناسب هستند؟ اگر از پَس آن برنیامدید چه؟ اگر شما در مورد این مسئله عصبی هستید عادی است، در واقع ما آن را به عنوان یک نشانه خوب برای این که شما واقعا می‌خواهید در مصاحبه برنامه نویسی موفق شوید در نظر می‌گیریم.

در حقیقت، آماده شدن برای یک مصاحبه بیشتر مربوط به ایجاد اعتماد به نفس است تا گسترش دادن چیز‌هایی که می‌دانید، به هر حال دانسته‌های شما نیز اهمیت دارند. در اینجا ما پنج عاملی که با انجام دادن آن می‌توانید برای آن روز بزرگ به خوبی آماده شوید را شرح می‌دهیم.

  • هر روز کمی مطالعه کنید.

بهترین راه آمادگی برای یک مصاحبه مطالعه ی مستمر است حتی اگر قرار نباشد به همین زودی ها مصاحبه‌ای داشته باشید . مطالعه باید مستمر باشد حتی اگر مقدار مطالعه کم باشد بهتر از مطالعه نکردن است.سوالات تمرینی روزانه شروع خوبی برای آماده شدن است ، تحقیق کردن در مورد شرکت ها و تکنولوژی ها بی تاثیر در بیان اعتبار و تجربه شما نیست ، در ادامه این مقاله به سایر بخشها خواهیم پرداخت

بسیار مهم است که شما اهداف واقع بینانه اما چالش برانگیز برای تمرین روزانه برای خود تنظیم کنید. این اشتباه را نکنید که این مسئله را کوچک بشمارید، شما باید آن را جدی بگیرید اما در آن زیاده روی هم نکنید در غیر این صورت شما به فرسودگی ذهنی مبتلا خواهید شد.

مهم تر از همه این است که شما زود شروع کنید! برای بار دوم می‌گوییم، اگر می‌توانید از همین حالا شروع کنید. اگر مصاحبه شما چند ماه آینده است ممکن شما بتوانید کمی قبل از شروع کردن منتظر بمانید، اما ما توصیه می‌کنیم حداقل  6 هفته مانده به مصاحبه مطالعه و تمرین را آغاز کنید.هدف نهایی این است که غافلگیر نشوید و مجبور به فعالیت و کار بیش از حد برای آماده شدن برای مصاحبه که میتواند باعث استرس شود نشوید.

  • دانستن این که مصاحبه کننده چه چیزی میخواهد.

به محض اینکه در صف یک مصاحبه قرار گرفتید. بهترین کار این است که در مورد آن شرکت تا حد ممکن تحقیق کنید. پیش زمینه ،مسئله‌ای مهم در آماده سازی برای مصاحبه است. پس از آن، هدف نهایی شما برآورده کردن نیاز‌های احتمالی کارفرمایان است. با لیست کردن مشاغل شروع کنید. آیا یک موقعیت شغلی برای توسعه یک بازی MMORPG است؟ بنابراین شما باید با ابزار و فریم ورک‌های مورد استفاده در این زمینه آشنا باشید. همین امر برای توسعه اپلیکیشن‌های موبایل، وسائل کسب و کار، توسعه فرانت اِند و بَک اِند یا چیزی که در نظر دارید صدق می‌کند.

اگر اطلاعات کافی از آن شرکت در دسترس هستند، شما باید در مورد تکنولوژی‌هایی که در آن شرکت استفاده می شود نیز مطالعه کنید. نیاز نیست برای انجام آن یک حرفه‌ای باشید(مگر اینکه برای شغل مورد نظر یک الزام باشد) اما حداقل شما باید به اندازه کافی در مورد آن تکنولوژی بدانید تا بتوانید از پس یک گفتگو در مورد آن بر بیایید.

زبان درست برنامه نویسی و طرح‌های مناسب را مطالعه کنید. بعضی از شرکت‌های بزرگ در هنگام مصاحبه به شما پیشنهاد می‌کنند تا با زبانی که با آن راحت هستید کار کنید، اما سایر شرکت‌ها ممکن است بخواهند مهارت شما را در زبان انتخابی خودشان که ممکن است سی شارپ، جاوا، پایتون و غیره باشد را امتحان کنند. به عهده شما است که بدانید آنها چه چیزی از شما انتظار دارند، این قدم ساده ولی حیاتی میتواند به شکل قابل توجهی موقعیت‌های شغلی شما در برنامه نویسی بهبود دهد.

  • بر روی بهبود نقاط ضعف تمرکز کنید

چیز‌های زیادی است که شما باید بدانید: ساختار داده‌ها، الگوریتم‌ها، استاندارد کتابخانه‌های صنعتی و فریم ورک‌ها و غیره. هیچ کس از شما انتظار ندارد تا همه چیز را بدانید، اما شما باید در مورد چیز‌هایی که میدانید مطمئن باشید.

مباحث رایجی که باید بدانید شامل:

  • تفاوت‌های ظریف زبان‌های برنامه نویسی، به خصوص زبان‌های برنامه نویسی پویا که اخیرا رایج شده اند. دانستن اصول OOP بسیار حیاتی است.
  • دانستن ساختار‌های داده‌ای شامل Arrays, Linked Lists, Stacks, Queues, Heaps, Hash Tables, Binary Trees ( شامل Binary Search Trees و Self- Balancing binary Trees  )
  • دانستن Big-O یا(پیچیدگی زمان و فضا)، مرتب سازی، جستجو، عملیات بازگشت، تئوری گراف و تراوین، تقسیم و تسخیر، الگوریتم‌های گرییدی.
  • الگو‌هایی مانند Singletons, Factories, Composition, Multiple Inheritance, Polymorphism, Decorators.

و البته مباحث تخصصی بسته به موقعیت شغلی که در آن فعالیت می‌کنید(به عنوان مثال Query SQL برای پایگاه‌های داده‌ای یا برنامه نویسی شبکه برپایه UDP/TCP برای برنامه نویسان شبکه).

اگر بعضی از مباحث بالا باعث نگرانی شما می شود. دلیل آن این است که شما باید آن‌ها را یاد بگیرید و تمرین کنید. نقاط ضعف و قوت خود را نسبت به آنها مشخص کنید. انجام این کار باعث می‌شود در بلند مدت اعتماد به نفس خوبی در شما ایجاد شود.

بر روی حفظ کردن طوطی وار تکیه نکنید. مصاحبه‌های برنامه نویسی خوب ،آنهایی هستند که رویکرد‌های شما برای حل مشکلات را مشخص کنند، پروسه حل مشکلات از طریق شما چگونه است و همچین میزان سازگاری شما چقدر است. همیشه ساختار‌های داده ای و لیست‌های پیوندی را در جیب خود به صورت آماده داشته باشید.

خوشبختانه، ابزار تحت وب زیادی برای تمرین ساختارهای داده‌ای و الگوریتم‌ها وجود دارند. در اینجا به معرفی بعضی از آنها می‌پردازیم:

  • مصاحبه های ساختگی بی ارزش هستند

نوشتن کد در IDE مورد علاقه تان و انجام تحقیق و مطالعه در کامیپوترتان یک تجربه است و نوشتن کد بر روی کاغذ توسط خودکار یا بر روی یک تخته با یک ماژیک بدون پشتیبانی گوگل یک تجربه دیگر.

اهمیت مصاحبه‌های ساختگی را دست کم نگیرید.یک مصاحبه ساختگی ایجاد کنید تا محیط یک مصاحبه واقعی را تا حد ممکن احساس کنید: بدون هیچ کامپیوتری، نه تلفنی و نه تبلتی، فقط یک صفحه کاغذ و یک خودکار و یک تایمر برای 30 تا 60 دقیقه.

با تمرین کردن از این طریق، مصاحبه‌های واقعی یک تجربه عجیب و نا آشنا برای شما ایجاد نخواهند کرد و همچنین از این طریق می‌توان از میزان نگرانی کاست و مطمئن شد که تمرکز شما به صورت صد در صد بر روی سوالات است.

برای ساخت مصاحبه‌های ساختگی برنامه نویسی، سرویس‌های انلاینی به صورت رایگان وجود دارند. آنها لزوما کامل نیستند، اما برای تمرین شخص به شخص میتواند بسیار موثر باشد.

سرویس  pramp برای تمرین تک به تک به صورت ویدیویی.

سرویس intewviewing.io برای تمیرین تک به تک به صورت صوتی.

  • آرام باشید، مراقب باشید، ورزش کنید

نکته آخر به صورت خاص برای برنامه نویسی یا حتی مختص به مصاحبه نیست، اما می‌تواند بیشترین تاثیر را داشته باشد. اعتماد به نفس زمانی خوب عمل می‌کند که شما یک ذهن پایدار و قدرتمند داشته باشید، در حالیکه یک ذهن فریبنده یا ناامن می‌تواند یک مانع جدی باشد.

 مهم تر از همه، مواظب سلامت جسمانی خود باشید. ما در اینجا هم در مورد رژیم غذایی و هم ورزش صحبت می‌کنیم. ما می‌دانیم که ممکن است سخت باشد تا برای رفتن به یک سالن ورزشی یا حتی یک دور دویدن دور محله وقت بگذارید، اما ورزش به وضوح برای ذهنتان مفید است.

اگر مسئله زمان برای شما واقعا یک مشکل به حساب می‌آید همیشه راه‌هایی برای ورزش کردن بدون رفتن به سالن ورزشی وجود دارند. برای این امر در خانه بمانید و کانال‌های تناسب اندام در یوتیوب را دنبال کنید یا در محل کار بر روی میز خود ورزش کنید.راه دیگر این است که از روش ورزش سه دقیقه‌ای جادویی برای بهتر کردن حالتان استفاده کنید. این روش می‌تواند برای اعتماد به نفس بسیار مفید باشد.

انجام مدیتیشن ذهنی می‌تواند برای شما خوب باشد. انجام مدیتیشن نیاز به هیچ نوع حالت روحانی یا مذهبی ندارد، هسته مدیتیشن این است که در لحظه حضور داشته باشید و در مورد افکار خود به صورت عمدی آگاه باشید. مدیتیشن می‌تواند شما را به برنامه نویسی بهتری تبدیل کند، بنابراین حتما آن را لحاظ کنید حتی صرف ده دقیقه در روز می‌تواند نتایج بزرگی برای شما به ارمغان داشته باشد.

نگران نباشید، شکست پایان راه نیست

حتی اگر شما همه چیز را خیلی خوب انجام دهید و بهترین مصاحبه را بگذرانید، با این حال ممکن است باز هم شغل مورد نظر را به دست نیاورید، در بسیاری از حالت ها چنین اتفاقی بیشتر یک نوع بیانیه از سمت وضعیت آن صنعت است تا ارزش شما به عنوان یک برنامه نویس. این روزها این مسئله که برای گرفتن یک شغل باید چندین مصاحبه را بگذرانید امری غیر رایج نیست، بنابراین سرتان را بالا بگیرید و به راهتان ادامه دهید، هر مصاحبه فرصتی برای یادگیری است که شما به زودی آن را در می‌یابید.

می‌توان گفت، ممکن است به این نکته پی‌ببرید که برنامه نویسی برای شما مناسب نیست که البته اشکالی هم ندارد، شغل های فراوان زیادی مرتبط با فناوری وجود دارند که می‌توانید با دنبال کردن آن‌ها به درجه بالایی از موفقیت دستیابید. به نظر شما بدترین قسمت آمادگی برای یک مصاحبه برنامه نویسی چیست؟ چیزی وجود دارد که شما واقعا از آن بترسید یا نگران باشید؟ نکته مفید دیگری درباره این موضوع می‌دانید که ارزش اشتراک گذاری داشته باشد؟ آن را در اینجا برای ما بنویسید!

amir saleh
1 نظر
  • سبحان
    پاسخ دادن
    نوشته شده در3:02 ب.ظ, 6 مهر 1397

    مطلب خوبی بود، ممنون

ارسال نظر

نظر
نام
ایمیل
وب سایت