سلام دوستان! وقتی مشغول مصاحبه با شرکتها برای شغل جدیدم بودم، لیستی از سوالات و نکتههایی که فکر میکردم مهم هستن و ممکنه مستقیم یا غیر مستقیم توی مصاحبهها پرسیده بشه رو جایی ذخیره میکردم و قبل از هر مصاحبهای اونها رو مرور میکردم. حالا قصد دارم همهٔ اون سوالات رو با توضیحات اختصاصی برای شما هم به اشتراک بذارم. امیدوارم استفاده کنین، توی کارِتون پیشرفت کنین و توی بهترین جاها فعالیت کنین.
قبل از شروع میخوام یادی کنیم از عزیز. امیدوارم روحش شاد و در آرامش باشه ✨💚
توی این مجموعه بیشتر از ۸۰ سوال رو توی پستهای مجزای ۱۰ سوالی بررسی میکنیم. مثل مجموعهٔ ۷۰ سوال مصاحبهٔ جاوااسکریپت. سوالهایی که قراره بررسی کنیم:
۱. چه تکنیکهایی برای بهینهسازی یک برنامهٔ فرانتاند میشناسین؟
۲. فایل package-lock.json توی پروژههای فرانتاندی چیه و چه کاربردی داره؟
۳. چطوری میتونیم یک برنامهٔ فرانتاندی Maintainable داشته باشیم؟
۴. کاربرد Generic ها توی تایپاسکرپیت چیه؟
۵. اتریبیوت tabindex توی HTML چیه؟
۶. آیا جاوااسکریپت یک زبان Parallel هست یا Concurrent؟
۷. چه زمانی از Tuple توی تایپاسکریپت استفاده نکنیم؟
۸. توی تایپاسکریپت کلمهکلیدی declare چکار میکنه؟
۹. چند تا از تایپهای پرکاربرد تایپاسکریپت رو نام ببرین
۱۰. دستور Git زیر چکار میکنه؟
۱۱. منظور از Mobile-first Strategy چیه؟
۱۲. Garbage Collection توی جاوااسکریپت چیه؟
۱۳. متدهای HEAD و OPTION چه تفاوتهایی با هم دارن؟
۱۴. چند تا از Best Practice های تستنویسی رو میشناسین؟
۱۵. دستور git cherry-pick چکار میکنه؟
۱۶. هدف از User Agent توی مرورگرها چیه؟
۱۷. Node و Element توی DOM چه تفاوتهایی با هم دارن؟
۱۸. توی جاوااسکریپت Syntax Error و Type Error چه تفاوتهایی با هم دارن؟
۱۹. DNS چیه؟
۲۰. چرا از Shallow Rendering توی تستنویسی استفاده کنیم؟
۲۱. هنگام باندل کردن برنامه چه چیزهایی مانع Tree-Shaking میشه؟
۲۲. برنامهنویسی Functional چه مزایایی داره؟
۲۳. چه زمانی اتـریبـیوت aria-label توی HTML استفاده کنیم؟
۲۴. چه زمانی از تگ picture توی HTML استفاده کنیم؟
۲۵. دستور git tag چکار میکنه؟
۲۶. دستور git pull و git fetch چه فرقی با هم دارن؟
۲۷. توی مرورگر رویدادهای load و DOMContentLoaded چه فرقی با هم دارن؟
۲۸. چند تا از Best Practice های Accessibility رو میشناسین؟
۲۹. فایل d.ts تو پروژههای تایپاسکریپتی چیه؟
۳۰. منظور از Stateless بودن REST چیه؟
۳۱. Snapshot Test چیه و چه مزایا و معایبی داره؟
۳۲. توی جاوااسکریپت Same-origin policy چیه؟
۳۳. توی جاوااسکریپت Map و WeakMap چه فرقی با هم دارن؟
۳۴. تکنیک Currying رو توی جاوااسکریپت پیادهسازی کنین
۳۵. چند اصل دنیای نرمافزار رو میشناسید؟
۳۶. منظور از درخواستهای Idempotent توی درخواستهای HTTP چیه؟
۳۷. توی یک صفحه وب برای دانلود ریسورسها چه زمانی از preload و چه زمانی از prefetch استفاده کنیم؟
۳۸. منظور از Box Model توی CSS چیه؟
۳۹. منظور از <!DOCTYPE html> توی صفحههای HTML چیه؟
۴۰. هدف از اتریـبـیوتهای data-* توی HTML چی هست؟
۴۱. Type و Interface توی تایپاسکریپت چه تفاوتهایی با هم دارن؟
۴۲. درباره Core Web Vitals چی میدونید؟
۴۳. کاربرد Event Delegation توی جاوااسکریپت چیه؟
۴۴. CORS چیه؟
۴۵. توی تایپاسکریپت عبارت keyof typeof [value] رو توضیح بدید
۴۶. توی CSS واحدهای rem و em چه فرقی با هم دارن؟
۴۷. دستور git stash چه کار میکنه؟
۴۸. کلمهکلیدی infer توی تایپاسکریپت چه کار میکنه؟
۴۹. چرا میگیم ماژولهای جاوااسکریپت Singleton هستن؟
۵۰. منظور از Progrssive Enhancement توی توسعهٔ برنامههای فرانتاند چیه؟
۵۱. Call Stack توی جاوااسکریپت چیه؟
۵۲. منظور از Narrowing توی تایپاسکریپت چیه؟
۵۳. چه زمانی استفاده از WebSocket مناسب نیست؟
۵۴. درباره پراپرتی Position توی CSS چه چیزهایی میدونین؟
۵۵. چطوری المنتی داشته باشیم که با تغییر border و padding اون طول و عرض اون ثابت بمونه؟
۵۶. از پروتوتایپ توی جاوااسکریپت چی میدونید؟
۵۷. Authorization و Authentication چه فرقی با هم دارن؟
۵۸. منظور از عملیات Non-Blocking I/O توی جاوااسکریپت چیه؟
۵۹. Virtual DOM چیه؟
۶۰. منظور از Pseudo-elements و Pseudo-classes توی CSS چیه؟
۶۱. المنت Template توی HTML برای چه کاری هست؟
۶۲. منظور از HOF توی جاوااسکریپت چیه و چه مزایایی داره؟
۶۳. URL و URI چه فرقی با هم دارن؟
۶۴. توی CSS چه زمانی Grid رو به Flexbox ترجیح بدیم؟
۶۵. از TDZ توی جاوااسکریپت چی میدونید؟
۶۶. چرا پیشنهاد میشه از حلقهٔ for...in جاوااسکریپت استفاده نکنیم؟
۶۷. چه زمانی از تگ section توی HTML استفاده نکنیم؟
۶۸. از Web Components چی میدونید؟
۶۹. توی CSS منظور از Specificity چیه و چه قوانینی داره؟
۷۰. چه زمانی از اتریبیوتهای defer و async روی تگ script استفاده کنیم؟
۷۱. از gzip چی میدونید؟
۷۲. منظور از Transitive Dependency توی فایل package.json چیه؟
۷۳. چه چالشهایی برای یک توسعهدهندهٔ سینیور وجود داره؟
۷۴. منظور و هدف از Semantic HTML چیه؟
۷۵. توی تایپاسکریپت تایپهای void و never چه فرقی باهم دارن؟
۷۶. چه زمانی از State management توی برنامهها استفاده کنیم؟
۷۷. چه تکنیکهایی برای نمایش بهینهٔ تصاویر توی صفحهٔ وب میشناسید؟
۷۸. Debounce و Throttle چه فرقی با هم دارن؟
۷۹. چرا پیشنهاد میشه از await توی حلقهها استفاده نکنیم؟
۸۰. چرا اجرای این کد هیچوقت به پایان نمیرسه؟
ویرایش: همهٔ سوالات قرار گرفتن 👋
