PYHINTS Telegram 831
#تجربه
ساختمان داده و الگوریتم؛

بیشترین سوالی که همیشه از من می‌شه؛ چقدر باید
Data structure, Algorithm
بلد باشم و یا چندتا leetcode باید حل کنم ؟

اول سوال دوم رو جواب میدم؛ تعداد leetcode هیچ ربطی به سواد الگوریتم شما نداره و ۲ نوع آدم leetcode زیادی حل می‌کنند :

۱- چالش‌های لیت‌کد براشون تفریح هست و توی اوقات فراغت ترجیح میدند اینکار رو انجام بدند.

۲- درک درست از algorithm, data structure پیدا نکردند و در تلاش هستند برای حفظ کردن پترن (که اصلاً هم کار بدی نیست)

مسئله اینه که درواقعیت
Data structure, Algorithm
خیلی شبیه به شطرنج می‌مونه؛ افراد خیلی خیلی کمی توی دنیا وجود دارند که الگوی جدیدی رو بنام خودشون ثبت می‌کنند اما باقی افراد فقط پترن‌های پرتکرار رو تمرین و حفظ می‌کنند.

نمی‌دونم تا حالا به اپلیکیشن‌های آموزش شطرنج سر زدید یا نه؛ توی تمام موارد تلاش می‌کنه با تکرار بسیار انواع الگو‌ها رو بهتون آموزش بده، به محض اینکه شما توی مسابقه اون الگو رو ببینید راهکارش رو از حافظه واکشی می‌کنید.

اما یک راهکار بهتر هم هست؛ که ۹۹٪ اپلیکیشن‌ها به شما نمی‌گه (پول توی این هست که شما زمان طولانی‌تری برای یادگیری صرف کنید) راهکار بهتر چیه ؟
اول توضیح هدف:

برای یک شروع موفق توی بازی شطرنج شما باید سوار بر وسط زمین باشی و کنترل وسط زمین رو به دست بگیری


همین توضیح نیاز شما به انجام ۲۰۰ تا تمرین رو به ۱۰ میرسونه.

زمانی که خصوصی برای مصاحبه آموزش میدادم (چندین سال قبل) همیشه بعد از بررسی هر
Data Structure
به افراد یاد میدادم با خوندن سوال اون‌ها رو دسته بندی کنند؛ تمرین بین جلسات هم همین بود.
مثلاً اگر آرایه‌ها رو بررسی کردیم؛ سوالات مربوط به آرایه‌ها رو پیدا کنند، و ۱۰۰ مورد رو بررسی و دسته‌بندی کنند شاید ۴-۵ دسته می‌شدند.

بعد از بررسی الگوریتم‌های مهم آرایه‌ها؛ فقط کافی بود از هر دسته ۱ سوال یا نهایتاً ۲ سوال رو حل کنند.

و اینطوری با تعداد خیلی کمتری حل leetcode به موفقیت می‌رسیدند (معمولاً کمتر از ۳ ماه وقت داشتند)


اما سوال اول؛
چقدر
Data Structure, Algorithm
باید بلد باشیم ؟

برای مصاحبه همه‌ی موارد رو باید بشناسید؛ اما مثلاً برای مصاحبه جونیور هیچوقت از شما red black tree پرسیده نمی‌شه یا مثلاً شاید حتی Trie پس بسته به سطح مصاحبه روی مباحث مختلف وقتتون رو تنظیم کنید.

اما توی کار چطور ؟
خیلی بستگی به نوع کار شما داره؛ مثلاً اگر توسعه دهنده دیتابیس باشید حتماً باید B-tree و انواع موارد بهبود یافته اون رو حتی بهتر از array بشناسید.

اما اگر نه؛ ممکنه هیچوقت بهش نیاز نداشته باشید.
توی ۳ سال اخیر برای من فقط یکبار از Trie لازم شده استفاده کردم، اونم برای پردازش string


پس؛ سعی کنید پترن‌ رو یاد بگیرید بدون اینکه مسئله حل کنید. توی لیت‌کد باید سوالاتی که بنظرتون تکنیک حل یکسان داره رو شناسایی کنید و کنار هم قرار بدید.
تمرکز رو روی مباحثی بذارید که بیشتر به سطح شما میخوره و باقی مباحث رو فقط یکبار بخونید که باهاش آشنا باشید.
شغلی که براش اپلای می‌کنید رو بررسی کنید و الگوریتم و ساختمان داده‌های مهم توی اون کار رو به خوبی هرچه تمام‌تر یاد بگیرید.

توی دوره‌های خصوصی بنده برای مصاحبه‌ گوگل، آمازون و متا و ....
دقیقاً این کاری بود که با بچه‌ها انجام می‌دادم و این تکنیکی هست که خودم برای یادگیری استفاده کردم؛ حل تعداد زیادی لیت‌کد روش مورد علاقه من نیست.

هیچ علاقه‌ای به دوره خصوصی برگذار کردن ندارم دیگه.
👍4627



tgoop.com/pyHints/831
Create:
Last Update:

#تجربه
ساختمان داده و الگوریتم؛

بیشترین سوالی که همیشه از من می‌شه؛ چقدر باید
Data structure, Algorithm
بلد باشم و یا چندتا leetcode باید حل کنم ؟

اول سوال دوم رو جواب میدم؛ تعداد leetcode هیچ ربطی به سواد الگوریتم شما نداره و ۲ نوع آدم leetcode زیادی حل می‌کنند :

۱- چالش‌های لیت‌کد براشون تفریح هست و توی اوقات فراغت ترجیح میدند اینکار رو انجام بدند.

۲- درک درست از algorithm, data structure پیدا نکردند و در تلاش هستند برای حفظ کردن پترن (که اصلاً هم کار بدی نیست)

مسئله اینه که درواقعیت
Data structure, Algorithm
خیلی شبیه به شطرنج می‌مونه؛ افراد خیلی خیلی کمی توی دنیا وجود دارند که الگوی جدیدی رو بنام خودشون ثبت می‌کنند اما باقی افراد فقط پترن‌های پرتکرار رو تمرین و حفظ می‌کنند.

نمی‌دونم تا حالا به اپلیکیشن‌های آموزش شطرنج سر زدید یا نه؛ توی تمام موارد تلاش می‌کنه با تکرار بسیار انواع الگو‌ها رو بهتون آموزش بده، به محض اینکه شما توی مسابقه اون الگو رو ببینید راهکارش رو از حافظه واکشی می‌کنید.

اما یک راهکار بهتر هم هست؛ که ۹۹٪ اپلیکیشن‌ها به شما نمی‌گه (پول توی این هست که شما زمان طولانی‌تری برای یادگیری صرف کنید) راهکار بهتر چیه ؟
اول توضیح هدف:

برای یک شروع موفق توی بازی شطرنج شما باید سوار بر وسط زمین باشی و کنترل وسط زمین رو به دست بگیری


همین توضیح نیاز شما به انجام ۲۰۰ تا تمرین رو به ۱۰ میرسونه.

زمانی که خصوصی برای مصاحبه آموزش میدادم (چندین سال قبل) همیشه بعد از بررسی هر
Data Structure
به افراد یاد میدادم با خوندن سوال اون‌ها رو دسته بندی کنند؛ تمرین بین جلسات هم همین بود.
مثلاً اگر آرایه‌ها رو بررسی کردیم؛ سوالات مربوط به آرایه‌ها رو پیدا کنند، و ۱۰۰ مورد رو بررسی و دسته‌بندی کنند شاید ۴-۵ دسته می‌شدند.

بعد از بررسی الگوریتم‌های مهم آرایه‌ها؛ فقط کافی بود از هر دسته ۱ سوال یا نهایتاً ۲ سوال رو حل کنند.

و اینطوری با تعداد خیلی کمتری حل leetcode به موفقیت می‌رسیدند (معمولاً کمتر از ۳ ماه وقت داشتند)


اما سوال اول؛
چقدر
Data Structure, Algorithm
باید بلد باشیم ؟

برای مصاحبه همه‌ی موارد رو باید بشناسید؛ اما مثلاً برای مصاحبه جونیور هیچوقت از شما red black tree پرسیده نمی‌شه یا مثلاً شاید حتی Trie پس بسته به سطح مصاحبه روی مباحث مختلف وقتتون رو تنظیم کنید.

اما توی کار چطور ؟
خیلی بستگی به نوع کار شما داره؛ مثلاً اگر توسعه دهنده دیتابیس باشید حتماً باید B-tree و انواع موارد بهبود یافته اون رو حتی بهتر از array بشناسید.

اما اگر نه؛ ممکنه هیچوقت بهش نیاز نداشته باشید.
توی ۳ سال اخیر برای من فقط یکبار از Trie لازم شده استفاده کردم، اونم برای پردازش string


پس؛ سعی کنید پترن‌ رو یاد بگیرید بدون اینکه مسئله حل کنید. توی لیت‌کد باید سوالاتی که بنظرتون تکنیک حل یکسان داره رو شناسایی کنید و کنار هم قرار بدید.
تمرکز رو روی مباحثی بذارید که بیشتر به سطح شما میخوره و باقی مباحث رو فقط یکبار بخونید که باهاش آشنا باشید.
شغلی که براش اپلای می‌کنید رو بررسی کنید و الگوریتم و ساختمان داده‌های مهم توی اون کار رو به خوبی هرچه تمام‌تر یاد بگیرید.

توی دوره‌های خصوصی بنده برای مصاحبه‌ گوگل، آمازون و متا و ....
دقیقاً این کاری بود که با بچه‌ها انجام می‌دادم و این تکنیکی هست که خودم برای یادگیری استفاده کردم؛ حل تعداد زیادی لیت‌کد روش مورد علاقه من نیست.

هیچ علاقه‌ای به دوره خصوصی برگذار کردن ندارم دیگه.

BY Python Hints


Share with your friend now:
tgoop.com/pyHints/831

View MORE
Open in Telegram


Telegram News

Date: |

"Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group. Select “New Channel” The group also hosted discussions on committing arson, Judge Hui said, including setting roadblocks on fire, hurling petrol bombs at police stations and teaching people to make such weapons. The conversation linked to arson went on for two to three months, Hui said.
from us


Telegram Python Hints
FROM American