בהתחלה יש ראיון טכני הכולל 3 שאלות תכנותיות: ברמה נמוכה, בינונית וקשה.
לאחר מכן מתבצע ראיון כללי בו נשאלות שאלות הגיון, שאלות כלליות ומקצועיות.
שאלות מתוך הראיון
• ספרי לי על פרויקט אחד שעשית:
1. מה הכי הרבה שורות קוד שכתבת בו לגמרי לבד?
2. מה היה הכי קשה בפרויקט?
3. איך התמודדת עם הקושי?
4. איזה ספריות/משתנים השתמשת ומדוע דווקא בהם?
• ספרי לי על פרויקט שעשית עם צוות ומישהו לא שיתף פעולה,
כיצד התמודדת עם זה?
• מה ההבדל בין קוד טוב לקוד מצוין?
• תנסי להסביר לילד בן 6 ע"י דוגמא מהחיים מהי רקורסיה?
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2021
• ספרי לי על פרויקט שעשית עם צוות ומישהו לא שיתף פעולה,
כיצד התמודדת עם זה?
• מה ההבדל בין קוד טוב לקוד מצוין?
לדעתי זמן הריצה של הקוד, האופן בו הוא כתוב, האם קל לבן אדם שלא רשם אותו להבין מה הולך שם?
חיפשו לראות הבנה כללית וידע במבני נתונים וסיבוכיות
שאלות מתוך הראיון
לממש alloc() ו- free()
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2021
מגדירים מבנה של מטהדאטא שמאפיין בלוק של זיכרון (להלן: הדר). בלוק יכול להיות מוקצה או משוחרר, ומכיל מצביע לבלוק הבא (שבתורו, יכול להיות מוקצה או משוחרר).
במימוש לדוגמא אפשר להקצות בשיטת first fit, ובמעבר לינארי על רשימת הבלוקים למצוא את הבלוק הראשון הפנוי שגדול מספיק.
malloc: במעבר על הרשימה המקושרת של ההדרים, מחפשים בלוק פנוי מספיק גדול ומסמנים אותו כ"תפוס" בהדר. ליוזר נחזיר מצביע לזיכרון עצמו שנמצא ברצף אחרי ההדר. אם מצאנו בלוק גדול יותר מהבלוק המבוקש אז נקרא לפונקציה split שיודעת לפצל בלוק גדול קיים לשני בלוקים קטנים (אחד עבור היוזר שביקש הקצאה, והשני עבור שאר הזיכרון הפנוי שנשאר כשארית).
free: נסמן את הבלוק כפנוי ונקרא לפונקציה merge שיודעת לאחד בלוקים פנויים עוקבים.
שיטה יותר טובה למימוש היא Best fit, ובשיטה זו נחפש את הבלוק הגדול מספיק הכי קטן. כמו כן, בכל מימוש שלא כולל relocation של בלוקים, עשויה להיות בעיה של External Fragmangtation כלומר, יוזר עשוי לבקש בלוק ויהיה מספיק זיכרון פנוי אבל לא ברצף ולכן ההקצאה תיכשל.
בקשה למבנה נתונים יעיל של מערך של מחרוזות בו ניתן ב o של 1 לעדכן את המחרוזות במערך , ובנוסף שיהיה אופציה כנל בזמן קבוע לעדכן את כל השמות במערך לערך מסויים
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2021
אולי באמצעות טבלת גיבוב (במקרה הממוצע- אם יש התפלגות אחידה)
עוסקת בפיתוח, תכנות, שיווק ומתן זיכיונות למערכות הפעלה למחשבים, פתרונות תוכנה למגזר הפרטי והעסקי ומגוון פלטפורמות משולבות חומרה ותוכנה. בתחום המוצרים ללקוחות משווקת החברה מערכות הפעלה לשרתים, מחשבים אישיים ומחשבי כף יד.