چگونه خودتان را برای یک مصاحبه ی برنامه نویسی آماده کنید؟
1396/09/30 13:01 , شایان مسلمی

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

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

داشتن نگرانی امری طبیعی است.در حقیقت،من این را به عنوان یک نشانه ی خوب در نظر میگیرم:این حالت بدین معنی است که شما واقعاً میخواهید موفق شوید!

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

1)روزانه کمی مطالعه داشته باشید

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

سؤالات تمرینی روزانه نقطه ی خوبی برای آغاز است،اما در سایر جوانب مثل تحقیق درباره ی کمپانی ها و تکنولوژی هایی که باید درباره شان توضیحاتی را بدهید،عفلت نکنید.

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

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

تلاش نهایی این است که خودتان را از کار اضافه دور کنید،این میتواند خسته کننده باشد و بازدهی کار را پایین بیاورد.

2)بدانید که مصاحبه کننده چه میخواهد

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

با فهرست شغل ها شروع کنید.آیا سمت کاری مربوط به بخش توسعه ی بازی MMORPG است؟ در این صورت باید با ابزارها و فریم ورک های استفاده شده در آن بخش آشنایی داشته باشید.همین قضیه در مورد توسعه ی برنامه های موبایل ، نرم افزارهای کسب و کار،کنترل وب و هرچه که فکرش را بکنید،برقرار است.

اگر اطلاعات در دسترس هستند،شما باید درمورد تکنولوژی های مورد استفاده توسط خود کمپانی نیز تحقیق کنید.حتماً لازم نیست که یک خبره باشید اما باید اطلاعات کافی برای استفاده در مکالمه تان داشته باشید.

زبان ها و مفاهیم درستی از برنامه نویسی را مطالعه کنید.برخی از کمپانی ها بوسیله ی زبانی که شما راحتی بیشتری با آن دارید مصاحبه ی خود را انجام میدهند،اما سایر کمپانی ها برای تست میزان مهارتتان،زبان های دیگری مثل جاوا،C# ، پایتون و غیره را انتخاب میکنند.

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

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

بیشتر موضوعاتی که درمورد آن ها بحث میشود شامل:

  • نکات مهم درباره ی زبان های برنامه نویسی،مخصوصاً زبان های برنامه نویسی پویا،که اخیراً محبوبیت بیشتری پیدا کرده است.شناخت اصول OOP حیاتی است.
  • آرایه ها،لیست های لینک شده،Stackها،Queueها،heapها،جدول های Hash،درخت های Binary.
  • Big O Notation( پیچیدگی زمان و فضا)،Sorting،Searching،Recurison،Graph theory and Traversals، Divide and Conquer،Greedy Algorithms.
  • الگوهای مثل Singletons،کارخانه ها،ترکیب،Multiple Inheritance،پلی مورفیسم ،دکوراتورها.

و البته موضوعات خاص که بستگی به جایگاهی دارد که درخواست داده اید.

اگر برخی از این موضوعات شما را نگران میکند،دقیقاً باید در همان زمینه ها مطالعه ی بیشتری داشته باشید.نقاط ضعف خودتان را شناسایی کنید و سعی کنید تقویتشان کنید.این در دراز مدت کمک رسان شما خواهد بود چون اعتماد بنفس شما را می سازد.

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

  • Project Euler
  • leetCode
  • HackerRank
  • CodinGame
  • Topcoder
  • Code Wars
  • CodeChef
  • /r/DailyProgrammer برروی Reddit

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

4)مصاحبه های ساختگی گرانبها هستند

این که با کامپیوتر مطالعه بکنید و کدتان را روی IDE  مورد علاقه تان بنویسید یک چیز است و نوشتن کد با مداد روی کاغذ یا وایت برد با ماژیک یک چیز دیگر،البته بدون گوگل به عنوان بک آپ.

اهمیت مصاحبه های تمرینی را دست کم نگیرید.آن ها را به منظور شبیه سازی محیط مصاحبه انجام بدهید:بدون کامپیوتر،بدون گوشی یا تبلت،یک ورق کاغذ،یک مداد و یک تایمر برای 30 تا 60 دقیقه.

با تمرین کردن به این روش،مصاحبه ی واقعی حس عجیب و غریبی برای شما پدید نمی آورد و تأثیر بزرگی روی کاهش نگرانی و بهبود تمرکز  شما دارد.

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

  • Pramp( رو در رو،ویدیویی)
  • Interviewing.io(رو در رو،صوتی)

5)تمرین کنید،فکر کنید،ریلکس کنید

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

مهم تر از همه،از سلامت فیزیکی خود اطمینان حاصل کنید.من درمورد رژیم غذایی و تمرین کردن،باهم صحبت میکنم.من می دانم که رفتن به باشگاه یا حتی دویدن در کوچه ی پشتی تان میتواند سخت باشد،اما این تمرینات برای ذهنتان مفید هستند.

اگر زمان واقعاً یک مشکل باشد،میتوانید راه هایی برای تمرین کردن بدون رفتن به باشگاه پیدا کنید.کانال های یوتیوب را دنبال کنید تا با این تمرینات آشنا بشوید.

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

تحقیقات نشان داده است که داشتن آرامش فکری میتواند از شما برنامه نویس بهتری بسازد،پس به این قضیه فکر کنید.حتی 10 دقیقه در روز میتواند نتایج بزرگی را رقم بزند.

و در نهایت،مطمئن شوید که  خواب مناسبی دارید.نه فقط شب قبل از مصاحبه،بلکه در تمام مراحل آماده سازی.استفاده از اپ هایی مثل Flux و Night Shift به همراه تکنیک های اصولی برای ریلکس کردن میتواند کارساز باشد.

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

حتی اگر همه چیز را به صورت عالی انجام دادید ،ممکن است که کار را بدست نیاورید.در موارد بسیاری،برنامه نویس بودن بیشتر از یک عبارت است.

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

گاهی گفته میشود که برنامه نویسی مناسب شما نیست،این هم مشکلی ندارد.مشاغل مربوطه ی دیگری نیز وجود دارند که میتوانید در آن ها موفقیت خود را بیابید.

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

 

منبع : MakeUseOf

 

 

 

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات