آماده سازی مصاحبه های فنی در حالی که نگه داشتن یک کار تمام وقت یکی از چالش های خواستار یک توسعه دهنده می تواند با آن مواجه شود. بین ایستاده های روزانه، مهلت های اسپریت و تعهدات شخصی، پیدا کردن زمان برای ساختارهای داده، الگوریتم ها و طراحی سیستم می تواند بدون موفقیت این مسیر را هدایت کند، و ثابت کرد که با استراتژی مناسب کاملاً قابل دستیابی است، این روش های مطالعه جامع را پوشش می دهد، و بدون اینکه مسئولیت های حرفه ای خود را حفظ کند.

هدف مصاحبه و شکاف مهارت خود را تعریف کنید

قبل از اینکه یک مشکل کد نویسی را باز کنید، دقیقاً درک کنید که برای چه چیزی آماده می شوید. [۱] انتظارات مصاحبه به طور چشمگیری بین شرکت ها، نقش ها و سطوح ارشدی متفاوت است. استارت آپ ها ممکن است بر طراحی سیستم عملی و حس محصول تأکید کنند، در حالی که شرکت های بزرگ فناوری اغلب به شدت بر روی الگوریتم ها و ساختارهای داده تمرکز می کنند: مطالعه تجارب مصاحبه اخیر در مورد Blind [F] [F:1LT] یا مهارت های شغلی مورد نیاز برای بررسی دقیق.

هنگامی که می دانید چه انتظاری دارید، یک ارزیابی خود را انجام دهید. موضوعاتی را که قبلا احساس راحتی می کنید را فهرست کنید – شاید روزانه از نقشه های هش استفاده کنید – و کسانی که به کار نیاز دارند، مانند برنامه نویسی پویا یا طراحی سیستم توزیع شده، این موجودی صادقانه به شما اجازه می دهد تا موضوعات با کارایی بالا را اولویت بندی کنید تا به طور تصادفی روی زمینه هایی که اغلب در مصاحبه های شرکت شما ظاهر می شوند و اگر شما در حال حاضر با الگوریتم های رویایی خود مواجه شوید، تمرکز کنید.

دانلود بازی Down Broad Subjects Into Managementable Chunks

ساختارهای داده به تنهایی آرایه ها، لیست های مرتبط، درختان، نمودارها، صف ها، توده ها و موارد دیگر را پوشش می دهند، سعی می کنند همه آنها را در یک زمان به یادگیری کم عمق هدایت کنند، در عوض، مطالعه خود را به موضوعات هفتگی یا دو هفته ای تقسیم کنید.یک هفته ممکن است آرایه ها و رشته ها، لیست های مرتبط بعدی را پوشش و عودات بعدی را پوشش دهد.

طراحی یک مطالعه که متناسب با زندگی شما است

