چگونه برای مصاحبه‌ی شغلی فنی آماده شویم؟ (نسخه توسعه دهنده ها)

مصاحبه‌ رفتن کار آسونی نیست! شما توی یک جلسه‌ی چند ساعته، باید دانش فنی که در مدت (احتمالا) چند سال به دست آوردید رو به کسی که نمیشناسیدش ثابت کنید!من هم تجربه‌ی مصاحبه رفتن رو دارم، هم مصاحبه کردن رو. چیزی که طی سال‌هایی که کار می‌کردم بهش رسیدم، اینه که مصاحبه رفتن، یک مهارته! یعنی یک توسعه‌دهنده، علاوه بر مهارت فنی که باید با مطالعه و تمرین به دست بیاره، باید خود مصاحبه رفتن رو هم بلد باشه.قطعا مصاحبه کردن با یک نفر هم یک مهارته، که ان شاءالله توی یک پست جدا در موردش صحبت میکنم.به نظرم یک سری آمادگی‌هایی برای مصاحبه رفتن مورد نیازه که سه مرحله داره: قبل از مصاحبه، حین مصاحبه، بعد از مصاحبه.قبل از مصاحبه۱. مطالعه: شما برای مصاحبه‌ی شغلی، نیاز به مطالعه دارید. در یک مصاحبه‌ی شغلی، مهارت و دانش شما قراره محک زده بشه. مثل یک امتحان. شما هر چقدر هم دانش آموز خوبی باشید، برای امتحان مطالعه میکنید تا نکات براتون یادآوری بشه. برای مصاحبه هم همین کار رو باید بکنید. حالا، چی بخونیم؟ ۱.۱. الگوریتم و ساختمان داده. الگوریتم‌های مختلف رو بخونید و یادآوری کنید. ممکنه در مصاحبه از شما در مورد الگوریتم‌ها سوال بشه یا حتی ازتون خواسته بشه یک کد کوچیک بنویسید، یا مسئله‌ای مطرح بشه که شما با دانش الگوریتم باید حلش کنید. علاوه بر مرور خود الگوریتم‌ها، خوبه که یک سری مسائلی که با این الگوریتم‌ها حل می‌شن رو هم دوره کنید.‌ این مسائل رو میتونید توی سایت کوئرا، leetcode یا سایت های مشابه پیدا کنید . از این جا هم میتونید تعداد زیادی سوال الگورتیمی که در مصاحبه‌ها ممکنه پرسیده بشه رو با جواب پیدا کنید. حل کردن سوال‌های الگوریتمی ممکنه در ابتدا سخت به نظر بیاد، ولی واقعا چیزی بیشتر از یک مهارت نیست و با تمرین ، به دست میاد. الگوریتم‌هایی که زیاد پرسیده می‌شن، الگوریتم‌های ‌sorting و graph هستند که خوبه حتما دوره بکنیدشون. ۱.۲. ابزارها. مستندات ابزارهای که بلدید، و برای توسعه با اون‌ها دارید اقدام به مصاحبه می‌کنید رو یه نگاهی بندازید. احتمالا از ابزارها ( نرم افزارها، زبان‌های برنامه نویسی و ... ) از شما سوال خواهد شد. ۱.۳. سوالات مرتبط با موقعیت شغلی.سوالات مرتبط با موقعیت شغلی که براش اقدام می‌کنید رو پیدا کنید و یه تعدادی حل کنید. اینطوری، میتونید دانشتون رو هم کامل کنید و اگر مطلبی رو بلد نیستید، یاد بگیرید! به عنوان مثال، این جا می‌تونید سوالات مصاحبه در مورد ابزارها و زبان‌های مختلف، و این جا سوالات مصاحبه برای موقعیت مهندس devops رو ببینید. برای موقعیت شغلی توسعه دهنده، خوبه یک سری اصول مهندسی، مثل کد تمیز نوشتن و شی گرایی ( اگر با زبان شی گرا کار می‌کنید) و ... رو بلد باشید. ( این اصول رو احتمالا بلدید و رعایت می‌کنید، ولی خوبه که دوره کنید که به شکل طبقه‌بندی شده تری توی ذهنتون باشه. ) ۱.۴. دیزاین پترن‌ها. دیزاین پترن‌های معروف ، به خصوص ‌‌‌gang of four رو خوبه که بشناسید و موارد استفادشون رو بدونید. شنا کنید ولی غرق نشید! این لینک ها رو نگاه کنید، مطالعه و تمرین کنید و بهتر بشید، ولی برای مصاحبه نیاز نیست علامه‌ی دهر باشید! در حدی که کارتون راه بیفته نگاه کنید و مطالعه کنید. نیاز نیست که همه چیز رو بدونید و ازتون انتظار هم نمیره که همه چیز رو بدونید. در یک حد معقولی برای مطالعه زمان بگذارید. مطالعه رو با کاری که براش اقدام می‌کنید هماهنگ کنید و مطالعه‌ی مرتبط داشته باشید!۲. نوشتن رزومه‌ی خوب رزومه‌ای که برای یک شرکت ارسال می‌کنید، نشان دهنده‌ی میزان حرفه‌ای بودن شما و مهارت‌های شماست. برای شغل‌هایی که متقاضی زیادی دارند، تعداد زیادی رزومه ارسال می‌شه، پس کسی که داره رزومه‌ها رو بررسی می‌کنه، وقت زیادی بر هر رزومه نمی‌تونه بذاره. در بعضی موارد، حتی ممکنه رزومه‌ها توسط ماشین اول بررسی بشه. پس، رزومه‌ی شما باید مختصر و مفید و حرفه‌ای باشه. چطوری رزومه‌ی حرفه‌ای نوشتن، خودش یک بحث طولانیه که به نظرم توی این پست نمی‌گنجه، و مطلب در موردش زیاده و با یک سرچ ساده به دست میاد. علاوه بر خود محتوای رزومه، قالب رزومه هم خیلی مهمه. سعی کنید رزومه رو در قالب pdf ارسال کنید و حتما چک کنید که رزومتون اشکال نگارشی یا غلط املایی نداشته باشه.۳. مطالعه‌ی قانون کار. قانونی به اسم قانون کار وجود داره. توی این قانون، برای کارمند و کارفرما، حقوقی در نظر گرفته شده که هر دو موظف به رعایتش هستند. این قانون رو بخونید و بدونید که باید انتظار چه چیزی رو داشته باشید. چه چیزی جزو حقوق کارمنده و چه چیزی جزو مزایای محلیه که برای کار کردن انتخاب می‌کنید. خیلی از افراد& در ابتدای آغاز به کارشون، به خاطر مطلع نبودن از این قوانین، متضرر میشن. به همین دلیل، خوبه که از همین اول، از این قوانین مطلع باشید و بدونید که باید انتظار چه چیزی رو داشته باشید!۴. انتخاب شرکت محل کار. آگهی‌های شغلی مرتبط با زمینه‌ی کاریتون رو توی سایت‌های مختلف ببینید. بعضی از شرکت‌ها، در سایت‌های کاریابی آگهی میدن و بعضی‌ها هم آگهی‌ها رو توی سایت خودشون میذارن. پس اگر شرکتی مد نظرتون هست، سایت خود شرکت رو هم چک کنید. بعد، می‌تونید رزومتون رو از طرق سایت‌ها یا هر راهی که خود شرکت مشخص کرده براشون ارسال کنید. علاوه بر ارسال رزومه، یه راه دیگه هم برای رسوندن رزومتون به دست شرکت ها هست که بهش میگن ریفرال . به این معناست که شما کسی رو میشناسید که در شرکت کار می‌کنه، رزومتون رو به اون می‌دید و ازش می‌خواین که رزومتون رو به دست شرکت برسونه. این کار باعث می‌شه که رزومتون زودتر بررسی بشه و راه خوبی برای ارسال رزومست. ریفرال، به هیچ عنوان پارتی بازی نیست و فقط باعث می‌شه رزومتون زودتر بررسی بشه. شرکت‌ها معمولا کارمندانشون رو تشویق می‌کنند که از طریق ریفرال، افرادی رو معرفی کنن و حتی گاهی برای این کار ، جایزه برای کارمندان در نظر می‌گیرند، چون احتمال جذب نیروی خوب از طریق ریفرال بیشتره.در مورد شرکتی که آگهیش رو می‌بینید، خوبه که تحقیق کنید. شبکه‌های اجتماعی اون شرکت، سایتش و محصولاتش رو نگاه کنید، با فرهنگ شرکت آشنا بشید و ببینید که خوشتون میاد یا نه. همچنین، این آشنایی، باعث می‌شه بتونید سوالاتی که در مورد شرکت دارید رو در جلسه‌ی مصاحبه بپرسید.حین مصاحبهحضور به موقع حتما به موقع سر جلسه‌ی مصاحبه حاضر بشید! این کار، نشان دهنده‌ی حرفه‌ای بودن و جدیت شماست. اگر امکان داره دیر برسید، حتما با شرکت تماس بگیرید و اطلاع بدید. اگر به هر دلیلی از مصاحبه منصرف شدید، حتما اطلاع بدید.جواب کامل به سوال ها به سوالاتی که در جلسه ازتون پرسیده می‌شه جواب کامل بدید و توضیح بدید. اگر کلمه‌ی مخففی استفاده می‌شه که معنیش رو نمیدونید، بپرسید. اگر جواب دقیق سوال رو نمی‌دونید، یا قسمتی از سوال براتون واضح نیست، حتما بپرسید!کنترل استرس اگر در جلسه‌ی مصاحبه استرس داشتید، کنترلش کنید. مثلا می‌تونید به مصاحبه کننده بگید که استرس دارید که خودش یه راه کنترل و کاهش استرسه!پرسش کامل از مصاحبه کننده در مورد هر سوالی که دارید. در آخر جلسه‌ی مصاحبه، شما می‌تونید هر سوالی که دارید رو از مصاحبه کننده بپرسید. هر سوالی که داشتید، در مورد شرکت، ابزار کار، تیم، موقعیتی که براش اقدام کردید ، روال مصاحبه و زمانی که جواب مصاحبه بهتون اعلام می‌شه و ... رو می‌تونید از مصاحبه کننده بپرسید.بعد از مصاحبهمطالعه و یادگیری سوال‌هایی که جوابشون رو نمیدونستید.اگر سوالی رو در حین مصاحبه نتونستید جواب بدید، سرچ کنید و جوابش رو پیدا کنید. این کار باعث می‌شه شما برای مصاحبه‌های بعدی آماده تر باشید.پیگیری جواباگر مدت زمان معقولی گذشت، و شما جوابی از شرکت دریافت نکردید، می‌تونید با شرکت تماس بگیرید ( ایمیل یا تماس تلفنی ) و جواب مصاحبه رو پیگیری کنید. اگر قبول شده باشید که یا به لول بعدی مصاحبه میرید، یا بهتون آفر داده میشه و وارد روال قرارداد بستن و ... میشید. اگر رد شده باشید، معمولا دلیل رد شدن بهتون اعلام میشه. اگر دلیل رو بهتون اعلام نکردند، پیگیری کنید و دلیل رو بپرسید. اگر دلیل رو بهتون گفتن و دلیل ضعف دانش فنی بود یا به هر صورتی، قابل رفع شدن بود، پیگیری کنید و سعی کنید با مطالعه و تمرین، پیشرفت کنید. گاهی، دلیل رد شدن شما، ممکنه اصلا مربوط به خود شما نباشه . ممکنه اون پوزیشن توی شرکت پر شده باشه، یا به هر نحوی، نخوان نیرو بگیرن یا ... . پس کلا از رد شدن توی مصاحبه خیلی ناراحت نشید و برای جاهای دیگه رزومه بفرستید!به نظرتون برای آمادگی برای یک مصاحبه‌ی فنی، چه کارهای دیگه ای خوبه که انجام بشه؟ توی قسمت کامنت‌ها بنویسید!