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 (יש שם מרוץ בין החוטים)
בהנתן מחרוזת הוצא את אורך תת המחרוזת המקסימלי שאין בו חזרות
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
נגדיר קבוצה לא ממוינת ומשנה max שיותחל לאפס.
נעבור על כל איברי המחזוזת ונשאל : אם הוא בקבוצה אז נמחק את הקבוצה. בכך מקרה נכניס לקבותה ונקבע את max להיות הערך המקסימלי בין max לבין גודל הקבוצה
ראיון וירטואלי ראשוני של כשעה וחצי ועוד יום ראיונות עם 4 ראיונות רצופים פרונטליים אם עוברים (בגלל קורונה גם הם היו וירטואליים).
בראיון הראשוני שואלים שאלות היכרות ושתי שאלות מקצועית קצרות.
ביום ראיונות בכל ראיון שואלים שתי שאלות מעקרונות המנהיגות של אמזון ושאלה אחת מקצועית.
שאלות מתוך הראיון
1. בהינתן מטריצה m*n המדמה לוח של משחק צוללות ספור את הצוללות.
המטריצה מכילה ערכים בוליאניים וכל צוללת בהכרח מלבנית ואינה נוגעת בחברתה.
2. נתון עץ חיפוש בינארי שבנוסף למבנה הסטנדרטי של כל קודקוד הוא מכיל גם את מספר הקודקודים שמתחתיו.
בהינתן שורש העץ ומספר K החזר את הקודקוד ה K בעץ.
3. ממש את מבנה הנתונים הבא:
init - מאתחל את מבנה הנתונים בגודל נתון
getIndex - החזר אינדקס פנוי
freeIndex - שחרר אינקדס תפוס
4. ממש את מבנה הנתונים הבא (את כל הפעולות ב o(1). מלבד init):
init - מאתחל את מבנה הנתונים בגודל נתון
set - מבצע השמה לאינדקס נתון
get - מחזיר את הערך לאינדקס נתון
setAll - מבצע השמה לכל התאים במבנה הנתונים
5. נזכיר כי בטלפונים החכמים של היום ניתן להקיש ספרות שמתחתיהם אותיות וכך לקבל את שמות אנשי הקשר שמתאימים לרצף הספרות שהוקש. נממש אלגוריתם ומבנה נתונים זה.
ממש את מבנה הנתונים הבא:
init - אתחול
insert - הכנס מילה נתונה למילון
get - החזר את כל המילים המתאימות לרצף ספרות נתון
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2021
1. ניתן לביצוע במעבר יחיד על כל התאים
2. רקורסיה פשוטה תוך התחשבות בשני הבנים של כל קודקוד
3. האתגר לכתוב ב C ללא שימוש ב map
4. שימוש בחתימות זמן
5. שימוש ב Trie על הספרות