הראיון היה מול שני ראשי צוותים.
בהתחלה מדברים איתך ורוצים לדעת מי אתה.
לאחר מכן אתה מקבל דף עם שאלה אחת בכל פעם.
שאלה 1: שאלה פשוטה: צריך לכתוב פונק' שממירה STRING ל – INT. ולאחר מכן, שואלים איך אפשר לטפל בקלט שגוי (EXCEPTION). המשיכו ושאלו קצת על EXCEPTION (מה קורה אם לא נתפס ע"י ה – CATCH).
שאלה 2: צריך לכתוב הגדרה של NODE של עץ בעל ערך INT. לאחר מכן פונקציה רקורסיבית שמחשבת את כל ה – VALUE של העץ. (תנאי עצירה צריך להיות NODE=NULL וזה יחסוך בדיקת תנאים של ענפים ריקים).
שאלה 3: א. נתון ממשק שמכיל ADD, REMOVE, SIZE. צריך לממש את מחלקת מחסנית שמממשת את הממשק (צריך לכתוב את כל ההגדרה, כולל ה – CLASS STUCK IMPLEMENT ——). כדאי להשתמש במבנה הנתונים של רשימה (יותר יעיל מוקטור כי וקטור ממומש ע"י מערך והוספת איבר למערך מלא דורש הקצאת מערך חדש בגודל כפול והעברת הנתונים לשם…)
ב. צריך לדאוג שהמחסנית תהיה מסונכרת לעבודה עם טרדים שונים (צריך להשתמש ב – SYNCHRONIZE פעמיים או שלוש כאשר משתמשים במבנה הנתונים).
ג. קוד המכיל 2 טרדים ורוצים לדעת מה הפלט. תרד ראשון כותב לתוך טבלת האש, שהמפתח שלה הוא האות הראשונה של הקלטים שמסופקים והערך הוא 1). הטרד השני קורא מהטבלה את הערך, מגדיל אותו ב – 1 וכותב אותו בחזרה (דורס את הערך הקודם שהיה בטבלה). בסופו של דבר היה לי פלט של 2 או 3 שורות .
ד. מה יכול להיות בעיה בקוד? DEADLOCK (כל טרד מבצע שני BLOCK בשני מקומות, אבל בסדר הפוך).
שאלה 4: קיים קוד שמכיל פונקציה שמקבלת שני מספרים שלמים ותו (שיכול להיות +-*/). קיים SWITCH על התו שמבצע את הפעולה החשבונית המתאימה. צריך לפתור את השאלה בצורה OO.
ב. איך אפשר להפטר מה – SWITCH? שימוש בטבלת האש: מפתח – תו, ערך – new class().