Forwarded from RandRng
اینو یکی از دوستانم توی گروه فرستاد :
یک باگ امنیتی جدی روی
اگر ازین ابزار استفاده میکنید؛ حتماً هرچه سریعتر به آخرین نسخه آپدیت کنید.
یک باگ امنیتی جدی روی
WinRAR
پیدا شده (critical
) هست.اگر ازین ابزار استفاده میکنید؛ حتماً هرچه سریعتر به آخرین نسخه آپدیت کنید.
👍28❤6
#هشدار مجدد؛
حواستون به دعوت به همکاریهای با کار دلاری و یورویی باشه!
مجدداً زیاد شده؛ اگر بهتون سورس کد دادن که روی سیستم خودت اجرا کن و فلان فیچر رو بهش اضافه کن.
اول دقیق سورس کد رو بخونید؛
دوم دقیق سورس کد رو بخونید؛
سوم راجب شرکت تحقیق کنید؛
چهارم درخواست بدید با ایمیل شرکت براتون ارسال بشه (رو دامنه اصلی)؛
پنجم کد رو روی محیط مجازی باز کنید، اگر حتی ۱ دونه
متأسفانه این مدت خیلی زیاد شده (بسیاری از بچهها که از قدیم پستهای کانالهای بنده رو خوندن میدونستند) و خیلیهاتون بهم اطلاع دادید.
ولی امروز یک قربانی جدید گرفت و متأسفانه کیف پول دیجیتال این دوستمون رو خالی کردند.
حواستون به دعوت به همکاریهای با کار دلاری و یورویی باشه!
مجدداً زیاد شده؛ اگر بهتون سورس کد دادن که روی سیستم خودت اجرا کن و فلان فیچر رو بهش اضافه کن.
اول دقیق سورس کد رو بخونید؛
دوم دقیق سورس کد رو بخونید؛
سوم راجب شرکت تحقیق کنید؛
چهارم درخواست بدید با ایمیل شرکت براتون ارسال بشه (رو دامنه اصلی)؛
پنجم کد رو روی محیط مجازی باز کنید، اگر حتی ۱ دونه
dependency
داشت که نمیشناختید.متأسفانه این مدت خیلی زیاد شده (بسیاری از بچهها که از قدیم پستهای کانالهای بنده رو خوندن میدونستند) و خیلیهاتون بهم اطلاع دادید.
ولی امروز یک قربانی جدید گرفت و متأسفانه کیف پول دیجیتال این دوستمون رو خالی کردند.
👍91❤6
Python Hints
یک نمونه exploit خیلی ساده برای تست؛ سورس کد رو گذاشتم که خودتون اجرا کنید و مطمئن باشید امن هست. اما بجای ls میشد هرکار دیگری هم کرد یا خوندن passwd میشد خیلی کارهای دیگهای کرد. هیچوقت هیچ فایل Pickle ایی رو از کسی قبول نکنید اگر قبول کردید روی سیستم…
اینم یک یادآوری قدیمی؛
یادآوری کنم ؟
کمتر از ۱ سال پیش
شانس خوبش این بود که تیم امنیتی کلاه سفید بود و بهش گزارش داد.
اون موقع گفتم :
یادآوری کنم ؟
کمتر از ۱ سال پیش
huggingface
سرورهاش اینطوری هک شد!شانس خوبش این بود که تیم امنیتی کلاه سفید بود و بهش گزارش داد.
اون موقع گفتم :
بنظر میاد بچههای huggingface
پستهای مارو نمیخونند.
👍38❤4❤🔥1🔥1
Python Hints
پسر اینترنت با vpn حداقل ۳ برابر سرعت دانلود بهتری داره 😂
This media is not supported in your browser
VIEW IN TELEGRAM
👍25❤1
Python Hints
#موقت وقتی تو ایران بعنوان تیم برنامهنویسی یا IT یا ... کار میکنی
.... این همه نفت تو خاورمیانه رو میبینی ؟
تیرکس رو هم میشناسی ؟ همون دایناسور ...... که همرو میخورده
ببین توی خاورمیانه اون جوری به چخ رفته که نفت در اومده ازش؛ حتی استخونش هم نمونده.
بعد هنوز یک سری .... به درست شدن این خاورمیانه ..... اعتقاد دارند.
#موقت
پیام
Qoute
شده بالا از چت من با یک دوست عزیز هست؛ دقیقاً پیامی که توی صحبتها راجب خاورمیانه و اینکه از ایران بره رو عیناً کپی کردم.فقط جاهایی که .... گذاشتم خودتون بجاش فحش بذارید چون من اونجاها فحش داده بودم (شرایط جنگ و قطعی اینترنت بود این بحث)
👍32❤7🔥6👏3
این سایت رو یکی از دوستان توی گروه معرفی کرد و سوال پرسید راجبش :
MyLink
بنظرم برای آموزش مورد خوبی بنظر میاد؛ هم متنی هست هم اپلیکیشن موبایل داره هم چالش و ...
من یک نگاه کلی انداختم و بنظرم مطالب خوبی هم داره (حیف که
اگر با لینکی که دادم ثبتنام کنید؛
اگر تعداد
اگر خواستید اینکار انجام بشه (من بخونم و دقیق نظر بدم) فقط کافیه با لینک بالا ثبتنام کنید و ۱ چالش رو هم انجام بدید.
پ.ن:
فکر میکنم بعد از هر درس و پروژه و ... سطح شما و میزان حقوق بینالملل رو هم حدود بهتون بگه.
MyLink
بنظرم برای آموزش مورد خوبی بنظر میاد؛ هم متنی هست هم اپلیکیشن موبایل داره هم چالش و ...
من یک نگاه کلی انداختم و بنظرم مطالب خوبی هم داره (حیف که
Rust
رو نداره) مهمترین نکتهاش اینه که تمرکزش روی چیزهایی هست که برای استخدام شدن بهش نیاز دارید.اگر با لینکی که دادم ثبتنام کنید؛
100gem
میگیرید و روزانه هم دنبال کنید و ... اگر تعداد
refer
بالا رفت؛ شخصا سعی میکنم توی این چندروز Django, SQL
رو دنبال کنم و اگر خوب بود بهتون پیشنهاد میدم که حتما انجام بدید و سایت رو دنبال کنید.اگر خواستید اینکار انجام بشه (من بخونم و دقیق نظر بدم) فقط کافیه با لینک بالا ثبتنام کنید و ۱ چالش رو هم انجام بدید.
پ.ن:
فکر میکنم بعد از هر درس و پروژه و ... سطح شما و میزان حقوق بینالملل رو هم حدود بهتون بگه.
❤28👍16
Python Hints
این سایت رو یکی از دوستان توی گروه معرفی کرد و سوال پرسید راجبش : MyLink بنظرم برای آموزش مورد خوبی بنظر میاد؛ هم متنی هست هم اپلیکیشن موبایل داره هم چالش و ... من یک نگاه کلی انداختم و بنظرم مطالب خوبی هم داره (حیف که Rust رو نداره) مهمترین نکتهاش اینه…
بخشی از لیست موضوعات و مدارک ارائه شده.
فقط فراموش نکنید؛ باید حتما ۱ تاپیک رو انجام بدید تا به من هم
چون دیدم خیلی از دوستان ثبتنام کردند ولی تعداد کمی شروع کردن به انجام
فقط فراموش نکنید؛ باید حتما ۱ تاپیک رو انجام بدید تا به من هم
Gem
بده (بعدش دوره Django, SQL
رو بررسی میکنم)چون دیدم خیلی از دوستان ثبتنام کردند ولی تعداد کمی شروع کردن به انجام
topic
ها❤23👍1
یک ابزار داریم (روی
یا مثلا بعضی جاها کاربر میتونه
همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه.
نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر
گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از
۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و
۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
Rust
) که توی چندتا بخش نیاز به پردازش یک سری header
های درخواستی که میاد داره.یا مثلا بعضی جاها کاربر میتونه
permission
هارو باهاشون کار کنه و ...همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه.
نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر
operator
های معمولی چک کردن هدر و پردازش permission, ....
به Bitwise operator
بدست اومد.گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از
AND
گرفتن سنگین تر هست.۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و
AND
سربارهای پایتونی داره که باعث میشه تفاوت کمتر بشه و CPython
هم بسیار اپتیمایز شده هست.۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
👍18❤4
Python Hints
یک ابزار داریم (روی Rust) که توی چندتا بخش نیاز به پردازش یک سری header های درخواستی که میاد داره. یا مثلا بعضی جاها کاربر میتونه permission هارو باهاشون کار کنه و ... همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی…
اگر خواستید تفاوت بیشتری ببینید و تمرین کنید؛ روی پکتهای
یک تسک براش داره (قبلا معرفی شده)
و سعی کنید روی اونها کار کنید.
در نهایت برای یادگیری این تریکها (چون میدونم میپرسید) میتونید راجب
DNS
کار کنید.codecrafters
یک تسک براش داره (قبلا معرفی شده)
و سعی کنید روی اونها کار کنید.
در نهایت برای یادگیری این تریکها (چون میدونم میپرسید) میتونید راجب
Competitive Programming
بخونید؛ مقدماتی هست این مباحث ولی بیشتر اونجاها بصورت تریک گفته میشه وگرنه که Computer Science
درس اول راجب سیستم اعداد اینارو داریم.❤19👍1
Python Hints
یک ابزار داریم (روی Rust) که توی چندتا بخش نیاز به پردازش یک سری header های درخواستی که میاد داره. یا مثلا بعضی جاها کاربر میتونه permission هارو باهاشون کار کنه و ... همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی…
پرسیدید؛ چرا
هرعددی نهایتاً بصورت binary توی کامپیوتر ذخیره میشه مثلاً 10 میشه (۸بیتی در نظر بگیریم)
یا برای 5 میشه
اولین عدد سمت راست همیشه 2⁰ رو ضربدر خودش میکنه تا به دسیمال همون سیستم عددی خودمون تبدیل بشه.
هست، پس اگر سمت راستی ترین بیت 1 باشه اون عدد فرد هست.
AND
انجام شده؟ هرعددی نهایتاً بصورت binary توی کامپیوتر ذخیره میشه مثلاً 10 میشه (۸بیتی در نظر بگیریم)
00001010
یا برای 5 میشه
00000101
اولین عدد سمت راست همیشه 2⁰ رو ضربدر خودش میکنه تا به دسیمال همون سیستم عددی خودمون تبدیل بشه.
2⁰=1
هست، پس اگر سمت راستی ترین بیت 1 باشه اون عدد فرد هست.
👍20❤4
Python Hints
این سایت رو یکی از دوستان توی گروه معرفی کرد و سوال پرسید راجبش : MyLink بنظرم برای آموزش مورد خوبی بنظر میاد؛ هم متنی هست هم اپلیکیشن موبایل داره هم چالش و ... من یک نگاه کلی انداختم و بنظرم مطالب خوبی هم داره (حیف که Rust رو نداره) مهمترین نکتهاش اینه…
نظرم روی سایت قبلی:
سایت خوبی هست؛ اما من طرفدارش نیستم.
احتمالا قبل از خواب بهش نگاه کنم؛ یا اینکه فقط بپرم و سوالاش رو حل کنم.
برای کسی که تازه وارد هست سایت خیلی خوبیه (مخصوصا اگر روزی ۱۰ دقیقه بیشتر نمیخواد توی یک موضوع جدید وقت بذاره)
اما شخصا چون یادگیری با سرعت بالا رو ترجیح میدم این سایت جلوم رو میگیره؛ سعی میکنم چندروز دیگه هم دنبال کنم مطالبش رو تا نظر دقیقتری بدم.
اگر نظرم عوض شد اعلام میکنم
سایت خوبی هست؛ اما من طرفدارش نیستم.
احتمالا قبل از خواب بهش نگاه کنم؛ یا اینکه فقط بپرم و سوالاش رو حل کنم.
برای کسی که تازه وارد هست سایت خیلی خوبیه (مخصوصا اگر روزی ۱۰ دقیقه بیشتر نمیخواد توی یک موضوع جدید وقت بذاره)
اما شخصا چون یادگیری با سرعت بالا رو ترجیح میدم این سایت جلوم رو میگیره؛ سعی میکنم چندروز دیگه هم دنبال کنم مطالبش رو تا نظر دقیقتری بدم.
اگر نظرم عوض شد اعلام میکنم
👍28❤10
Python Hints
۳- سایت
libgen.is
رو دنبال کنید، اکثر کتابهای معرفی شده اینجا هستند.
libgen.is
رو دنبال کنید، اکثر کتابهای معرفی شده اینجا هستند.
دوستان libgen.is هنوز فعال هست اما ممکنه بعضی ISP ها برخی از دامنههای libgen رو بلاک کنند.
با سرچ میتونید دامنههای مختلفش رو پیدا کنید؛ فقط حواستون باشه گوگل خیلی سرچ انجین خوبی برای این موارد نیست و حتما هم باید Safe Search اون رو خاموش کنید.
دامنه libgen.li و libgen.gs رو تست کردم و بلاک نشده.
ولی برای جستجو بهتر:
duckduckgo.com
yandex.com
موتور جستجوی بهتری هستند.
با سرچ میتونید دامنههای مختلفش رو پیدا کنید؛ فقط حواستون باشه گوگل خیلی سرچ انجین خوبی برای این موارد نیست و حتما هم باید Safe Search اون رو خاموش کنید.
دامنه libgen.li و libgen.gs رو تست کردم و بلاک نشده.
ولی برای جستجو بهتر:
duckduckgo.com
yandex.com
موتور جستجوی بهتری هستند.
❤🔥22👍11❤4
Python Hints
#تجربه ساختمان داده و الگوریتم؛ بیشترین سوالی که همیشه از من میشه؛ چقدر باید Data structure, Algorithm بلد باشم و یا چندتا leetcode باید حل کنم ؟ اول سوال دوم رو جواب میدم؛ تعداد leetcode هیچ ربطی به سواد الگوریتم شما نداره و ۲ نوع آدم leetcode زیادی…
راجب این موضوع و
یک سری مشکلات رو با
۱- وقتی تگهای سوال + سطحش رو میبینم میفهمم چطوری باید حلش کرد ولی اگر اونها نباشه تو بعضی سوالات کامل میمونم.
۲- خیلی از سوالات
۳- سطح بندی
مورد آخر رو اول بگم؛ تکنیک پست قبلی خیلی مهم هست از هر سطح و موضوع باید یک تعداد مشخصی سوال رو انتخاب کنید برای حل کردن؛ اینکه تو ذهنتون به این فکر میکنید :
یک اشتباه بزرگ هست.
به خودت سخت نگیر؛ مطمئن شو مفاهیم رو یاد گرفتی.
اما برای مورد دوم و اول؛ چندروزی بود که داشتم جستجو میکردم و نهایتا یک سایت رو پیدا کردم :
MyLink
فرقش چیه ؟ سوالاش کاربردی تر هست؛ میتونید جوابهای دیگران رو ببیند. براش الگوریتم و زمان و ... مهم نیست و مهم حل کرده مسئله هست که همین چون ذهن رو آزاد میکنه باعث میشه بیشتر خوش بگذره (البته خیلی هم کد داغون نمیتونید بزنید چون تهش تست اجرا نشده؛ زمان تموم میشه)
وقتی مسئله رو حل کردید؛ براساس رای دیگران میتونید جوابهای رو ببیند:
دسته بندیهایی هست که وجود داره.
راجب سطح سوالات:
موقع ثبتنام سطح فعلی و توانایی و زبانی که میخوای تمرین کنی رو ازت میپرسه؛ بعد براساس اون فیلدهایی که پر کردی سوالات رو بهت نشون میده.
مثلا دسته بندی :
وجود داره براش.
خلاصه لزوما ساختمان داده و الگوریتم نیست بلکه تمرین بهتر شدن توی زبان برنامهنویسی هست که انتخاب کردید و درنهایت سوالاش خیلی بدرد مصاحبه میخوره (چندتاییش رو برداشتم)
leetcode
:یک سری مشکلات رو با
leetcode
و یا data structure, algo
این چندروز مطرح کردید که منطقی هم بود (منم دنبال راهکار بودم)۱- وقتی تگهای سوال + سطحش رو میبینم میفهمم چطوری باید حلش کرد ولی اگر اونها نباشه تو بعضی سوالات کامل میمونم.
۲- خیلی از سوالات
leetcode
مفهومی هست؛ دقیقا هم نمیدونم بدرد کارم میخوره در آینده یا نه و همین بیانگیزهام میکنه (به این دسته دوستان گفتم که منم همین مشکل رو دارم با leetcode
)۳- سطح بندی
leetcode
که باعث میشه خیلیها جلوی خودتون رو بگیریدمورد آخر رو اول بگم؛ تکنیک پست قبلی خیلی مهم هست از هر سطح و موضوع باید یک تعداد مشخصی سوال رو انتخاب کنید برای حل کردن؛ اینکه تو ذهنتون به این فکر میکنید :
نکنه فلان سوال که سطح ساده/متوسط هم داره یک نکته جدید داشته باشه نسبت به این یکی
یک اشتباه بزرگ هست.
به خودت سخت نگیر؛ مطمئن شو مفاهیم رو یاد گرفتی.
اما برای مورد دوم و اول؛ چندروزی بود که داشتم جستجو میکردم و نهایتا یک سایت رو پیدا کردم :
MyLink
فرقش چیه ؟ سوالاش کاربردی تر هست؛ میتونید جوابهای دیگران رو ببیند. براش الگوریتم و زمان و ... مهم نیست و مهم حل کرده مسئله هست که همین چون ذهن رو آزاد میکنه باعث میشه بیشتر خوش بگذره (البته خیلی هم کد داغون نمیتونید بزنید چون تهش تست اجرا نشده؛ زمان تموم میشه)
وقتی مسئله رو حل کردید؛ براساس رای دیگران میتونید جوابهای رو ببیند:
best practice, clever, ...
دسته بندیهایی هست که وجود داره.
راجب سطح سوالات:
موقع ثبتنام سطح فعلی و توانایی و زبانی که میخوای تمرین کنی رو ازت میپرسه؛ بعد براساس اون فیلدهایی که پر کردی سوالات رو بهت نشون میده.
مثلا دسته بندی :
Fundamental, Rank-Up, Practice and Repeat
وجود داره براش.
خلاصه لزوما ساختمان داده و الگوریتم نیست بلکه تمرین بهتر شدن توی زبان برنامهنویسی هست که انتخاب کردید و درنهایت سوالاش خیلی بدرد مصاحبه میخوره (چندتاییش رو برداشتم)
Codewars
Codewars - Achieve mastery through coding practice and developer mentorship
A coding practice website for all programming levels – Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!
👍24❤5
Python Hints
راجب این موضوع و leetcode : یک سری مشکلات رو با leetcode و یا data structure, algo این چندروز مطرح کردید که منطقی هم بود (منم دنبال راهکار بودم) ۱- وقتی تگهای سوال + سطحش رو میبینم میفهمم چطوری باید حلش کرد ولی اگر اونها نباشه تو بعضی سوالات کامل میمونم.…
لینک رو کپی کنید و توی مرورگر باز کنید؛ بازکردنش با خود تلگرام بهتون
406
میده👍19
#نکته_مصاحبه
قبلاً راجب توجه به یک سری نکات تو مصاحبه صحبت کردم؛ یکی از دوستان مصاحبه داشت و کدی که برای مرحله اول زده بود رو نشونم داد.
با اینکه بنظر خودش عالی جلو رفته بود.
چرا ؟
شرکتهای زیادی هستند که توی مرحله اول مصاحبه از شما سوالات بنظر ساده میپرسند؛ شخصاً بعضی وقتا این کار رو میکنم بخصوص وقتی تعداد رزومهها بسیار زیاد هست.
ازین دوستمون پرسیده شده بود که؛ یک نوع خاص از آرایه رو پیادهسازی کنه برای سادگی من همون آرایه مرتب درنظر میگیرم.
شاید سوال بشه؛ چرا باید سوال به این سادگی بپرسند توی مصاحبه ؟ هزاران هزار پیادهسازی از آرایه توی اینترنت هست و برای خیلیها پیادهسازیش شاید ۲۰ دیقه هم نکشه (اگر تایپ کردنش کند هم باشه)
مسئله همینجا هست؛ چون پیادهسازی زیادی داره و همه هم خوندند خیلیها یک کدی رو حفظ میکنند و همین حفظ کردن باعث میشه توی مصاحبه فقط تایپش کنند که مشکل اصلی به وجود میاد (استرس بالا باعث میشه امنترین کار رو بکنید، واکشی از ذهن بدون فکر کردن بهش)
توی مثال آرایه مرتب فرض کنید به شما بگم، روی سیستم ۸ بیتی قراره آرایه شما استفاده بشه!
بعد کمی جلوتر بگم که قابلیت سرچ رو براش پیادهسازی کنید؛ اگر درساتو خوب خونده باشی و کدها رو خوب حفظ کرده باشی؛ میدونی چون آرایه مرتب هست توی جستجو میتونی از
یک بخشی داریم توی جستجوی باینتری که باید وسط آرایه رو پیدا کنید، ۹۹٪ مینویسند (توی دورههای آموزش و کتابهای معروف ببینید) :
که خب وسط دوتا عدد رو پیدا میکنه خیلی هم عالی! ولی اگر توی مثالی که من زدم اینو بنویسید از مصاحبه حذف میشید و میرم سراغ نفر بعدی (وقتی تعداد رزومهها زیاده ازین تکنیک استفاده میکنم شخصاً؛ تا برای مرحله دوم و سوم مصاحبه بجای ۵۰۰ نفر با ۱۵ نفر مصاحبه کنم)
حالا چرا با این مدل میانگین گیری حذف میشید ؟
فرضیه مسئله من این بود کد روی سیستم ۸ بیتی اجرا بشه؛ ۸ تا بیت یعنی اعداد ۰ تا ۲۵۵ (چون ایندکس رو داریم صحبت میکنیم و منفی نداره) اگر مقدار high , low توی یکی از حالات جمعش بیشتر از ۲۵۵ بشه؛ کل محاسبات شما اشتباه میشه و آرایه شما بعد از اولین دیلیت هم دیگه ولید نخواهد بود.
یکی از راهکارهاش هست.
ولی یک سری نکات ریز این چنینی و موارد دیگه که قبلتر صحبت کردیم (نحوه نوشتن repr, iter, ...) بسیار مهم میشه!
همیشه به دوستان خودم میگم؛ وقتی دیدی سوال مصاحبه اول خیلی ساده هست حتماً بیشتر بترس ! چرا ؟
چون احتمال و درصد حذف بسیار بسیار بالاس؛ و ممکنه اولین اشتباه، آخرین اشتباه باشه.
شخصاً وقتی سوالات مصاحبه خیلی سخت میشه، خیلی استرس کمتری دارم
قبلاً راجب توجه به یک سری نکات تو مصاحبه صحبت کردم؛ یکی از دوستان مصاحبه داشت و کدی که برای مرحله اول زده بود رو نشونم داد.
بهش گفتم امید زیادی به قبولی نداشته باشه!
با اینکه بنظر خودش عالی جلو رفته بود.
چرا ؟
شرکتهای زیادی هستند که توی مرحله اول مصاحبه از شما سوالات بنظر ساده میپرسند؛ شخصاً بعضی وقتا این کار رو میکنم بخصوص وقتی تعداد رزومهها بسیار زیاد هست.
ازین دوستمون پرسیده شده بود که؛ یک نوع خاص از آرایه رو پیادهسازی کنه برای سادگی من همون آرایه مرتب درنظر میگیرم.
شاید سوال بشه؛ چرا باید سوال به این سادگی بپرسند توی مصاحبه ؟ هزاران هزار پیادهسازی از آرایه توی اینترنت هست و برای خیلیها پیادهسازیش شاید ۲۰ دیقه هم نکشه (اگر تایپ کردنش کند هم باشه)
مسئله همینجا هست؛ چون پیادهسازی زیادی داره و همه هم خوندند خیلیها یک کدی رو حفظ میکنند و همین حفظ کردن باعث میشه توی مصاحبه فقط تایپش کنند که مشکل اصلی به وجود میاد (استرس بالا باعث میشه امنترین کار رو بکنید، واکشی از ذهن بدون فکر کردن بهش)
توی مثال آرایه مرتب فرض کنید به شما بگم، روی سیستم ۸ بیتی قراره آرایه شما استفاده بشه!
بعد کمی جلوتر بگم که قابلیت سرچ رو براش پیادهسازی کنید؛ اگر درساتو خوب خونده باشی و کدها رو خوب حفظ کرده باشی؛ میدونی چون آرایه مرتب هست توی جستجو میتونی از
binary search
استفاده کنی. یک بخشی داریم توی جستجوی باینتری که باید وسط آرایه رو پیدا کنید، ۹۹٪ مینویسند (توی دورههای آموزش و کتابهای معروف ببینید) :
(Low + High) // 2
که خب وسط دوتا عدد رو پیدا میکنه خیلی هم عالی! ولی اگر توی مثالی که من زدم اینو بنویسید از مصاحبه حذف میشید و میرم سراغ نفر بعدی (وقتی تعداد رزومهها زیاده ازین تکنیک استفاده میکنم شخصاً؛ تا برای مرحله دوم و سوم مصاحبه بجای ۵۰۰ نفر با ۱۵ نفر مصاحبه کنم)
حالا چرا با این مدل میانگین گیری حذف میشید ؟
overflow
فرضیه مسئله من این بود کد روی سیستم ۸ بیتی اجرا بشه؛ ۸ تا بیت یعنی اعداد ۰ تا ۲۵۵ (چون ایندکس رو داریم صحبت میکنیم و منفی نداره) اگر مقدار high , low توی یکی از حالات جمعش بیشتر از ۲۵۵ بشه؛ کل محاسبات شما اشتباه میشه و آرایه شما بعد از اولین دیلیت هم دیگه ولید نخواهد بود.
((high - low) // 2) + low
یکی از راهکارهاش هست.
ولی یک سری نکات ریز این چنینی و موارد دیگه که قبلتر صحبت کردیم (نحوه نوشتن repr, iter, ...) بسیار مهم میشه!
همیشه به دوستان خودم میگم؛ وقتی دیدی سوال مصاحبه اول خیلی ساده هست حتماً بیشتر بترس ! چرا ؟
چون احتمال و درصد حذف بسیار بسیار بالاس؛ و ممکنه اولین اشتباه، آخرین اشتباه باشه.
👍62❤19
Python Hints
راجب این موضوع و leetcode : یک سری مشکلات رو با leetcode و یا data structure, algo این چندروز مطرح کردید که منطقی هم بود (منم دنبال راهکار بودم) ۱- وقتی تگهای سوال + سطحش رو میبینم میفهمم چطوری باید حلش کرد ولی اگر اونها نباشه تو بعضی سوالات کامل میمونم.…
تقریبا روزی ۱ دونه دارم حل میکنم و لذت بخش هست.
من به سادهترین روشی که به جواب برسه دارم حل میکنم مسئله رو و مسئله ها تا اینجا ساده بوده برام اما ...
بهترین بخشش برای من این هست که بعد از حل هر مسئله میتونم راه حلهای باقی آدمها رو هم ببینم و مقایسه کنم.
خیلی ساده با مثال کاربردی چیزایی که یادم رفته بود دوباره برام یادآوری میشه مثلا توی یکی از چالشهای قبلی یکی اومده بو برای تمیزی کد از
استفاده کرده بود؛ با اینکه میشناختم این متد رو ولی چون خیلی وقت بود بکارم نیومده بود کامل فراموش کرده بودم اما حالا با مثال بهم یادآوری شده و یادداشت هم کردم که بعد از چندبار مرور به ذهنم برگرده.
خود سوالات و حل کردنشون بجای خودش؛ بخش راهحلهای
من به سادهترین روشی که به جواب برسه دارم حل میکنم مسئله رو و مسئله ها تا اینجا ساده بوده برام اما ...
بهترین بخشش برای من این هست که بعد از حل هر مسئله میتونم راه حلهای باقی آدمها رو هم ببینم و مقایسه کنم.
خیلی ساده با مثال کاربردی چیزایی که یادم رفته بود دوباره برام یادآوری میشه مثلا توی یکی از چالشهای قبلی یکی اومده بو برای تمیزی کد از
from itertools import groupby
استفاده کرده بود؛ با اینکه میشناختم این متد رو ولی چون خیلی وقت بود بکارم نیومده بود کامل فراموش کرده بودم اما حالا با مثال بهم یادآوری شده و یادداشت هم کردم که بعد از چندبار مرور به ذهنم برگرده.
خود سوالات و حل کردنشون بجای خودش؛ بخش راهحلهای
clever, best practice
که بعد از حل بهمون نشون میده واقعا عالیه؛ کاملا در تلاشم که حداقل روزی ۱ مورد رو حل کنم.👍42❤🔥6❤5👏2
#تجربه #مصاحبه
بعد از خیلی سال دوباره یک مصاحبه خیلی مهم دارم با یک شرکت بزرگ. برای همین چند روزی هست که روزی ۱-۲ ساعت دارم تمرین انجام میدم (خیلی وقت بود ازینکارا نکرده بودم ولی حالا که وقت دادن قبل مصاحبه بد نیست تمرین کنم)
سوالاتی که توی مصاحبههای خوبم تجربه کردم و بنظرم سوالات ارزشمندی بوده رو دارم تمرین میکنم و البته بحثهایی که بعدش اومده.
بله من سوالات و بحثهای مهم رو مینویسیم و نگه میدارم؛ شما هم باید اینکار رو بکنید. (قبلاً توضیح دادم)
امروز رسیدم به اولین سوالم؛ با یکی از شرکتهای
گفتم سوال رو اینجا هم بذارم :
سیستمی رو پیاده سازی کن که بعنوان ورودی یک استرینگ از محاسبات ریاضی بصورت
من اینو یادمه که با
اما چندتا چیز رو بررسی میکرد:
۱- چون صحبت از
۲- حتماً باید
۳- سراغ پیادهسازی سادهتر رفتم (تصمیم گیری و شناخت مسأله، البته توضیح هم دادم چرا بنظرم سادهتر هست و ...)
۴- استفاده از
و موارد دیگهای که بعدش اومد و بحث شد؛ امروز دارم اینو تمرین میکنم با تست کیسهای سختتر. یاد اون مصاحبه افتادم و چون سوال خوبی بود برای تمرین گفتم اینجا هم بذارم.
پ.ن؛ اگر خواستید پیادهسازی کنید این حالات رو تست کنید (تو مصاحبه از مصاحبه کننده باید پرسیده بشه)
۱- سیستم ورودی
۲- سیستم
۳- سیستم فقط از ۴ عمل اصلی + پرانتز پشتیبانی خواهد کرد
۴- ورودیهای عددی ممکنه
۵- ممکنه بین کاراکترها space باشه یا نباشه
هر دو درست هست.
بعد از خیلی سال دوباره یک مصاحبه خیلی مهم دارم با یک شرکت بزرگ. برای همین چند روزی هست که روزی ۱-۲ ساعت دارم تمرین انجام میدم (خیلی وقت بود ازینکارا نکرده بودم ولی حالا که وقت دادن قبل مصاحبه بد نیست تمرین کنم)
سوالاتی که توی مصاحبههای خوبم تجربه کردم و بنظرم سوالات ارزشمندی بوده رو دارم تمرین میکنم و البته بحثهایی که بعدش اومده.
بله من سوالات و بحثهای مهم رو مینویسیم و نگه میدارم؛ شما هم باید اینکار رو بکنید. (قبلاً توضیح دادم)
امروز رسیدم به اولین سوالم؛ با یکی از شرکتهای
FAANG
خیلی سال پیش بود و سوال مرحله اول (دقیقاً چهره مصاحبه کننده و استرس خودم و ... همرو یادم هست.) گفتم سوال رو اینجا هم بذارم :
سیستمی رو پیاده سازی کن که بعنوان ورودی یک استرینگ از محاسبات ریاضی بصورت
infix
دریافت کنه؛ بتونه خروجی رو بصورت postfix
, یا prefix
(هرکدوم راحتتری) تحویل بده یا اگر object
اون کلاس صدا زده شده؛ با استفاده از postfix/prefix
پیادهسازی شده محاسبات رو انجام بده و خروجی رو تحویل.من اینو یادمه که با
postfix
حل کردم چون راحتتر بود (stack) : اما چندتا چیز رو بررسی میکرد:
۱- چون صحبت از
object
شد باید. OOP
میبود۲- حتماً باید
__call__
رو براش پیادهسازی میکردم که callable
باشه (این یعنی داندر متودها رو میشناسم) ۳- سراغ پیادهسازی سادهتر رفتم (تصمیم گیری و شناخت مسأله، البته توضیح هم دادم چرا بنظرم سادهتر هست و ...)
۴- استفاده از
stack
که بعد خود stack
رو پیادهسازی کردم (آشنایی با DS
, حتی بحث هم کردم بین LinkedList, Array
چرا و کدوم رو انتخاب میکنم برای ساخت stack
) و موارد دیگهای که بعدش اومد و بحث شد؛ امروز دارم اینو تمرین میکنم با تست کیسهای سختتر. یاد اون مصاحبه افتادم و چون سوال خوبی بود برای تمرین گفتم اینجا هم بذارم.
پ.ن؛ اگر خواستید پیادهسازی کنید این حالات رو تست کنید (تو مصاحبه از مصاحبه کننده باید پرسیده بشه)
۱- سیستم ورودی
invalid
داشته باشه؛ خروجی برای هر دو حالت None
هست ۲- سیستم
infix
برای اولویت دادن به محاسبات از () ممکنه استفاده کنه۳- سیستم فقط از ۴ عمل اصلی + پرانتز پشتیبانی خواهد کرد
۴- ورودیهای عددی ممکنه
float/int
باشه۵- ممکنه بین کاراکترها space باشه یا نباشه
"17+3.5" or "17 + 3.5"
هر دو درست هست.
👍25❤🔥8❤8