Certified Android Developer by Google
تجربه شرکت در مسابقه برنامه نویسی گوگل Google Code Jam 2017 و دعوت به شرکت در Google Code Jam 2018
اگه چالش برنامه نویس بودن رو دوس دارین؟ و میخواین با حل الگوریتم حسش کنین؟ اگه میخواین خودتون رو محک بزنین و مسئله و الگوریتم هایی رو در فضای رقابتی با هزاران نفر از سراسر دنیا بصورت آنلاین حل کنین و از اینکه تونستین یه الگوریتم با زمان اجرای بهینه برای مسئله ای که توسط کارشناسان گوگل نوشته شده رو حل کنین و امتیاز بگیرین؟ حتی شاید بتونین جایزه برنده بشین و استخدام گوگل هم بشین! :)))
بهتون توصیه می کنم در این مسابقه برنامه نویسی شرکت کنین :)
من خودم برحسب علاقه م سال قبل 2017 در این مسابقه ثبت نام کردم (البته قبل از اون هم سابقه شرکت در مسابقه برنامه نویسی اندروید گوگل، و همچنین شرکت در مسابقه برنامه نویسی شرکت اپل رو هم داشتم : بزودی شاید راجبشون بنویسم البته داخل کانال تلگرامم گذاشتم
https://t.me/Hamed_jaliliani<br/>ولی متاسفانه با توجه به مشکلی که برامون پیش اومد(تصادف) بیشتر وقت رو از دست دادم و تازه با ایمیل گوگل فهمیدم اون روز مسابقه در حال برگزاری هست!
حالا با وقتی هم که داشتم تونستم یه بخش از یه مسئله رو حل کنم و امتیازش رو بگیرم که همونم برام جالب بود ( 5 امتیاز) در ادامه توضیحات در خصوص مسابقه و تجربیات خودم رو به اشتراک میزارم.
توضیحات مسابقه:
1- برای ثبت نام در مسابقه میتونید به لینک زیر برید https://code.google.com/codejam/
2-شرکت در مسابقه برای ایرانی ها هم امکان پذیره و اگه جایی دیدن که صفحه عدم دسترسی میاره از قندشکن استفاده کنین
3-هزینه نداره و رایگان هست
4-تمام مراحل مسابقه بصورت آنلاین هست بجز مرحله آخر که شرکت کنندگان رو به یکی از شعب گوگل دعوت میکنن(با هزینه گوگل) و اونجا مرحله اخر برگزار میشه! امسال 2018 در شعبه گوگل Toronto, Canada هستش.
5-به نفرات برتر جایزه $15,000 پرداخت میشه! با امکان استخدام توی گوگل و..
6-مسابقه شامل چندین مرحله هست که در هر مرحله تعدادی مسئله در اختیارتون قرار می گیره که باید ضمن رعایت نکات مسابقه در خصوص نوشتن کد مربوطه اقدام کنین!
7-مرحله ابتدایی که اسمش Qualification Round هست در Friday, April 6 at 23:00 UTC شروع میشه و 27hr وقت میدن برای حل حدود 5 تا مساله که هرکدومش دارای 2 نوع ورودی کوچک و بزرگ هست!
8- من سال قبل با زبان #C در مسابقه شرکت کردم! ولی امسال میخوام با Java کد بزنم! در انتخاب زبان برنامه نویسی دستتون باز هست تقریبا و میتونید طبق مهارتتون اقدام کنید.
9- برای هر سوال پس از نوشتن کد سوال بهتون 2 نوع فایل ورودی میدن که باید بدی به برنامه ت و در برنامه در سریع ترین زمان ورودی ها رو از فایل ها بخونه و فایل خروجی رو تولید کنه! فایل سورس کد رو بهمراه فایل نمونه خروجی ارسال می کنید برای گوگل! که بهشون میگن Small input و large input .
10- توصیه میشه الگوریتم برنامه رو برای داده های بزرگ پیاده سازی کنین که برای هر جور ورودی جواب بده و مجبور به نوشتن 2 تا برنامه با ساختار متفاوت وصرف زمان زیاد برای یک مسئله یکسان نشید.
11- تسلط کافی به مفاهیم ساختمان داده و طراحی و پیاده سازی الگوریتم برای پیاده سازی مسئله در زمان بهینه رو اینجا خیلی احساس می کنین در طی مسابقه.
12- می تونید نمونه سوالات سال قبل رو اینجا ببینید: https://codejam.withgoogle.com/codejam/contest/3264486/dashboard#s=p2
13- اشتباهات من رو تکرار نکنید:
الف) حتما شرایط مسابقه رو قبلش اینجا https://codejam.withgoogle.com/codejam/terms بخونین که با روند و مراحل و ... آشنا بشین و متوجه بشین Small input و.. یعنی چی و مثل من کلی وقت تلف نکنین حین اجرای مسابقه برا فهمیدن خیلی از قوانین و جزییات!
ب) با حل کردن سوالات با بیشترین امتیاز شروع کنین! و صرفا بدلیل چینش سوالات از اولی شروع نکین که ممکنه وقت زیادی بزارین و امتیاز کمتری داشته باشه!
پ) هربار روی یک سوال تمرکز کنید. همزمان روی نوشتن کد برای چند تا سوال کار نکنید که هم تمرکزتون رو از دست می دید و هم با بازکردن چند instance از محیط برنامه نویسی باعث کند شدن و هنگ کردن سیستمتون میشه!
ت) با اعلام آمادگیتون برای ارسال جواب ! گوگل بهتون فایل ورودی رو میده و یه ددلاین میده که کدتون رو تست کنید و خروجی رو ارسال کنید براشون! به این ددلاین ها توجه کنید.
ث) حتما قبلش سوالات دوره های قبلی رو ببینین و سعی کنین نسبت به حل اون ها و تمرین اقدام کنین که آشنایی کافی پیدا کنین.
و در آخر امیدوارم تجربه موفقیتتون رو بزودی بشنویم :)
مطلبی دیگر از این انتشارات
محیط توسعه یک Front-End کار آشنا با Back-End در اوایل سال 2020
مطلبی دیگر از این انتشارات
داستان اولین برنامه نویسی اندروید من
مطلبی دیگر از این انتشارات
بررسی برنامه نویسی و زبان های برنامه نویسی مختلف در دنیای امنیت سایبری