ایجاد یک برنامه تنها مهم ترین گام است بدون یک برنامه، زمان مطالعه با خستگی کاری، تعهدات اجتماعی یا تعویق ساده خورده می شود. کلید (FLT:0consistency over شدت است.یک جلسه روزانه 30 دقیقه ای نتایج طولانی مدت بهتری نسبت به یک جلسه نیمه شب هفته ای دارد.

استفاده از زمان Blocking و تکنیک Pomodoro

بلوک های تقویم خاص را برای مطالعه، درست همانطور که برای یک جلسه می توانید انتخاب کنید، بسیاری از کاندیدهای موفق صبح زود قبل از کار، زمانی که ذهن تازه و حواس پرتی است، حداقل هستند. دیگران شب ها را پس از شام ترجیح می دهند، با استفاده از یک فعالیت کوتاه باد به پایین برای انتقال از حالت کار. - 25 دقیقه کار متمرکز و به دنبال یک استراحت 5 دقیقه ای - کاملا به یک جلسه استراحت ذهنی و جلوگیری از پایان هفته، جلوگیری از استفاده طولانی تر.

شامل یک جلسه Weekly Review Session

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

گزینه High-Yield Learning Resources

تعداد زیادی از کتاب ها، دوره ها و پلتفرم ها در دسترس هستند که استفاده از بسیاری از آنها تمرکز شما را رقیق می کند.یک مجموعه اصلی از منابع را انتخاب کنید و تا زمانی که محتوای خود را به پایان رسانده اید یا تسلط پیدا کنید، با آنها کنار بگذارید.

  • Algorithm و ساختار داده ها عمل می کنند: استاندارد طلا است، مصاحبه های مسخره، و انجمن های بحث آن را ضروری می کند. هدف حل 150 -200 مشکلات کیفیت پوشش همه الگوهای عمده.
  • پایه و اساس ادراکی: AlgoExpert [ ارائه می دهد توضیحات ویدئویی و مجموعه های مشکل تنظیم شده است که به خوبی با LeetCode برای یک گزینه رایگان، MIT OpenCourseWare سخنرانی در الگوریتم ها عالی است.
  • طراحی سیستم: کتاب را بخوانید طراحی برنامه های فشرده داده توسط مارتین Kleppmann و تماشای ] Gaurav Sen] سری طراحی سیستم [ در YouTube برای عمل ساختار یافته، استفاده از سیستم طراحی در مورد رویکرد Lee code و صحبت کردن در مورد همتایان خود را.
  • پیش فرض خاص و شرکت: استفاده از برای مصاحبه های مسخره رایگان با مهندسان دیگر شرکت ها همچنین وبلاگ های فرهنگ شرکت را بخوانید و سوالات رفتاری رایج مانند "به من بگویید در مورد زمانی که شما با یک تیم مخالف بودید. "

استفاده از تکرار فضا برای تاخیر طولانی مدت

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

تمرین با Intent، نه Just Volume

حل 20 مشکل در یک هفته بدون بازتاب آنچه آموخته اید، تلاش های بیهوده ای است که در عوض یک چارچوب عملی عمدی را اتخاذ می کند:

  • پس از حل یک مشکل، آن را طبقه بندی کنید (به عنوان مثال، دو نقطه، پنجره کشویی، جستجوی باینری).
  • برنامه ریزی قبل از برنامه نویسی: حداقل 5 تا 10 دقیقه تفکر را از طریق رویکرد، موارد لبه و پیچیدگی قبل از نوشتن یک خط واحد، این شبیه سازی محیط مصاحبه و ایجاد تفکر تحلیلی.
  • کد تمیز و قابل خواندن را بنویسید: از نام های متغیر معنی دار استفاده کنید، نظرات را برای بخش های پیچیده اضافه کنید و از قالب بندی سازگار پیروی کنید.
  • راه حل خود را تجزیه کنید: راه حل خود را با پاسخ بالا به لیت کد یا راه حل رسمی مقایسه کنید.تفاوت توجه در بهره وری یا خوانایی حل مشکل یک روز بعد بدون نگاه به پاسخ.

شرایط مصاحبه واقعی را ساده کنید

حدود دو هفته قبل از مصاحبه واقعی خود، شروع به تمرین تحت محدودیت های زمانی کنید.استفاده از ویژگی مصاحبه مسخره لیت کد یا تنظیم تایمر برای 45 دقیقه در هر مشکل متوسط / سخت، خودتان را توضیح دهید که فرایند فکر شما با صدای بلند است، این به شما کمک می کند تا ایده ها را به وضوح بیان کنید و هر گونه شکاف در طراحی سیستم، تمرین نمودار بر روی کاغذ یا تخته سفید در حالی که صحبت کردن با صدای بلند وجود دارد، هیچ جایگزینی برای اطمینان از این نوع و یا تغییر آن وجود ندارد.

از شغل فعلی خود به عنوان یک آزمایشگاه یادگیری استفاده کنید

کار تمام وقت شما یک مانع برای مصاحبه با prep نیست؛ یک دارایی است. Connect real-world پروژه ها را به مفاهیم مصاحبه فنی متصل می کند، به عنوان مثال، اگر شما بر روی یک پلت فرم میکروسرویس کار می کنید، شما در حال حاضر با تعادل بار، ذخیره سازی و پارتیشن بندی پایگاه داده - موضوعات طراحی سیستم هسته ای هنگام مطالعه سیستم های توزیع شده، از خودتان بپرسید: "چگونه خدمات ما را اداره می کند؟ این که چگونه یک گره یادگیری متنی عمیق تر می شود؟"

علاوه بر این، به دنبال تکالیف کششی در محل کار باشید که با موضوعات مطالعه شما هماهنگ باشد. Voluntly در یک refactor که از الگوهای طراحی که برای یادگیری نیاز دارید استفاده می کند یا پیشنهاد اجرای یک لایه Caching را پیشنهاد می کند نه تنها این یادگیری را تسریع می کند، بلکه همچنین نشان دهنده ابتکار و رشد فنی به کارفرمای فعلی شما است.

حفظ تعادل پایدار

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

  • خواب: هدف برای 7 تا 8 ساعت در شب تثبیت خواب برای رمزگذاری حافظه حیاتی است؛ شما در طول خواب عمیق تر از هر جلسه مطالعه یاد می گیرید.
  • حتی 20 دقیقه پیاده روی یا تمرین قدرتی کوتاه سه بار در هفته عملکرد شناختی را بهبود می بخشد و استرس را کاهش می دهد.
  • مرزهای اجتماعی: با شریک زندگی یا خانواده خود ارتباط برقرار کنید که یک بلوک مطالعه دارید، سپس به طور کامل از کار و مطالعه در طول زمان شخصی خود جدا شوید.
  • ریزکارها را تنظیم کنید: [FLT 1] به جای تمرکز بر فرود کار، پیروزی های کوچک مانند حل یک مشکل سخت را بدون کمک یا تکمیل یک عمل طراحی سیستم، حفظ انگیزه بالا.

از تله کمال گرایی اجتناب کنید

شما روزهایی خواهید داشت که نمی توانید به دلیل بحران کاری یا خستگی مطالعه کنید.این خوب است.سعی نکنید جلسات را با دو برابر شدن روز بعد از آن از دست بدهید، به سادگی برنامه خود را در هفته ها به عنوان برنامه ریزی شده، به یاد داشته باشید که شرکت ها در مورد توانایی حل مسئله شما اهمیت می دهند، نه اینکه چه تعداد از مشکلات شما در یک آخر هفته حل شده است.

نتیجه گیری

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