برنامه نویسی

Tata 1MG SDE1 – تجربه مصاحبه مهندس Frontend

سلام ، در این پست من تجربه مصاحبه خود را برای نقش مهندس SDE-1 Frontend در Tata 1MG به اشتراک می گذارم. این مصاحبه مدتی در ماه مه 2024 اتفاق افتاد و این وبلاگ هنوز در پیش نویس من بود. بنابراین ، من در نهایت تصمیم گرفتم که با تکمیل این وبلاگ ، تجربه خود را به اشتراک بگذارم.

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

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

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

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

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

دور اول

: این کار با یک مقدمه مختصر از هر دو انتها آغاز شد.
سوال اول اجرای یک تابع برای بررسی اینکه آیا یک رشته Palindrome است یا خیر.

در حالی که ، این یک سوال سخت نبود یا شامل استفاده از ساختارهای داده پیچیده بود ، من از مصاحبه کننده پرسیدم که آیا می توانم همان را در C ++ پیاده سازی کنم زیرا در نوشتن کد C ++ نسبت به JavaScript بسیار سریعتر هستم ، زیرا من برای مدت زمان طولانی مشکل LeetCode را در C ++ حل می کردم.
مصاحبه کننده اظهار داشت که این یک مصاحبه جبهه است ، بنابراین من باید به جای آن از JavaScript استفاده کنم.

نکته: تمرین سؤالات اساسی DSA در JavaScript ممکن است در بعضی موارد به شما کمک کند زیرا برخی از مصاحبه کنندگان انتظار دارند که فقط در JavaScript کدگذاری کنید. به یاد آوردن نحوه استفاده از ساختار داده های مشترک مانند نقشه و مجموعه به شما کمک می کند.

خوب ، اکنون به س questions الات بازگشتید.
سپس شروع به اجرای آن در JavaScript کردم.

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

سپس شروع به بحث در مورد برخی از سؤالات اساسی JavaScript کردیم

س: تفاوت بین let وت constبشر
جواب من تفاوت اساسی را به او گفتم و او راضی بود.

س: ابتدایی و انواع غیردولتی در JavaScript چیست؟
جواب من در مورد این اصطلاح نمی دانستم ، اما پاسخ این بود که به همه انواع اساسی مانند بولی ، شماره ، نامشخص ، تهی و غیره اشاره کنیم.

س: چرا جهش const مجاز است اما انتصاب مجدد نیست.
جواب: من در مورد جواب مطمئن نبودم و از طریق مثالهای کد توضیح دادم که انتصاب مجدد مجاز نیست اما نمی توانم توضیح دهم که چرا این اتفاق می افتد.
مصاحبه کننده به من گفت که پاسخ تا حدودی مربوط به سؤال قبلی در مورد بدوی است.

برای کسب اطلاعات بیشتر در این مورد می توانید این وبلاگ تعاملی عالی را توسط joshwcomeau فریب “const” فریب دهید

پرسش: چه چیزی در جاوا اسکریپت بلند می شود؟
جواب پریت مستقیم به جلو. من جواب را به او گفتم و بعد به سؤال بعدی منتقل شدیم.

س: TypeScript و ویژگی های آن چیست؟
جواب من به او در مورد رابط ها و انواع و سایر ویژگی های اساسی مانند قادر به گرفتن خطا قبل از دستی گفتم که فقط در صورت اجرای کد در صورت استفاده از JavaScript قابل شناسایی است. او از جواب راضی بود.

دور دوم

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

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

س: یک تغییر جزئی از مشکل 2 طبقه در Leetcode.
arr = [1, 5, 2, 6, 8, 9, 10]، هدف = 7
O/P: [1, 6]با [5, 2]با [2, 5]با [6, 1]

جواب من توانستم آن را به درستی پیاده سازی کنم.

س. polyfill of promise.all
جواب من از این امر بی خبر بودم ، بنابراین نتوانستم آن را مجازات کنم.

س: وراثت اولیه چیست؟
جواب من به درستی به آن پاسخ دادم و ما به سوال بعدی حرکت کردیم.

س: چگونه Usememo در زیر کاپوت کار می کند؟
جواب من به مصاحبه کننده گفتم که Usememo با صرفه جویی در محاسبه در برخی از ساختار داده ، یادآوری می کند تا بتوانیم در صورت لزوم بدون انجام محاسبه ، مستقیماً از آن استفاده کنیم. اما مصاحبه کننده انتظار پاسخ استقلال را داشت که من در آن زمان از آن آگاه نبودم.

در کل ، دور دوم من بد شد و من بعد از چند روز نامه رد کردم.

یادگیری

من اکنون فهمیده ام که اکنون برای توسعه دهندگان جبهه بسیار رایج و لخت است که برخی از تکنیک های بهینه سازی را یاد بگیرند و همچنین در مورد سؤالات مصاحبه متداول تمرین کنند. سوالات DSA که از آنها خواسته می شود Devs معمولاً آسان باشد.

پیشنهاد می کنم از لیست پخش Akshay Saini برای آماده سازی برای مصاحبه های جبهه استفاده کنید.

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

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

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

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

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