تجربه یک برنامه نویس فرانت اند از مصاحبه کافه بازار

تجربه یک برنامه نویس فرانت اند از مصاحبه کافه بازارهفته پیش بود که خیلی اتفاقی آگهی استخدام برنامه نویس کافه بازار رو توی یکی از سایت های کاریابی دیدم. هر چند شاغل بودم و محل کارم رو فوق العاده دوست داشتم و ازش راضی بودم اما حس کردم شرکت توی مصاحبه کافه بازار میتونه محک خوبی برای شناخت خودم و سطح دانشم باشه. همچنین حس میکنم آدم با شرکت توی مصاحبه های شغلی مختلف میتونه طرز صحیح برخورد رو یاد بگیره و قطعا بعدا توی مصاحبه های بعدیش عملکرد بهتری داشته باشه.از طرف دیگه من همیشه به عنوان یک برنامه نویس ، کافه بازار رو تحسین کردم. همیشه کارهاشون رو زیر نظر داشتم و به نظرم اونها یکی از اصولی ترین و حرفه ای ترین تیم های برنامه نویسی در ایران رو دارن که هر برنامه نویسی آرزوی کار کردن توی چنین محیطی رو داره.خلاصه که یک رزومه دم دستی آماده کردم و خیلی مختصر و مفید توانایی هام رو توش نوشتم و براشون فرستادم. حدود 3 یا 4 روز بعد نزدیک های ظهر بود که باهام تماس گرفتند و گفتند دوشنبه هفته آینده باهام تماس میگیرند برای انجام مرحله اول مصاحبه بصورت تلفنی. ساعت 5 و نیم عصر رو برای زمان مصاحبه تعیین کرده بودند و دعوت نامه ش رو توی جیمیل برام ارسال کردند.روز موعود فرا رسید و من بعد از اتمام کارم سریع خودم رو به خونه رسوندم تا سر ساعت مشخص شده بتونم با آمادگی کامل باهاشون مصاحبه کنم.سر ساعت باهام تماس گرفتن و اولین مصاحبه تلفنی من با کافه بازار شروع شد. (از آن تایم بودن و خوش قولیشون خیلی خیلی خوشم اومد :) )مصاحبه کننده شخصی جوون و خوش برخورد به نظر میرسید و بعد از احوالپرسی بی مقدمه شروع کرد به پرسیدن سوالاتش . من اینجا لیست سوالاتی که ازم پرسیده شد رو بصورت دقیق میارم تا کساییکه مثل من برنامه نویس فرانت اند هستند و تمایل به شرکت توی مصاحبه شرکت های مختلف رو دارند با سبک سوالات آشنا بشند.1- در مورد کارهایی که تاحالا تو حوزه فرانت اند کردی بگو . آخرین کارت رو توضیح بده. توی شرکت فعلی که کار میکنی کدوم بخش ها رو تو انجام دادی؟ نحوه کار گروهیتون چجوری هست و ... ؟2- انواع Data Type ها رو در جاوااسکریپت نام ببر.3- به نظرت این Data Type ها دارای دسته بندی خاصی هستند؟ Primitives ها کدوما هستند و فرقشون چیه؟4- میتونی Arrow Function ها رو توی جاوااسکریپت توضیح بدی؟ تفاوتشون با regular functions چیه؟5- میتونی بگی this به چه چیزی اشاره داره ؟ توی فانکشن های معمولی و Arrow Function ها فرقش چیه؟6- تفاوت var ، let و const رو توضیح بده.7- میتونی بگی متد push در آرایه ها چه کاربردی داره؟8- اگر ما یک آرایه رو با const تعریف کرده باشیم و بعد از طریق push بهش عضو اضافه کنیم چه اتفاقی میفته؟9- میتونی توی css انواع پوزیشن ها رو نام ببری و تفاوتشون رو توضیح بدی؟ بعد از اونجایی که توی رزومه تجربه کاری با react و vuejs رو ذکر کرده بودم (تخصص اصلی خودم vue هست) سوالات تخصصی فریمورک شروع شد.9- میتونی Lifecycle رو در vue نام ببری و توضیح بدی؟10- کار متد computed چی هست ؟ در موردش توضیح بده.11- اگر بخوایم از طریق یک کامپوننت والد ، یک کامپوننت فرزند رو دیتاش رو آپدیت کنم چیکار میکنیم؟ و بلعکس؟12- برای ریکوئست هات از چه تکنولوژی هایی استفاده میکنی؟13- میدونی مزیت استفاده از Axios چی هست و چرا ازش استفاده میکنی؟ میدونی دیتا رو به چه شکلی برمیگردونه؟ تفاوتش با xhr جاوااسکریپت چی هست؟و ... (همینا رو یادم میاد :) )سوالات بیشتر تخصصی بودن و مشخص بود مصاحبه کننده درک بالایی از مبحث فرانت اند داره.با سوالات نه چندان پیچیده فقط سعی داشت ببینه درک شما از موضوع جاوااسکریپت چقدر هست.هر چند بعضی سوالات نیاز به یکسری حفظیات هم داشت.از اونجایی که شخصا تمایل به حفظ کردن هیچ چیزی رو ندارم توی بعضی سوالات یکم درمونده شدم ولی با توضیحاتم بهش فهموندم که من معمولا این موارد رو حفظ نمیکنم و به فراخور نیازم و با مراجعه به داکیومنتیشن ها مشکلات خودم رو رفع و رجوع میکنم.توصیه من به متقاضیان شرکت در مصاحبه فرانت اند (بویژه کافه بازار) :قبل از مصاحبه حتما یه دور کامل داکیومنتیشن جاوااسکریپت و فریمورک مدنظرتون (vue یا react یا ...) رو به دقت مطالعه کنید و نکاتی که حس میکنید ممکنه یادتون بره رو حتما یادداشت کنید و موقع مصاحبه دم دستتون بذارید تا با نگاه کردن بهش یادتون بیفته چی میخواین بگین.در کل به نظرم تجربه جالبی بود و بیش از پیش به اصولی و حرفه ای بودن تیم کافه بازار ایمان آوردم.امیدوارم که روزی فرصت همکاری با این تیم قدرتمند رو داشته باشم.موفق باشید ;)