שחזורי ראיונות עבודה -> ראיון עבודה ב-Intel - מהנדס תוכנה
  • ראיון עבודה ב-Intel - מהנדס תוכנה
  • לפני 13 שנים
    ע"י: מהנדס תכנה
    לאחר הפרסומים הרבים שלהם, מישהו היה לאחרונה בראיון ויכול לספר / לשתף ? תודה
  • לפני 13 שנים
    ע"י: 1_אורח_כללי
    באיזה מקום היה הראיון? מול כמה אנשים? איזה בעל תפקיד מראיין בכל שלב? עוד שאלות מהשלב הראשון במקרה? תודה!
  • לפני 13 שנים
    ע"י: 1_אורח_כללי
    בראיון ראשון שאלו אותי: 1. נתונה רשימת קבצים ובכל אחד מהם #include לקבצים אחרים. יש לך פונקציה שבאמצעותה אתה יכול לטעון את כל קבצי ה-include מקובץ נתון. צריך לכתוב פונקציה שטוענת את כל קבצי ה-include בהינתן קובץ source מסויים. יש למנוע כניסה ללואה אינסופית הנגרמת מקריאת מעגלית של include. פתרון: ע"י רקורסיה בראיון שני: 1. לממש cashe בגודל n, המבוסס LRU. כל כניסה ל- cashe מורכבת מכתובת ותוכן. פתרון: hash table: ה-key הוא הכתובת. המיפוי נעשה ע"י פונקציית גיבוב של mod. בכל תא מחזיקים את התוכן שמופה לשם ברשימה משורשרת. חוצמזה מחזיקים רשימה דו-כוונית הממוינת לפי הזמן (ואז בטבלת הגיבוב יש הצבעות גם בין הרשימות השונות שבכל תא). 2. יש מגבלת זכרון של 12 ביט. כל פקודה מורכבת מכתובת ומהוראה.האם אפשר לתמוך בכל הדרישות הבאות: (פה נותנו לי 4 דרישות שאני לא זוכרת את כולן. דרישה היא מהסגנון: כתובת מורכבת מ-3 ביט והוראה מ-4 ביט). פתרון: אפשר לתמוך בכולן ובאחרונה רק בחצי מהדרישה (כדי להגיע לזה פשוט צריך להראות להם חישוב של כל האופציות השונות. יש מצב בו שבעקבות 2 דרישות אתם תצטרכו להשתמש ב-11 ביט, אז תשתמשו בביט הנותר כביט מציין, 0- פקודה ראשונה, 1- פקודה שנייה). אח"כ ביקשו ממני להוכיח את זה שא"א לתמוך בכל הדרישות, אז פשוט צריך לחשב את גודל הזיכרון הנדרש כדי לתמוך בכול הדרישות, ומקבלים שזה 12^2 + 8, ובפועל יש רק 12^2 זכרון, ולכן א"א לתמוך בכל הדרישות.
  • לפני 13 שנים
    ע"י: מהנדס תכנה
    בראיון ראשון שאלו אותי: 1. נתונה רשימת קבצים ובכל אחד מהם #include לקבצים אחרים. יש לך פונקציה שבאמצעותה אתה יכול לטעון את כל קבצי ה-include מקובץ נתון. צריך לכתוב פונקציה שטוענת את כל קבצי ה-include בהינתן קובץ source מסויים. יש למנוע כניסה ללואה אינסופית הנגרמת מקריאת מעגלית של include. פתרון: ע"י רקורסיה בראיון שני: 1. לממש cashe בגודל n, המבוסס LRU. כל כניסה ל- cashe מורכבת מכתובת ותוכן. פתרון: hash table: ה-key הוא הכתובת. המיפוי נעשה ע"י פונקציית גיבוב של mod. בכל תא מחזיקים את התוכן שמופה לשם ברשימה משורשרת. חוצמזה מחזיקים רשימה דו-כוונית הממוינת לפי הזמן (ואז בטבלת הגיבוב יש הצבעות גם בין הרשימות השונות שבכל תא). 2. יש מגבלת זכרון של 12 ביט. כל פקודה מורכבת מכתובת ומהוראה.האם אפשר לתמוך בכל הדרישות הבאות: (פה נותנו לי 4 דרישות שאני לא זוכרת את כולן. דרישה היא מהסגנון: כתובת מורכבת מ-3 ביט והוראה מ-4 ביט). פתרון: אפשר לתמוך בכולן ובאחרונה רק בחצי מהדרישה (כדי להגיע לזה פשוט צריך להראות להם חישוב של כל האופציות השונות. יש מצב בו שבעקבות 2 דרישות אתם תצטרכו להשתמש ב-11 ביט, אז תשתמשו בביט הנותר כביט מציין, 0- פקודה ראשונה, 1- פקודה שנייה). אח"כ ביקשו ממני להוכיח את זה שא"א לתמוך בכל הדרישות, אז פשוט צריך לחשב את גודל הזיכרון הנדרש כדי לתמוך בכול הדרישות, ומקבלים שזה 12^2 + 8, ובפועל יש רק 12^2 זכרון, ולכן א"א לתמוך בכל הדרישות. את יכולה לנסח את השאלה הראשונה שוב? לא הבנתי את הבעיה. את מתכוונת שבכל קובץ src ישנם includes וצריך למנוע ש-include יופעל פעמיים? קובץ src להבנתי הוא עם סיומת c, וקובץ include הוא עם סיומת h. לפי זה, לא נקרא לקובץ פעמיים, אלא עם צריך לשנות את הפונקציה הנתונה שטוענת את ה-includes..