tgoop.com/pyHints/294
Last Update:
توی این هفته ۴ بار، یک سوال مصاحبه قدیمی رو در موردش صحبت پیش اومده؛
داستان چیه، من چندین سال پیش با یک شرکت مصاحبه داشتم و مصاحبه کننده ازم یک سوال
Data structure & Algorithm
پرسید، من سوال رو خیلی سریع توضیح دادم و بعد خیلی سریع هم پاسخ صحیح رو نوشتم، در نهایت از تعجب مصاحبه کننده شک کردم که اشتباهی شده و توضیح دادم که من سطح جونیور نیستم و ... (اشتباه سمت HR بود، چون توی جلسه اول هم پیش اومده بود)
طرف ازم خواست که سوال دیگری رو مطرح کنه و دیدم داره طول میکشه روی همون سوال قبلی بهش یک پیشنهادی دادم که واقعاً خودمم تا اون لحظه کار نکرده بودم و برام جذاب بود چالش قضیه
در نهایت ایشون هم قبول کرد و رفتیم سراغ مسئله (کل جلسه همین سوال طول کشید و درنهایت هم من قبول شدم)
توی این هفته (شایدم ۲ هفته)، یکبار بعنوان مصاحبه کننده، دوبار دوستانه و یکبار هم راهنمایی بعد از مصاحبه برای یکی از دوستان بحث سوال مطرح شد :
همینجا بگم، هیچکس جواب درست حالت سختتر رو نداد.
۱- سوال اصلی مصاحبه خودم :
با استفاده از ساختار داده لیست؛ یک کلاس stack پیاده سازی کنید که یک عدد ورودی به اسم n بگیره و به تعداد n استک ایجاد کنه بطوری که دیتای تمام این استکها داخل فقط و فقط ۱ لیست ذخیره بشه.
سوال خیلی سادهاس اما دوتا پرسش داره :
۱- آیا طول لیست از پیش تعریف شده هست؟ (که قطعاً میگن بله)
۲- آیا طول stack ها باهم برابر هست ؟ (جواب اینم بله هست)
که خب شما لیست رو به n قسمت تقسیم میکنید و هر قسمت رو به یک استک میدید.
نسخهای که من به ذهنم رسید (خودمم توی مصاحبههام میپرسم) :
۱- فرض کنید طول لیست از قبل مشخص نیست و stack ها میتونند تا بینهایت ادامه داشته باشند (فرض کنید رم بینهایت داریم)
دوتا راهکاری که به ذهن خودم رسید و هنوز توی این چندسال راه دیگهای بهم نگفتند :
۱- هر عنصر لیست، یک tuple باشه که ایندکس اول tuple اندیس stack باشه و ایندکس دوم، دادهایی که ذخیره شده
اما بازم سختش کنیم، شما غیر از نوع دادههای اصلی :
int, float, decimal, ...
چیزی نمیتونید داخل stack نگه دارید (یعنی فقط دیتا)
راهنمای کوچیک راهکار دوم : از Remainder طول فعلی لیست بر n استفاده کنید و ببینید کدوم اندیس برای کدوم stack هست.
بحث سر راهکار من روی آخرین حالت سوال (که خب سوال مصاحبه یکی از دوستان هم بوده، کاملاً اتفاقی) من رو به اینجا رسوند که این موارد مثل جلسه امشب رو یک کاری باهاش بکنیم،
دوره آموزش : قطعاً مخالفم، با هرگونه پول گرفتن از بچههای تازهکار برای آموزش دادن سواد مخالفم بنظرم باید این سواد در دسترس همه باشه چه اونی که از والدینش پول میگیره چه کسی که درحال حاضر توان مالی نداره.
اسپانسر : چندباری پیش اومده، اما نهایتاً هدفشون یا تبلیغ برای فروش دیگر محصولات آموزشی هست، یا اینکه میخوان یک بخشی رایگان باشه و باقی بفروش برسه و ...
خلاصه درآمدی (پول خوبی هم داره)
لایو : که خب محدودیت ۱۰۰ نفر و زمان و ... داریم و خیلیها فرصت نمیکنند شرکت کنند و چون ذخیره هم نمیشه خیلی چیز قشنگی نمیشه نهایتاً
متن و کانال : برای آموزشهای این چنینی واقعاً خوب نیست و خیلی خیلی سخت هست
یوتیوب : مزایایی که داره اینه که شما با دیدن؛ کامنت؛ لایک انگار دارید دوره رو میخرید و پشتیبانی مالی میکنید.
معایب : زمان زیادی میگیره - من واقعاً بلد کار نیستم - subscribe,like,comment نداشته باشه انگیزه خیلی پایین میاد - درآمدی نداره (حداقل اوایل کار) - درصورت عدم حمایت برندسازی خودم خراب میشه - از همه بدتر با توجه به اوضاع اینترنت ایران میترسم خیلی دوستان نتونند روی یوتیوب تماشا کنند و همه موارد قبلی اتفاق بیوفته
اما خیلی دوست دارم یک راهکاری پیدا کنم که حداقل میزانی که خودم بلد هستم مطالب مورد نیاز رو منتقل کنم به دوستان.
همچنان به دنبال راهکار
(ساعت دقیقاً ۵:۳۱ دقیقه صبح هست، و من به تازگی جلسهام تموم شد و این متن رو داغ داغ نوشتم)
BY Python Hints
Share with your friend now:
tgoop.com/pyHints/294