سلام دوست عزیز😃👋
به آزمون ورودی کارآموزی تابستانه Front-End کداستار خوش آمدید!
مسابقه به مدت ۵ ساعت ادامه خواهد داشت و در مجموع شامل ۷ سوال است که سطح آنها از آسان به سخت متفاوت خواهد بود. برای حل سوالات باید به HTML، CSS و JavaScript مسلط باشید به طوری که ۴ سوال اول مربوط به HTML و CSS هستند و ۳ سوال آخر مربوط به JavaScript میباشند.
برای حل سوالات JavaScript نیازی به تسلط بر روی Frameworkهایی مانند React و Angular نیست و صرفا دانش JavaScript پایه کافی میباشد.
سوالات به گونهای تنظیم شدهاند که با توجه به دانشی که دارید بتوانید بخشی از نمرۀ سوال را بگیرید. به عنوان مثال اگر نتوانید سوال ۳ را به طور کامل حل کنید، این امکان وجود دارد که بتوانید بخشی از سوال ۴ را حل کنید؛ بنابراین حتما به تمام سوالات مراجعه کنید.
رتبهبندی بر اساس مجموع امتیازاتی که از سوالات کسب میکنید صورت میگیرد؛ همچنین در صورتی که امتیاز دو نفر یکسان شود، کسی که سوالات را در مدتزمان کمتری حل کرده باشد، رتبۀ بهتری کسب میکند.
در صورتی که درمورد سوالی ابهام داشتید، میتوانید از قسمت «سوال بپرسید» آن را مطرح کنید.
برای کسب اطلاعات بیشتر به لینکهای زیر مراجعه کنید:
+ [آموزش کار با Quera](https://quera.org/course/assignments/2693/problems/8772)
+ [سایت کداستار](https://code-star.ir/)
+ [کانال تلگرام کداستار](https://t.me/code_star)
موفق باشید 😉✌
سلام دوست عزیز😃👋
به آزمون ورودی کارآموزی تابستانه Front-End کداستار خوش آمدید!
مسابقه به مدت ۵ ساعت ادامه خواهد داشت و در مجموع شامل ۷ سوال است که سطح آنها از آسان به سخت متفاوت خواهد بود. برای حل سوالات باید به HTML، CSS و JavaScript مسلط باشید به طوری که ۴ سوال اول مربوط به HTML و CSS هستند و ۳ سوال آخر مربوط به JavaScript میباشند.
برای حل سوالات JavaScript نیازی به تسلط بر روی Frameworkهایی مانند React و Angular نیست و صرفا دانش JavaScript پایه کافی میباشد.
سوالات به گونهای تنظیم شدهاند که با توجه به دانشی که دارید بتوانید بخشی از نمرۀ سوال را بگیرید. به عنوان مثال اگر نتوانید سوال ۳ را به طور کامل حل کنید، این امکان وجود دارد که بتوانید بخشی از سوال ۴ را حل کنید؛ بنابراین حتما به تمام سوالات مراجعه کنید.
رتبهبندی بر اساس مجموع امتیازاتی که از سوالات کسب میکنید صورت میگیرد؛ همچنین در صورتی که امتیاز دو نفر یکسان شود، کسی که سوالات را در مدتزمان کمتری حل کرده باشد، رتبۀ بهتری کسب میکند.
در صورتی که درمورد سوالی ابهام داشتید، میتوانید از قسمت «سوال بپرسید» آن را مطرح کنید.
برای کسب اطلاعات بیشتر به لینکهای زیر مراجعه کنید:
موفق باشید 😉✌
**JavaScript**
- DOM Manipulation
- Event Handling
- Array Methods (forEach, filter, map, ...)
- Async/Await
- Promise
- Fetch API
- Storage Management (cookie, localStorage, ...)
---
شرکت Mockstar به تازگی با توجه به آمارهایی که از بازیکنان جمعآوری کرده،
متوجه شده است که در طی چند ماه گذشته، تعداد بازیکنان ایرانی روبهرشد بوده و بهشدت زیاد شده است؛
بنابراین تصمیم گرفته است تا از زبان فارسی در محصولات خود پشتیبانی کند.
حال از پمبه خواسته شده است تا این کار را برای سایت معرفی بازیها انجام دهد.
این نکته را در نظر بگیرید که زمانی که کاربر دوباره وارد صفحه میشود،
باید زبان سایت و بازیای که آخرین بار مشاهده کرده، بارگذاری شود.
مدیر پمبه از او خواسته است که در کد خود فقط از `localStorage` برای ذخیرهسازی اطلاعات کاربران استفاده کند.
## توضیحات سوال
<details class="green">
<summary>تصویر خروجی نمونه</summary>

</details>
میتوانید برای بررسی دقیقتر نتیجۀ نهایی،
[این فیلم](https://codestar.s3.ir-thr-at1.arvanstorage.com/challenge-07.mp4)
را مشاهده کنید.
## پروژه اولیه
پروژه اولیه را از [این لینک](https://quera.ir/contest/assignments/41564/download_problem_initial_project/139932) دانلود کنید.
<details class="blue">
<summary>ساختار فایلها</summary>
```
initial-project-05.zip
├── data
│ └── games.json
├── fonts
│ ├── shabnam.woff
│ └── shabnam-bold.woff
├── icons
│ └── languages.svg
├── images
│ ├── dota2.jpg
│ ├── god-of-war.jpg
│ ├── horizon.jpg
│ └── rdr2.jpg
├── languages
│ ├── en.json
│ └── fa.json
├── dynamic.js
├── index.html
└── static.css
```
</details>
<details class="pink">
<summary>راهاندازی پروژه</summary>
+ ابتدا پروژۀ اولیه را دانلود و از حالت فشرده خارج کنید.
+ سپس فایل `index.html` را در مرورگر خود باز کنید.
</details>
## خواستههای مسئله
- استفاده از اطلاعات فایل `data/games.json` برای تغییر نام و عکس بازیها
- استفاده از اطلاعات فایل `data/games.json` برای تغییر رنگ دکمۀ موجود در `nav`
- استفاده از اطلاعات فایلهای موجود در پوشۀ `languages` برای تغییر زبان سایت
- افزودن صفات `lang`و `dir` به المان `html`، متناسب با زبان سایت
- مشخصکردن شمارۀ بازی فعلی با استفاده از کلاس `active`
## نکات
- شما تنها مجاز به تغییر در فایل `dynamic.js` هستید. تغییرات در باقی فایلها نادیده گرفته میشود.
- توجه کنید که داوری خودکار بر مبنای ساختار فایل `index.html` انجام میشود.
- برای ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید.
```
[your-zip-file-name].zip
└── dynamic.js
```
Internationalization
JavaScript
- DOM Manipulation
- Event Handling
- Array Methods (forEach, filter, map, ...)
- Async/Await
- Promise
- Fetch API
- Storage Management (cookie, localStorage, ...)
شرکت Mockstar به تازگی با توجه به آمارهایی که از بازیکنان جمعآوری کرده،
متوجه شده است که در طی چند ماه گذشته، تعداد بازیکنان ایرانی روبهرشد بوده و بهشدت زیاد شده است؛
بنابراین تصمیم گرفته است تا از زبان فارسی در محصولات خود پشتیبانی کند.
حال از پمبه خواسته شده است تا این کار را برای سایت معرفی بازیها انجام دهد.
این نکته را در نظر بگیرید که زمانی که کاربر دوباره وارد صفحه میشود،
باید زبان سایت و بازیای که آخرین بار مشاهده کرده، بارگذاری شود.
مدیر پمبه از او خواسته است که در کد خود فقط از localStorage
برای ذخیرهسازی اطلاعات کاربران استفاده کند.
توضیحات سوال🔗
تصویر خروجی نمونه

میتوانید برای بررسی دقیقتر نتیجۀ نهایی،
این فیلم
را مشاهده کنید.
پروژه اولیه🔗
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلها
راهاندازی پروژه
- ابتدا پروژۀ اولیه را دانلود و از حالت فشرده خارج کنید.
- سپس فایل
index.html
را در مرورگر خود باز کنید.
خواستههای مسئله🔗
- استفاده از اطلاعات فایل
data/games.json
برای تغییر نام و عکس بازیها
- استفاده از اطلاعات فایل
data/games.json
برای تغییر رنگ دکمۀ موجود در nav
- استفاده از اطلاعات فایلهای موجود در پوشۀ
languages
برای تغییر زبان سایت
- افزودن صفات
lang
و dir
به المان html
، متناسب با زبان سایت
- مشخصکردن شمارۀ بازی فعلی با استفاده از کلاس
active
نکات🔗
- شما تنها مجاز به تغییر در فایل
dynamic.js
هستید. تغییرات در باقی فایلها نادیده گرفته میشود.
- توجه کنید که داوری خودکار بر مبنای ساختار فایل
index.html
انجام میشود.
- برای ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.