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

1. مهندسی داده چیست؟

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

مطلب پیشنهادی

رشته مهندسی داده چیست و چرا پدید آمده است؟
تخصصی ویژه در زمینه مدیریت داده‌ها

2. چرا رشته مهندسی داده را انتخاب کردید؟

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

3. توضیح کوتاهی درباره انبار داده و پایگاه داده ارائه دهید

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

4. *args و **kwargs به چه معنا هستند؟

اگر برای احراز یک موقعیت شغلی مهندس داده ارشد رزومه ارسال کرده‌اید، باید آمادگی پاسخ‌گویی به پرسش‌های پیشرفته‌تر درباره کدنویسی را داشته باشید. شما باید به مصاحبه‌گر بگویید که args* یک تابع مرتب را تعریف می‌کند، در حالی که kwargs** آرگومان‌های نامرتب مورد استفاده در یک تابع را نشان می‌دهد. برای تحت تاثیر قرار دادن مصاحبه‌کننده، بد نیست به‌شکل تصویری به مثالی اشاره کنید تا سطح تخصص خود را به‌خوبی نشان دهید. 

مطلب پیشنهادی

علم داده‌ها چیست، چه کاری انجام می‌دهد و چرا مورد توجه شرکت‌ها قرار دارد؟

5. به‌عنوان یک مهندس داده، چگونه بحران شغلی خود را مدیریت می‌کنید؟

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

6. آیا تجربه‌ای در مدل‌سازی داده‌ها دارید؟

در مصاحبه استخدامی از شما سوال می‌شود که چگونه فرآیند مدل‌سازی داده‌ها را انجام می‌دهید. اگر تجربه مدل‌سازی داده‌ها را ندارید، بهتر است، به دانش تئوری خود مراجعه کنید و به مصاحبه‌کننده اعلام کنید که فرآیند انجام این‌کار به این صورت است که عمل تبدیل و پردازش داده‌های واکشی‌شده از منابع را انجام می‌دهید و داده‌ها را برای فرد یا افراد مناسب ارسال می‌کنید. اگر سابقه کار اجرایی در این زمینه دارید، می‌توانید به جزئیات کارهایی که انجام داده‌اید، اشاره کنید. همچنین، اگر تجربه کار با ابزارهایی مثل Talend ،Pentaho یا Informatica را دارید، بهتر است به آن اشاره کنید. اگر تجربه کار با ابزارهای تخصصی را ندارید، پیشنهاد می‌کنیم کمی وقت صرف کرده و نحوه کار با این ابزارها را بیاموزید. 

7. چرا به این شغل علاقه دارید و چرا باید شما را استخدام کنیم؟

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

مطلب پیشنهادی

یک مهندس داده به چه مهارت‌ها و دانشی نیاز دارد؟

8. مهارت‌های ضروری مورد نیاز یک مهندس داده چیست؟

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

  •  دانش جامع در مورد مدل‌سازی داده‌ها
  •  آشنایی با طراحی پایگاه داده و معماری پایگاه داده‌‌های  SQL و NoSQL
  •  افزایش تجربه کاری در زمینه انباره‌های داده‌ها و سیستم‌های توزیع شده مثل Hadoop (HDFS)
  •  مهارت‌های مصورسازی داده‌ها
  •  تجربه کافی در کار با انباره‌های داده و ابزارهای ETL (Extract Transform Load)
  •  بهبود مهارت‌ها در زمینه مباحث ریاضی و آماری
  •  بهبود مهارت‌های نرم در زمینه تعامل با افراد، تفکر انتقادی و توانایی‌های حل مسئله

9. آیا می‌توانید چارچوب‌ها و برنامه‌های ضروری موردنیاز مهندسان داده را نام ببرید؟

مصاحبه‌کنندگان این پرسش را با این هدف مطرح می‌کنند تا متوجه شوند آیا متقاضی، شرایط سازمانی را که قصد کار در آن دارد به‌درستی درک کرده و مهارت‌های موردنیاز آن‌ها را در اختیار دارد. در پاسخ خود باید به نام چارچوب‌ها و سطح تجربه خود در هر کدام از آن‌ها به‌شکل دقیق اشاره کنید. اگر تجربه کافی در کار با SQL، Hadoop، Python یا مهارت‌های دیگر دارید، به این موارد اشاره کنید و اگر پروژه‌هایی روی گیت‌هاب در این زمینه دارید که قابل استناد هستند به آن‌ها اشاره کنید. 

10. آیا در پایتون، جاوا یا سایر زبان‌های برنامه‌نویسی تجربه کار عملی دارید؟

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

11. آیا می‌توانید تفاوت میان یک مهندس داده و دانشمند داده را بیان کنید؟

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

