برنامه نویسی

چگونه مصاحبه فنی خود را آس

فهرست مطالب

شما مهارت های یک توسعه دهنده وب را به دست آورده اید، اما آیا در اولین مصاحبه خود موفق خواهید شد؟ در این مقاله، مدیر استخدام با تجربه Kyle Tryon (TechSquidTV) ما را برای مصاحبه فنی آماده می کند!


TXG-76


درباره کایل تریون

Kyle Tryon یک مهندس نرم افزار، یک تولید کننده محتوا و یک علاقه مند به جاوا اسکریپت است که عاشق تدریس است!

او مدرک کاردانی را در فناوری اطلاعات در موسسه فنی ITT-Marlton، NJ دریافت کرد. او در حال حاضر در CircleCi، یک پلتفرم یکپارچه سازی و تحویل مداوم، به عنوان مهندس توسعه نرم افزار کارکنان کار می کند.

کایل در جامعه توییتر فناوری به خوبی شناخته شده است و با آموزش در وبلاگ و کانال یوتیوب خود TechSquidTV که بیش از یک میلیون بازدید ویدیو دارد، به دیگران کمک می کند تا به فناوری نفوذ کنند!


TechSquidTV


نحوه آماده شدن برای مصاحبه فنی

تحقیق در مورد شرکتی که برای آن درخواست می دهید، مزیت رقابتی به شما می دهد!

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

نمونه هایی از فناوری ها:

  • React Framework
  • Vue Framework
  • پشته MERN
  • MEAN Stack

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


یک نمونه کار قوی داشته باشید

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

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

بهتر است به کارفرمایان بالقوه «چیزی برای نگاه کردن» بدهید. کایل توضیح می دهد که این موضوع به این نیست که چه تعداد مربع مشارکت سبز در GitHub دارید، بلکه به کیفیت هر مربع مشارکت مربوط می شود! توانایی ایجاد و نگهداری پروژه های منبع باز و کیفیت کد شما، شایستگی و قابلیت های شما را به کارفرمایان نشان می دهد.

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


با Git راحت باشید

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

سوالات متداول مصاحبه عبارتند از:

  • آیا تجربه کنترل نسخه کار با توسعه دهندگان دیگر را دارید؟
  • آیا از پیام های مرسوم commit استفاده می کنید؟
  • آیا می توانید درخواست های کشش را ادغام کنید
  • آیا با سایر عملیات متداول مبتنی بر Git آشنا هستید؟

بنابراین چگونه می توانید این تجربه را قبل از اینکه در یک تیم کار کنید به دست آورید؟ یک راه عالی این است که به پروژه های منبع باز کمک کنید! با مشارکت فعال با عملیات Git مبتنی بر تیم آشنا خواهید شد.

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

اگر می خواهید با شاخه Git تمرین کنید، میزبان Scrimba Leanne منبع زیر را در اختیار ما قرار می دهد: Learngitbranching.js.org


نمایه GitHub شما

نمایه GitHub شما راهی عالی برای نشان دادن مهارت و تجربه شماست.

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


نکته: در نمایه GitHub خود، می توانید تا شش مورد از بهترین پروژه های خود را برای مشاهده دیگران پین کنید.


پین شده


در مخازن پین شده کایل، می توانید ببینید که او از زبان های زیر استفاده می کند:

  • TypeScript
  • برو
  • پوسته
  • جاوا اسکریپت

با مشاهده مخازن پین شده او، همچنین می توانید ببینید که او دارای 236 ستاره و 207 فورک است که نشان دهنده محبوبیت پروژه ها است! علاوه بر این، مخازنی نیز وجود دارد که نشان می دهد او تجربه کار با توسعه دهندگان دیگر را دارد.

اگر می خواهید یاد بگیرید که چگونه نمایه GidHub خود را سفارشی کنید، ممکن است سایر مقالات مرتبط من برای شما مفید باشد:


ساختار داده ها و الگوریتم ها

برای کایل، ساختارهای داده و الگوریتم‌ها در مورد مصاحبه‌ها چندان به وجود نیامده‌اند.

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

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

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


آزمایش کردن

با توسعه تست محور، قبل از نوشتن کد، تست های واحد را می نویسید. ایده تست واحد نوشتن کد عملکردی با خروجی های مورد انتظار است.

به عنوان مثال نوشتن یک آزمون واحد برای یک تابع اضافه شامل موارد زیر است:

  • در نظر گرفتن دو پارامتر (اعداد)
  • انتظار یک خروجی (تعداد)

پس از موفقیت آمیز بودن تست واحد، با افزودن دو پارامتر و سپس برگرداندن خروجی مورد انتظار، تابع را می نویسید.

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

شرکت های بزرگتر از انواع دیگری از آزمایشات استفاده می کنند، مانند:

  • تست انتها به انتها
  • تست بار
  • تست دود

