שחזורי ראיונות עבודה -> שחזור מלא באינטל: ראיון מהנדס pre silicon verification
  • שחזור מלא באינטל: ראיון מהנדס pre silicon verification
  • לפני 8 שנים
    ע"י: 1_אורח_כללי
    ראיון לתפקיד מהנדס pre silicon verification באינטל: הגעתי לחדר ההמתנה ואז הגיע המראיין. אינטל החלה בתהליך חדש בו יש להכניס את פרטי המראיין ואת המרואיין לתוך מסך מגע על מנת לקבל כרטיס מבקר. הונפק לי כרטיס ונכנסתי לבניין והלכתי לחדר הראיונות. חדר הראיונות היה סטנדרטי עם שולחן עגול, לוח ושני מראיינים. הריאיון התחלק לשלושה חלקים: השלב הראשון כלל שאלות כלליות לגביי (מצבי בלימודים, קורסים שלמדתי, תחומי עניין). ניתן היה להבחין כי השלב לא מעמיק וכנראה נועד לשבור את הקרח. במסגרת השלב הוסבר לי גם באופן כללי במה עוסק התפקיד ומה תפקיד הקבוצה באינטל. הוסבר כי מטרת הקבוצה לפתח פתרונות לענן הכוללים העברת כמויות גדולות של נתונים ועיבודם במהירות. התבקשתי לפרט על אחד הפרויקטים שביצעתי. הפרויקט שהרחבתי עליו היה מימוש מערכת לתקשורת עם GPIO על מכשיר cuda jetson tk4, הכולל persistent kernel להורדת התקורה הכרוכה בהקצאה חוזרת של ה-kernerl עבור פעולות קצרות. מכיוון שהמשרה היא משרת וריפיקציה, המראיינים התמקדו באופן שבו בחנו את תפקוד המערכת. בדיעבד הבחירה לספר דווקא על הפרויקט הזה הייתה בעייתית, שכן שיטות הבדיקה בפרויקט היו בעיקר אמפיריות ופחות שיטות סדורות של וריפיקציה. השלב השלישי היה בחינה ובה שתי שאלות: 1) בשאלה הראשונה, נאמר כי נתונה רשימה עם מספרים שלמים, נתונה פונקציה המחזירה את גודל הרשימה, ופונקציה המוחקת איבר מהרשימה. נאמר כי שתי הפונקציות תקינות. הוצג קטע פסאדו קוד שמטרתו מחיקת כל האיברים ברשימה הגדולים מערך כלשהו. קטע הקוד כלל, שמירה של גודלו ההתחלתי של הרשימה, לולאה הרצה ומ-0 עד גודל הרשימה בכל איטרציה של הלולאה, נבדק האם האיבר באינדקס i גדול מערך כלשהו, ובמידה וכן בוצעה קריאה לפונקציית המחיקה. החלק הראשון של הבעיה כלל זיהוי הבעיה ותיקונה(הבעיה נעוצה בכך שיש דילוג על איברים, וכן גלישה מעבר לגודל הרשימה). התיקון היה פשוט יחסית, והשתמשתי בלולאת while הרצה כל האינדקס i קטן ממספר האיברים הנוכחי ברשימה, וקידמתי את האינדקס, רק במידה ולא בוצעה מחיקה. החלק השני, נועד להציע שיטות לניפוי שגיאות, הכוונה הייתה לשימוש בטרמינולוגיה של וריפיקציה לבדיקת נכונות הקוד וכיסוי המצבים. 2) בשאלה השנייה, נתוני רכיבים מסוג 2-bit adder בלבד. נתבקשתי לממש רכיב המקבל כניסה של 8 סיביות ומוציא 3 סיביות בהן מספר ה-1 בכניסות, ללא חשיבות לסדר. הצלחתי לפתור את הבעיה באופן חלקי, הפתרון מתבסס על חלוקה לרמות על בסיס reduce, ובל רמה בעץ מבנה המזכיר חיבוריות Ripple carry adder. לאחר מכן, בוצע סיכום, נאמר לי שתוחזר תשובה תוך שבועיים, והלכתי לדרכי. * השחזור נשלח ע"י חבר קהילת JobHunt עם המודל של ג'ובהאנט מגיעים לפי 2 ראיונות עבודה ב-1/2 מהזמן! לבדיקת התאמה שלחו קו"ח