هنگام استخدام به عنوان برنامه نویس در یک شرکت، ممکن است با چالش های برنامه نویسی مختلی رو به رو شوید که مهر تاییدی بر اثبات توانایی های شما باشد.
در این مقاله رایج ترین چالش های برنامه نویسی در مصاحبه های شغلی را مورد بررسی قرار می دهیم.
نکته: پاسخ چالش ها و سوالات به صورت تب بازشدنی در انتهای هر سوال وجود دارد. هدف این است که شما چالش ها را بررسی و حل کنید و پاسخ در دیدرس شما قرار نداشته باشد.
چالش FizzBuzz
چالش FizzBuzz یک تمرین کدنویسی ساده است که اغلب در مصاحبه های شغلی برای ارزیابی مهارت های برنامه نویسی و تفکر منطقی یک نامزد استفاده می شود.
سوال: برنامه ای بنویسید که اعداد از 1 تا 100 را چاپ کند. به طوریکه:
– برای اعدادی که بر 3 بخش پذیرند، به جای آن عدد، “Fizz” را چاپ کنید.
– برای اعدادی که بر 5 بخش پذیر هستند، به جای آن عدد، “Buzz” را چاپ کنید.
– برای اعدادی که بر 3 و 5 بخش پذیر هستند، “FizzBuzz” را چاپ کنید.
بنابراین، خروجی برنامه چنین چیزی خواهد بود:
1 2 Fizz 4 Buzz …
# Python for i in range(1, 101): if (i%15 == 0): print("FizzBuzz") elif (i%3 == 0): print("Fizz") elif(i%5 == 0): print("Buzz") else: print(i)
چالش معکوس کردن یک رشته
سوال: برنامه ای بنویسید که یک رشته را از کاربر دریافت کرده و معکوس آن را چاپ کند.
برای مثال:
Input: MrBinary Output: yraniBrM
# Python s = "Welcome" print(s) reversedString = s[::-1] print(reversedString)
چالش پالیندروم
نامزدها باید برنامه ای بنویسند که تعیین کند آیا رشته داده شده پالیندروم است یا نه. این چالش توانایی آنها را برای کار با رشته ها، حلقه ها و عبارات شرطی ارزیابی می کند.
توضیح درباره پالیندروم:
پالیندروم (Palindrome) به عبارات یا رشته هایی گفته میشه که اگر آن ها را معکوس کنیم، مجددا عبارت اصلی حاصل میشه.
برای مثال:
Noon, Level, Wow, …
سوال: برنامه ای بنویسید که رشته ای از کاربر دریافت و مشخص کند پالیندروم است یا خیر.
# Python def is_palindrome(word): word = word.replace(" ", "").lower() reversed_word = word[::-1] return word == reversed_word print(is_palindrome("Level")) # True
چالش سری فیبوناچی
این چالش درک نامزدهای شغلی را از حلقه ها، بازگشت و مفاهیم پایه ریاضی ارزیابی می کند.
سوال: برنامه ای بنویسید که تعداد n جمله از سری فیبوناچی را تولید کند.
مثال:
n = 6 0, 1, 1, 2, 3, 5
# Python def fibonacci_series(n): a, b = 0, 1 for _ in range(n): print(a, end=" ") a, b = b, a + b n = 6 fibonacci_series(n)