12. وظایف روزانه یک مهندس داده را شرح دهید؟

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

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

13. رویکرد شما برای توسعه یک محصول تحلیلی جدید به‌عنوان یک مهندس داده چیست؟

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

14. الگوریتمی که در پروژه اخیر استفاده کردید چه بوده؟

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

  •  چرا این الگوریتم را انتخاب کردید و آیا می‌توانید آن را با دیگر الگوریتم‌های مشابه مقایسه کنید؟
  •  مقیاس‌پذیری این الگوریتم با داده‌های بیشتر به چه صورتی است؟
  •  آیا از نتایج راضی هستید، اگر زمان بیشتری به شما داده شود چه چیزی را می‌توانید بهبود بخشید؟

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

15. در پروژه اخیر از چه ابزارهایی استفاده کردید؟

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

16. در پروژه اخیرتان با چه مشکلاتی روبه‌رو شده‌اید و چگونه بر این چالش‌ها غلبه کردید؟

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

  • وضعیت (State): توضیح مختصری درباره عواملی که باعث بروز مشکل شده‌اند، ارائه کنید.  
  • وظیفه (Task): به نقش خود به‌عنوان یکی از اعضا تیم برای غلبه بر مشکل اشاره کنید. به‌طور مثال، اگر نقش مدیریت را بر عهده داشته‌اید و راه‌حلی ارائه کردید، شرح مختصری در مورد وظایف خود ارائه کنید. 
  • اقدام (Action): توضیح مختصری درباره کارهایی که برای حل مشکل انجام داده‌اید، ارائه کنید. به‌طور مثال، توضیح دهید در هر مرحله چه اقداماتی برای شناسایی و حل مشکل انجام داده‌اید. 
  • نتیجه (Result): در نهایت باید توضیحی درباره خروجی اقدامات خود ارائه کنید. بهتر است در مورد آموخته‌ها و بینش‌های به‌دست‌آمده توسط خودتان و سایر ذی‌نفعان صحبت کنید.

17. آیا تا به حال داده‌های بدون ساختار را به داده‌های ساخت‌یافته تبدیل کرده‌اید؟

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

18. مدل‌سازی داده چیست، آیا قادر به درک مدل‌های مختلف داده‌ای هستید؟ 

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

19. آیا می‌توانید طرح‌واره‌های طراحی را در Data Modelling توضیح دهید؟

طرح‌واره‌های طراحی، اصول زیربنایی مهندسی داده‌ها را شکل می‌دهند و به همین دلیل، مصاحبه‌کنندگان این پرسش را برای آزمایش دانش مهندسی داده شما مطرح می‌کنند. در پاسخ خود سعی کنید مختصر و دقیق باشد. بهتر است به دو طرح‌واره مشهور Star و Snowflake اشاره کنید. همچنین، توضیح دهید که طرح‌واره Star به یک جدول حقایق (Facts) تقسیم می‌شود که جداول پایگاه داده به آن ارجاع می‌دهند و ماهیت پویا دارند، به‌طوری‌که همه جداول به یک جدول واقعیت مرتبط هستند. در طرح‌وارهSnowflake ، جدول حقایق ثابت است. در مورد جداول فوق، متخصص داده باید فرآیند نرمال‌سازی را روی جداول انجام ‌دهد تا بهینه شوند. 

20.انتقال داده از یک پایگاه داده به پایگاه داده دیگر، چگونه انجام می‌شود؟

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

21. آیا با ETL کار کرده‌اید، اگر بله، لطفا شرح دهید کدام یک عملکرد بهتری دارند و چرا؟

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

22. هدوپ چیست و چه ارتباطی با بزرگ داده‌ها دارد، می‌توانید مولفه‌های مختلف آن را توضیح دهید؟

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

  • HDFS سرنام Hadoop Distributed File System است و تمام داده‌های هدوپ را ذخیره می‌کند. به‌عنوان یک سیستم فایل توزیع‌شده، پهنای باند بالایی دارد و کیفیت داده‌ها را حفظ می‌کند.
  •  MapReduce توانایی پردازش حجم زیادی از داده‌ها را دارد. 
  •  Hadoop Common به گروهی از کتاب‌خانه‌ها و توابع کلیدی اشاره دارد که می‌توانید در هدوپ از آن‌ها استفاده کنید.
  •  YARN سرنام Yet Another Resource Negotiator وظیفه تخصیص و مدیریت منابع در هدوپ را بر عهده دارد. 

23. آیا تجربه‌ای در زمینه ساخت سیستم‌های داده با استفاده از چارچوب هدوپ دارید؟

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

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

