• صفحه اصلی
  • مهارت‌ها
  • پروژه‌ها
  • بلاگ
  • مشاوره
  • تماس با من
مشاورهرزومه
Naser Rasouli

نویسنده

Naser Rasouli

توسعه‌دهنده فرانت‌اند؛ اینجا تجربه‌ها و یادداشت‌های واقعی‌ام از پروژه‌ها را می‌نویسم.

GitHubLinkedIn

آخرین نوشته‌ها

متدولوژی BEM در CSS: نام‌گذاری استاندارد برای کدهای تمیز
2026-02-18•1 دقیقه مطالعه

متدولوژی BEM در CSS: نام‌گذاری استاندارد برای کدهای تمیز

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

بررسی نحوه به‌روزرسانی state در React
2026-02-11•1 دقیقه مطالعه

بررسی نحوه به‌روزرسانی state در React

setState بلافاصله state را عوض نمی‌کند؛ همین باعث می‌شود console.log مقدار قبلی را لاگ کند. این راهنما توضیح می‌دهد چرا و چطور مقدار جدید را درست دریافت کنیم.

تابع Cleanup در useEffect: از باگ‌های پنهان تا الگوهای درست
2026-02-04•1 دقیقه مطالعه

تابع Cleanup در useEffect: از باگ‌های پنهان تا الگوهای درست

راهنمای عملی نوشتن cleanup در useEffect تا از memory leak، لیسنرهای تکراری و setState روی کامپوننت unmounted جلوگیری کنید.

مسیر مصاحبه فرانت‌اند: مراحل، انتظارها و آماده‌سازی

مسیر مصاحبه فرانت‌اند: مراحل، انتظارها و آماده‌سازی

2026-01-17
frontendinterviewjavascripthtmlcss

مصاحبه فرانت‌اند دنبال چیست؟

هدف مصاحبه‌کننده دیدن «توان ساخت رابط کاربری قابل اعتماد» است، نه تعداد فریم‌ورک‌هایی که بلدید. به همین خاطر ترکیبی از موارد زیر را می‌سنجد:

  • فهم پایهٔ وب و مرورگر
  • مهارت حل مسئله و تحلیل
  • انتخاب‌های فنی و منطق پشت آن‌ها
  • نوشتن کدی که تیم بتواند نگه دارد

فلوی معمول مصاحبه فرانت‌اند

ساختارها ممکن است کمی جابه‌جا شوند، اما اغلب مسیر شبیه این است:

  1. بررسی اولیه (Screening)
    مرور رزومه، سابقه، پروژه‌ها، مسیر یادگیری.

  2. سؤالات مفهومی وب
    چرخه Request/Response، نقش مرورگر، تفاوت کلاینت/سرور، HTTP و API.

  3. سرفصل‌های تخصصی فرانت‌اند (تیتر‌وار و تحلیلی)

    • HTML: Semantic HTML، دسترسی‌پذیری، متادیتا، SEO پایه
    • CSS: Layout با Flex/Grid، ریسپانسیو، مدیریت استایل، مفاهیم UI/UX پایه
    • JavaScript: Scope و Closure، Async/Await، Event Loop، مدیریت داده و DOM
    • فریم‌ورک‌ها: معماری کامپوننتی، State Management، Routing، Performance
  4. تسک یا چالش فنی
    تحلیل یک مسئله، پیاده‌سازی یک تسک کوچک، یا بازبینی/اصلاح کد.

  5. تجربه و تصمیم‌گیری
    چرا این راه‌حل؟ اگر زمان بیشتری داشتی چه می‌کردی؟ اگر مقیاس بزرگ شد چه تغییری می‌دهی؟

  6. همکاری و طرز فکر
    توضیح‌دادن، ارتباط تیمی، پذیرش بازخورد و مسئولیت‌پذیری (به‌ویژه برای Mid/Senior).


مصاحبه‌گر چه سیگنال‌هایی می‌گیرد؟

  • آیا باگ‌های عجیب شما را می‌ترساند یا می‌توانید ریشه را پیدا کنید؟
  • آیا تصمیم‌هایتان را با منطق توضیح می‌دهید یا به الگوهای تقلیدی تکیه می‌کنید؟
  • آیا کد شما قابل‌نگهداری و خواناست یا صرفاً «کار می‌کند»؟
  • آیا درک شما از وب و مرورگر فراتر از استفاده از فریم‌ورک است؟

چطور آماده شویم؟

  • پایه را محکم کنید: HTTP، کشینگ، CORS، امنیت پایه، DOM، Event Loop.
  • پروژه‌های کوچک ولی واقعی بسازید و دربارهٔ تصمیم‌هایتان مستند کنید.
  • تمرین دیباگ: خطاهای Async/Promise، Memory Leakهای ساده، Layout شکسته.
  • یک الگوی توضیح پاسخ بسازید: مسئله → گزینه‌ها → دلیل انتخاب → اگر زمان/منابع بیشتر بود.
  • برای تسک‌ها وقت‌بندی و ساده‌سازی کنید: MVP اول، بعد بهبود.

جمع‌بندی و ادامه مسیر

مصاحبه فرانت‌اند صرفاً حفظ سؤال و جواب نیست؛ نمایش طرز فکر، فهم وب و همکاری است. در ادامهٔ این سری، به سؤالات تخصصی هر بخش (وب، HTML/CSS، JavaScript، فریم‌ورک و تسک‌های عملی) به‌صورت تحلیلی می‌پردازیم تا بدانید هر سؤال دقیقاً چه چیزی را می‌سنجد و چطور باید پاسخ دهید.