اگر با تست واحد راحت هستید، کایل به ما می‌گوید که مهارت‌های اصلی را به دست آورده‌ایم و با آنها می‌توانیم انواع دیگر تست‌ها را به سرعت یاد بگیریم.

اگر می‌توانید با دانش در مورد توسعه مبتنی بر آزمایش صحبت کنید یا تجربه آن را داشته باشید، کایل به ما می‌گوید که در حال حاضر عالی کار می‌کنیم!


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


در اینجا چند منبع مفید برای تست واحد آورده شده است:


سوال من: “آیا توصیه ای به افراد تغییر شغل دارید که برای اولین شغل خود در فناوری مصاحبه می کنند؟”

سوال من


توصیه هایی برای تغییر شغل

با توجه به سن شما، به عنوان یک تغییر شغل، کایل به ما می گوید که سن ما مهم نیست!

هنگام مصاحبه، کایل معتقد است که ضروری است نشان دهید که به برنامه نویسی علاقه دارید.

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


زمانی که کایل مشغول یادگیری TypeScript بود، این بازی تعاملی تانک ماهی را ایجاد کرد! می توانید کد را در مخزن Splat Labs Aquarium GitHub او مشاهده کنید.


https://www.youtube.com/watch?v=q84IgTViFv8

نحوه ACE مصاحبه فنی مهندس نرم افزار


تست وایت برد

تست تخته سفید یک تکنیک رایج برای ارزیابی مهارت های کدنویسی داوطلبان بدون اتکا به منابع رایانه است. در حالی که کد دست خطی (شبه کد در برخی موارد)، داوطلبان راه حل های خود را “گفتگو” می کنند تا مصاحبه کنندگان بتوانند فرآیندهای فکری آنها را ارزیابی کنند.

به زبان ساده، کایل توضیح می دهد که هدف از تست تخته سفید این است که مشخص شود آیا اصول کدنویسی را می دانید یا خیر.

کایل ما را تشویق می کند که راحت و با اعتماد به نفس باشیم در حالی که راه حل های خود را برای موفقیت در این تست های “تحت فشار” توضیح می دهد.


موضوعات ناآشنا

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

کایل توضیح می دهد، “این نیست که شما آن را نمی دانید، بلکه این است که شما هنوز آن را نمی دانید، و شما مایل به یادگیری هستید!”


پنج سال دیگر خودت را کجا می بینی؟

کایل فاش می‌کند که سؤال «خودت را در پنج سال آینده کجا می‌بینی» این است که انگیزه‌های شخصی و شغلی خود را ارزیابی کنیم.

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

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


اگر می‌خواهید درباره سفر من با Scrimba بیشتر بدانید و چگونه یادگیری با آنها ممکن است به شما کمک کند، می‌توانید مقاله من را بخوانید: چگونه Scrimba به من و بسیاری دیگر کمک می‌کند تا به توسعه‌دهندگان وب مطمئن و آماده تبدیل شویم.


من همچنان تجربیات فوق العاده ای با Scrimba دارم و به شدت توصیه می کنم با آنها یاد بگیرم! می توانید بررسی کامل Scrimba من را در پست 12/13/2020 من بخوانید.

به نقل از هارالد بورگن

“این یکی از بهترین نقدهای Scrimba است که تا به حال خوانده ام، @MikeJudeLarocca. متشکرم! 🙏”

– پر هارالد بورگن، مدیر عامل Scrimba 14 دسامبر 2020


پیوندهای کایل تریون


نتیجه

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

داشتن یک نمایه GitHub فعال، شامل پروژه‌های نمونه کار منحصر به فرد و پروژه‌های منبع باز که حاوی ستاره‌ها و چنگال‌های فراوانی هستند، اشتیاق شما را نشان می‌دهد و ثابت می‌کند که تجربه کنترل منبع در دنیای واقعی را کسب کرده‌اید که شامل کار با دیگران نیز می‌شود.

وقتی از سوالاتی پرسیده می شود که نمی توانید به آنها پاسخ دهید یا سؤال بدنام “خود را در پنج سال آینده کجا می بینید”، هدف شما این است که با آرامش بیان کنید که مشتاق و مایل هستید که به دنبال یادگیری و رشد مهارت های خود تا جایی که هستید ادامه دهید. واجد شرایط برای پست های بالاتر که نیاز به مسئولیت بیشتری دارد.

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


بیایید وصل شویم! من در لینکدین فعال هستم و توییتر.


آیا اکنون از قبولی در مصاحبه فنی اطمینان دارید؟ آیا قبلاً مصاحبه فنی را پشت سر گذاشته اید؟ لطفا مقاله را به اشتراک بگذارید و نظر دهید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا