برای شروع، بیایید با چند سوال کلی آغاز کنیم:
بعد از اینکه به این سوالات پاسخ دادید، میتوانیم به سوالات تخصصیتر در مورد HTML، CSS، جاوا اسکریپت، فریمورکها و کتابخانههای مختلف بپردازیم.
پاسخ نمونه سوالات ابتدایی مصاحبه فنی بالا
1-من سیداحمد هستم و سایت های بسیاری را به صورت دور کاری و پروژه ای و فریلنسری با استفاده از کتابخانه جاوا اسکریپت یعنی ریاکت (درهنگام پاسخ به این سوال گفته بودم تیلویند، اما مصاحبه گر با درک تحت استرس بودن و احتمال پیش گفتن انچه در ذهن دارم اعتراض نکرد) توسعه دادم. همچنین برخی وب سایت های پیچیده تر را با استفاده از نکست جی اس توسعه داده ام.
2-من به زبان جاوا اسکریپت و تایپ اسکریپت مسلط هستم. همچنین به کتابخانه ری اکت و نکست جی اس و کتابخانه تیلویند سی اس اس نیز مسلط هستم. من با بوت استرپ و شادسی ان (ui.shadcn.com) نیز کار کرده ام.
3-گاهی با ظهور تکنولوژی های جدید یا تغییرات بزرگ نسخه های جدیدنیازمند تغییر کد یا یادگیری روشهای جدید استفاده از کتابخانه و توسعه ان بوده ام مثل استفاده از نکست جی اس و همچنین استفاده از کتابخانه ری اکت پس از ظهور کامپوننتهای فانکشنی و هوک های ری اکت
4-مقاله های جدید در حوزه تکنولوژی را مطالعه کند تا به روز باشد و از تغییرات نسخه های جدید زبانهای برنامه نویسی مربوطه و فریم ورک ها و کتابخانه ها مطلع بماند وبا اموزش دیدن خود را به روز نگه دارد و استفاده از ابزارهای جدید در حوزه فرانت اند را بیاموزد
عالی! بیایید مصاحبه را ادامه دهیم
پاسخهای شما بسیار خوب و جامع است. به نظر میرسد تجربه خوبی در توسعه فرانتاند با استفاده از تکنولوژیهای مدرن دارید.
حالا بیایید کمی عمیقتر شویم.
این سوالات به من کمک میکنند تا درک بهتری از مهارتهای شما و نحوه تفکر شما در مورد مسائل مختلف توسعه فرانتاند داشته باشم.
لطفا به این سوالات با جزئیات و مثالهای عملی پاسخ دهید.
همچنین، اگر سوالی در مورد این سوالات دارید، حتما بپرسید.
اکنون به پاسخ سوالات بالا میپردازیم:
من تیلویند را بنا به نیاز بازار و همچنین ارائه پیشفرض ان در نکست جی اس پیش گرفته ام. همچنین سادگی نوشتن کدهای تیلویند و تغییرات مورد نظر که به سرعت اعمال میشود و هنگام تغییرکدها به سادگی متوجه تغییرات لازم میشوم انتخاب کردم
قبلا در استفاده از ری اکت به همراه تیلویند و فایلهای کانفیگ در هنگامی که تیلویند را به صورت جداگانه روی پروژه میخواستم نصب کنم به مشکل برخوردم و با استفاده از داکیومنتها و جستجو در گوگل مشکل را برطرف کردم
پاسخ سوال سوم: در حال حاضر از جاوا اسکریپت برای برخی انیمیشنهای پیچیده و تعاملی استفاده میشود فکر میکنم سی اس اس این روند را آسان سازی کند و بر عهده بگیرد
اساس کامپوننتهای نکست جی اس ، سرور محور است. در پروژه های بزرگ که علاوه بر بزرگ بودن پروژه و ساختار پروژه، سرعت بارگذاری مهم است، استفاده از نکست جی اس موجب میشود، این مهم قابل دستیابی باشد. از انجایی که من ری اکت بلد بودم ، انتخاب بعدی من برای پروژه های بزرگتر نکست جی اس است
یک اپلیکیشن ری اکت به صورت پیشفرض CSR است یعنی در سمت مشتری رندر میشود اما یک اپلیکیشن نکست جی اس به صورت پیشفرض SSR است یعنی در سمت سرور رندر میشود و اطلاعات در قالب HTML به سمت مشتری فرستاده میشود
استفاده از کامپوننتهای مجزا و سمت مشتری بنا بر نیاز موجب میشود کامپوننتهایی که نیاز به تعامل در سمت کاربر دارند از بقیه کدها جدا شوند و نیاز ی به تبدیل کامپوننت های بزرگ و پیچیده به کامپوننتهای سمت مشتری نداریم. فقط کافیست قسمتهایی مثل سبد خرید را به صورت یک کامپوننت جداگانه سمت مشتری تعریف کرد و سپس در کامپوننت مادر استفاده کرد.
سعی میکنم علاوه بر تمرین زبان جاوا اسکریپت و حفظ تسلط بر تایپ اسکریپت، تغییرات نسخه جدید را دنبال کنم و گاهی به کتابخانه ها و فریمورکهای جاوا اسکریپتی دیگر سرک بکشم. وبلاگ های دامنه دات دو و مدیوم را دنبال میکنم و میخوانم. درباره ایده هایی که درباره تبدیل شدن ری اکت به php از نظر ساختار صحبت میکنند مطالعه میکنم
معمولا من از دوره های آموزشی موجود در یوتیوب بنا بر تاریخ تولید استفاده میکنم. از داکیومنتها استفاده میکنم. اموزشهای کوتاه و مرتبط با کار خودم در لینکدین را مطالعه میکنم. از وب کست پادکستهای حوزه فرانت را دبنال میکنم. مثلا پادکست مربوط به تیم فرانت اند در دیجی کالا را به دقت گوش میدهم
هنگام روبرو شدن با مشکل پیچیده سعی در شناخت پیچیدگی ها و تقسیم کارهای بزرگ به کوچک و حل مشکلات کوچک میکنم تا مساله در صورتی که دارای ابهام است برایم روشن شود و سپس به حل تمام قسمتها یا قسمت پیچیده بزرگتر میپردازم
یک پوشه کامپوننتها ایجاد میکنم. در این پوشه قسمت مشترک یا پدر کامپوننت را که ایجاد میکنم و کامپوننتهای دیگر را که ممکن است در قسمتهای مختلف قابل استفاده باشند جداگانه ایجاد میکنم و در کامپوننت پدر و کامپوننتهای دیگر ایمپورت میکنم. مثلا کامپوننت دکمه ، کامپوننت هدر ، کامپوننت سایدبار، کامپوننت منوی همبرگری در موبایل
پایان پاسخ سوالات و انالیز پاسخ ها
نکات مثبت در پاسخهای شما:
استفاده از این نکات برای بهبود پاسخگویی شما در جلسه مصاحبه فنی مفید است:
مثالهایی از سوالات تخصصیتر: