tgoop.com/pyHints/854
Create:
Last Update:
Last Update:
#نکته_مصاحبه
قبلاً راجب توجه به یک سری نکات تو مصاحبه صحبت کردم؛ یکی از دوستان مصاحبه داشت و کدی که برای مرحله اول زده بود رو نشونم داد.
بهش گفتم امید زیادی به قبولی نداشته باشه!
با اینکه بنظر خودش عالی جلو رفته بود.
چرا ؟
شرکتهای زیادی هستند که توی مرحله اول مصاحبه از شما سوالات بنظر ساده میپرسند؛ شخصاً بعضی وقتا این کار رو میکنم بخصوص وقتی تعداد رزومهها بسیار زیاد هست.
ازین دوستمون پرسیده شده بود که؛ یک نوع خاص از آرایه رو پیادهسازی کنه برای سادگی من همون آرایه مرتب درنظر میگیرم.
شاید سوال بشه؛ چرا باید سوال به این سادگی بپرسند توی مصاحبه ؟ هزاران هزار پیادهسازی از آرایه توی اینترنت هست و برای خیلیها پیادهسازیش شاید ۲۰ دیقه هم نکشه (اگر تایپ کردنش کند هم باشه)
مسئله همینجا هست؛ چون پیادهسازی زیادی داره و همه هم خوندند خیلیها یک کدی رو حفظ میکنند و همین حفظ کردن باعث میشه توی مصاحبه فقط تایپش کنند که مشکل اصلی به وجود میاد (استرس بالا باعث میشه امنترین کار رو بکنید، واکشی از ذهن بدون فکر کردن بهش)
توی مثال آرایه مرتب فرض کنید به شما بگم، روی سیستم ۸ بیتی قراره آرایه شما استفاده بشه!
بعد کمی جلوتر بگم که قابلیت سرچ رو براش پیادهسازی کنید؛ اگر درساتو خوب خونده باشی و کدها رو خوب حفظ کرده باشی؛ میدونی چون آرایه مرتب هست توی جستجو میتونی از
binary search
استفاده کنی. یک بخشی داریم توی جستجوی باینتری که باید وسط آرایه رو پیدا کنید، ۹۹٪ مینویسند (توی دورههای آموزش و کتابهای معروف ببینید) :
(Low + High) // 2
که خب وسط دوتا عدد رو پیدا میکنه خیلی هم عالی! ولی اگر توی مثالی که من زدم اینو بنویسید از مصاحبه حذف میشید و میرم سراغ نفر بعدی (وقتی تعداد رزومهها زیاده ازین تکنیک استفاده میکنم شخصاً؛ تا برای مرحله دوم و سوم مصاحبه بجای ۵۰۰ نفر با ۱۵ نفر مصاحبه کنم)
حالا چرا با این مدل میانگین گیری حذف میشید ؟
overflow
فرضیه مسئله من این بود کد روی سیستم ۸ بیتی اجرا بشه؛ ۸ تا بیت یعنی اعداد ۰ تا ۲۵۵ (چون ایندکس رو داریم صحبت میکنیم و منفی نداره) اگر مقدار high , low توی یکی از حالات جمعش بیشتر از ۲۵۵ بشه؛ کل محاسبات شما اشتباه میشه و آرایه شما بعد از اولین دیلیت هم دیگه ولید نخواهد بود.
((high - low) // 2) + low
یکی از راهکارهاش هست.
ولی یک سری نکات ریز این چنینی و موارد دیگه که قبلتر صحبت کردیم (نحوه نوشتن repr, iter, ...) بسیار مهم میشه!
همیشه به دوستان خودم میگم؛ وقتی دیدی سوال مصاحبه اول خیلی ساده هست حتماً بیشتر بترس ! چرا ؟
چون احتمال و درصد حذف بسیار بسیار بالاس؛ و ممکنه اولین اشتباه، آخرین اشتباه باشه.
BY Python Hints
Share with your friend now:
tgoop.com/pyHints/854