24. آیا می‌توانید در مورد NameNode اطلاعاتی ارائه دهید، اگر NameNode خراب شود چه اتفاقی می‌افتد؟

یک مولفه مرکزی در سیستم فایل توزیع‌شده HDFS است که داده‌های واقعی را ذخیره نمی‌کند و به‌جای آن متادیتا را ذخیره می‌کند. به‌عنوان مثال، متاداده‌هایی که در DataNodes ذخیره می‌شوند، به داده‌های واقعی و موقعیت مکانی آن‌ها در سیستم اشاره دارند. به‌طور کلی، همواره یک NameNode وجود دارد، از این‌رو، زمانی که از کار می‌افتد، سیستم ممکن است در دسترس نباشد.

25. آیا با مفاهیم Block and Block Scanner در HDFS آشنایی دارید؟

بهتر است با توضیح این‌که بلوک‌ها کوچک‌ترین واحد یک فایل داده هستند، توضیحات خود را آغاز کنید. هدوپ، به‌طور خودکار فایل‌هایی را که حجم زیادی دارند به بلوک‌هایی تقسیم می‌کند تا به‌شکل ایمن ذخیره‌سازی شوند. Block Scanner فهرست بلوک‌های ارائه‌شده در DataNode را تایید می‌کند.

26. وقتی Block Scanner، یک بلوک داده خراب را شناسایی می‌کند چه اتفاقی می‌افتد؟

این پرسش توسط تمامی مصاحبه‌کنندگان مطرح می‌شود. شما باید با شرح تمام مراحل و به دنبال آن ارائه مثالی برای یک Block Scanner هنگامی که یک بلوک داده خراب را پیدا می‌کند، پاسخ دهید.

ابتدا، DataNode بلوک خراب را به NameNode گزارش می‌کند. NameNode با استفاده از مدل موجود، یک کپی می‌سازد. اگر سیستم بلوک داده‌های خراب را حذف نکند، NameNode مطابق با ضریب تکرار، اقدام به ساخت کپی می‌کند.

27. DataNode  چه پیام‌هایی از NameNode دریافت می‌کند؟

NameNodes اطلاعات مربوط به داده‌ها را از DataNodes به صورت پیام یا سیگنال‌های زیر دریافت می‌کند:

  •  سیگنال‌های گزارش بلوک که لیستی از بلوک‌های داده ذخیره‌شده در DataNode هستند.
  •  سیگنال‌های Heartbeat که نشان‌دهنده سالم بودن DataNode هستند. این یک گزارش دوره‌ای برای تعیین این موضوع است که آیا از NameNode استفاده می‌شود یا خیر. اگر این سیگنال ارسال نشود، به این معنی است که DataNode متوقف شده است. 

28. آیا می‌توانید در مورد Reducer در Hadoop MapReduce توضیح دهید و متدهای اصلی Reducer را شرح دهید؟

  • Reducer مرحله دوم پردازش داده‌ها در چارچوب هدوپ است. Reducer خروجی داده‌های نگاشت‌شده را پردازش، خروجی نهایی را تولید می‌کند و در HDFS ذخیره می‌کند. Reducer دارای سه مرحله زیر است: 
  • Shuffle: خروجی دریافتی از توابع نگاشت را که مرتب نیستند دریافت و به‌عنوان ورودی برای Reducer ارسال می‌کند. 
  • Sorting: فرآیند مرتب‌سازی همزمان داده‌ها را انجام می‌دهد و خروجی را برای توابع Mapper ارسال می‌کند. 
  • Reduce: در این مرحله Reduces جفت کلید-مقدار را تجمیع می‌کند و خروجی‌ای را که در HDFS ذخیره می‌شود، تولید می‌کند. 

29. چگونه می‌توانید یک راه‌حل کلان‌داده را مستقر کنید؟

مصاحبه‌کنندگان به مطرح کردن این پرسش علاقه‌مند هستند تا مراحلی را که برای استقرار یک راه‌حل کلان‌داده دنبال می‌کنید بدانند. شما باید به سه مرحله مهم زیر اشاره کنید:

  • Data Integration/Ingestion: در این مرحله استخراج داده‌ها از منابع داده مثل RDBMS، Salesforce، SAP، MySQL انجام می‌شود.
  • ذخیره‌سازی داده‌ها: داده‌های استخراج‌شده در یک پایگاه داده HDFS یا NoSQL ذخیره می‌شوند.
  • پردازش داده‌ها: آخرین مرحله، پیاده‌سازی راه‌حل‌های موجود با استفاده از چارچوب‌های پردازشی مثل MapReduce، Pig و Spark است. 

30. از کدام کتاب‌خانه‌های پایتون برای پردازش داده‌ها استفاده می‌کنید؟

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

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