اول از همه، بگذارید با این صحبت شروع کنیم که توانایی حل چالش های برنامه نویسی معیاری برای میزان خوب بودن یک توسعه دهنده وب نیست، اما این می تواند نشان دهد که شما یک توسعه دهنده عالی هستید و باعث می شود از جمعیت متمایز شوید. هیچ کس برای ایجاد یک صفحه وب برجسته با استفاده از HTML، CSS (یا چارچوب های آن) و شاید حتی کمی JavaScript به چالش های کدنویسی احتیاج ندارد.
اگر هدف شما به عنوان یک توسعه دهنده همانگونه است که در بالا بیان کردیم، می توانید این نوشته ما را نادیده بگیرید، اما اگر می خواهید توسعه دهنده ای باشید که از درک خود از زبان برنامه نویسی و ابزار برای تجزیه و تحلیل کدهای فعلی و تحولات صنعت استفاده می کند، فرایندهای کارآمدتر را تنظیم می کند، مشکلات را حل می کند، و یک تجربه یکپارچه تر برای کاربران ایجاد می کند، پس این یک چیز ضروری برای شما است.
ارزیابی مجدد مداوم از روشهای حل مسئله
شما قبل از اینکه یک توسعه دهنده باشید ابتدا یک شخص هستید. به عنوان یک فرد، چالش های کدنویسی ابزاری برای بهبود توانایی شما در تفکر منطقی و حل مشکلات به روشی کارآمد است. اگر همه دوستانتان در راه رفتن به فروشگاه مواد غذایی لیست های خرید خود را به شما بدهند و محدودیت زمانی داشته باشید اما همچنان می خواهید برای همه آنها خرید کنید، چطور این کار را می کنید؟ آیا لیست اول را انتخاب می کنید، از راهروهای مختلف فروشگاه می گذرید تا آنچه در آن است را بدست آورید و سپس چرخه هر یک از لیست ها را تکرار می کنید؟ آیا این کار از نظر زمانی کارآمد خواهد بود؟ اگر بعضی از لیست ها شباهت هایی داشته باشند و بفهمید که می توانستید آن مورد خاص را به جای اینکه چند بار به همان راهرو بروید، برای همه کسانی که به آن نیاز داشتند خریداری کرده باشید؟
آیا به خاطر می آورید که چگونه وقتی در فروشگاه مواد غذایی هستید، همیشه چند دقیقه زمان خود را از دست می دهید و به دنبال راهرویی می گردید که حاوی خواسته های شما است؟ تصور کنید اگر مجبور باشید این کار را برای هر لیست انجام دهید، چند دقیقه زمان خود را از دست خواهید داد. برای صرفه جویی در وقت، آیا شما وقتی که در اولین لیست خود هستید، مشخص می کنید که هر مورد را از کجا پیدا کرده اید، بنابراین اگر با آن مورد در لیست دیگری مواجه شدید، از قبل می دانید کجا آن را پیدا کنید و می توانید ابتدا از نزدیکترین راهروها بازدید کنید؟
ما الگوریتم این را به شما می سپاریم، اما این یک نمونه از مواردی است که در زندگی روزمره با آنها روبرو هستیم و اینکه چگونه حل چالش های کدنویسی به ما کمک می کند تا در مورد راه حل های کارآمد و بهینه، نه فقط راه حل ها، فکر کنیم.
نگاهی به عملکرد ذهن خودتان بیندازید
این روزها، کارفرمایان بیشتری می فهمند که یک توسعه دهنده بزرگ نیازی به آشنایی با زمینه ای که یک شرکت با آن کار می کند ندارد، او می تواند به راحتی چارچوب جدید یا زبان جدیدی یاد بگیرد. در نتیجه، آنها به دنبال برنامه نویسان با توانایی عالی در حل مسئله هستند، بعد از آن، چرا اگر کسی برای حل مشکلات نباشد، کسی می خواهد یک برنامه نویس استخدام کند؟
تصور کنید که برای استخدام در نقشی در یک شرکت مصاحبه می کنید و مصاحبه کننده شما به شما می گوید که آنها می خواهند به مشتریان خود بازخورد آماری بدهند و جزئیات چند برنامه را در روز دریافت می کنند و سپس آن، یک آرایه حاوی اشیای اپلیکیشن کاربردی که دارای خاصیت تاریخ است، آماده می کند.
چگونه این داده ها را به آمار مورد نیاز تبدیل می کنید؟ آیا شما از brute force استفاده می کنید، آیا دو حلقه ایجاد می کنید، آیا از هش استفاده می کنید، آیا شما مکنده روش های داخلی مانند ‘.count’ هستید یا اینکه کارهای خود را به صورت دستی ترجیح می دهید؟ این سوالات و بسیاری از سوالات دیگر از ذهن مصاحبه کننده می گذرد و آنها فقط می خواهند از روش شما در ارائه راه حل ها مطلع شوند.
حل مداوم چالش های کدنویسی ذهن شما را آموزش می دهد تا بتواند حداقل ۵ روش انجام این کار را ارائه دهد و همچنین کارآمدترین راه حل و دلیل آن را نشان می دهد. شما همچنین می توانید به موارد آزمایشی و میلیون ها موردی که ممکن است هنگام تعامل کاربران با برنامه شما اشتباه رخ دهد، فکر کنید. این کمک می کند تا در هنگام وقوع خطای “غیر منتظره” از بوجود آمدن مشکل در هر چیزی جلوگیری شود. این همان چیزی است که شما را به یک برنامه نویس عالی تبدیل می کند.
اکنون، کارفرما نگاهی به نحوه کار ذهن شما می اندازد. شما فقط یک ارائه دهنده راه حل نیستید، چندین روش برای ارائه همان راه حل ارائه می دهید. جالب نیست؟
روی آن نخواب
یک جمله رایج در بین والدین این است: “بگذارید روی آن بخوابم، به شما برمی گردانم”. این نوع پاسخی نیست که رئیس، مشتری (اگر فریلنسر هستید) یا مصاحبه گر می خواهد وقتی چیزی به سادگی بازخورد آماری که قبلاً در مورد آن صحبت کردیم از شما می خواهد بشنود.
ساختن مغز برای شناسایی آسان الگوها با حل چالش های کدنویسی، دستیابی به راه حل های سریعتر را آسان می کند. شما نمی خواهید با دو روز تأخیر به یک راه حل برسید، چرا اکنون آموزش نمی بینید؟
ما موافقیم که برخی از چالش های کدنویسی سخت هستند و شما ممکن است از شکست ترسیده باشید، اما چه کسی شکست نخورده است؟ همه ما در یک زمان یا زمان دیگری هستیم و شکست چیز جدیدی نیست. بهتر است وقت خود را صرف تلاش برای حل مشکلات خیالی کنید که امکان واقعی شدن دارند تا اینکه از ترس هیچ کاری انجام ندهید.
با تلاش برای تشویق همه، رایج ترین چالش های برنامه نویسی مصاحبه و رویکردمان برای حل آنها را در مقالات آینده ارسال خواهیم کرد. امیدواریم این به کسی کمک کند و ما شما را دعوت می کنیم امروز هر چند کوچک یک قدم بردارید.
ترجمه و بازنویسی اختصاصی از لرن نیکو / منبع
هیچ دیدگاهی نوشته نشده است.