ראיון ראשון למשך שעה ו15 דק'.
שלב ראשון- הכרה ושאלה על התמודדות בסיטואציות מסויימות.
שלב שני- שאלה תכנית (כתיבת קוד).
שאלות מתוך הראיון
האם פעם איחרת בהגשת פרוייקט? איך התמודדתה? למה איחרת? ובאיזה שלב ידעת שתאחרו?
בהינתן החתימות:
void* os_malloc(int size), void os_free(void* ptr,int size)
תממש ב-C:
void* malloc(int size), void free(void* ptr)
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2021
מקצים את הגודל המבוקש ועוד size_t (8) שמייצג את גודל ההקצאה, שומרים את זה בהתחלה והמחזירים מצביע לאחרים הגודל. משחררים פשוט הולכים אחורה ומוצאים את הגודל
1) מימוש פונ' שמקבלת מערך של char ותת מחרוזת ומורידה מהמערך את כל המופעים של התת מחרוזת בלי שימוש במקום נוסף.
2) מימוש malloc+free
3) יש משתנה סטטי, יש פונ' רצה בלולאה 10 פעמים וכל פעם מקדמת את המשתנה הסטטי, 2 תהליכונים מריצים את הפונ', מה הערך המינימלי ומה הערך המקסימאלי של המשתנה הסטטי.
4)הבדל בין תהליך לתהליכון, מתי אשתמש בתהליך ומתי בתהליכון.
5) מה זה זיכרון וירטואלי
6) מה נמצא ב-stack ומה ב-heap
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
1) הרעיון של sliding window, בודקים כל פעם תת מחרוזת מתוך המערך האם היא שווה לתת מחרוזת שהתקבלה, אם כן שמים במקום האיברים שמה "", בסוף עוברים על המערך וכל מקום שיש "" דוחסים לשם את התו הבא התקין. סיבוכיות של n (גודל המערך)
ינואר 2022
6) בstack נמצאים המשתנים הלוקאליים, בheap נמצאים משתנים שהגדרנו במורה דינאמית.
5) דרך ליצג מרחב זיכרון קטן ומוגבל RAM על ידי מערך של זיכרונות וירטואליים שמכיל הרבה יותר מקום. טבלת הדפים ממירה בין מרחב בכתובות הוירטואלי לפיזי ומעבירה דפים מהדיסר לזיכרון במידת הצורך.
פברואר 2022
2. לכל הפחות 2. לכל היותר 20 (יש שם מרוץ בין החוטים)