שישה שלבים
1. מבחן כתוב עם אחרים באותו חדר
2. ראיון תכני לגמרי עם ראש צוות
3. ראיון תכני עם ארכיטקת החברה
4. ראיון אישי עם מנהל פיתוח של החברה
5. ראיון אישי עם מנהל פיתוח צד שרת
6. ראיון עם משאבי אינוש
שלבים 1-3 היו בנפרד ושלבים 4-6 לפי בקשתי היו באותו יום.
קיבלתי שיחת טלפון ממשאבי אנוש שעברתי את כל התהליך והתרשמו ממני אלא שהצפיות שכר שלי גבוהות. הם טוענים שמגייסים למשרת ג'וניור ללא נסיון ואני יש לי שנה וחצי, לא התאים בסוף התהליך (אחרי כל הראיניות). אל תבזבזו את זמנכם באמת חבל.
שלב ראשון - מבחן של שעה עם שלוש שאלות קוד, חצי שעה ראיון עם ראש צוות שבו עוברים על התשובות במבחן.
שלב שני - ראיון פרונטלי עם ראש צוות שכולל פתרון שני תרגילים על דף.
שאלות מתוך הראיון
שאלות מהשלב הראשון:
1. נתונן מערך בגודל MXN, עבור כל איבר שמכיל את הספרה 0 יש לאפס את כל התאים באותה שורה ועמודה שלו.
2. מיון מחסנית ללא שימוש במבני נתונים נוספים (מלבד מחסנית נוספת).
3. נתון תיאור של מערכת חישוב שכר לעובדים. יש לתכנן את הארכיטקטורה ולמשש את המחלקות.
שאלות מהשלב השני:
1. נתון מערך של מספרים. כתוב פונקציה שמחזירה מערך כאשר כל תא מכיל את תוצאת הכפל של כל האיברים האחרים חוץ ממנו.
2. נתון גרף. כתוב פונקציה שמקבלת שני צמתים ומחזירה האם יש מסלול ביניהם.
שלב 1: ראיון טלפוני, שאלות כלליות על ג'אווה. מה יש בObject, איזה סוגי exceptions יש, מה ההבדל בין hashCode וequals וכאלה.
שלב 2: ראיון עם ראש צוות: שאלת תכנון SQL, שאלה אלגוריתמית שצריך לפתור עם backtracking.
שלב 3: ראיון עם ארכיטקט: שאלת כתיבת אלגוריתם. שאלת תכנון מערכת OO.
שלב 4: ראיון עם ראש קבוצה: מי אתה? מה אתה? איפה היית מה עשית? איזה מין עובד אתה וכאלה?
שלב 5: ראיון משאבי אנוש.
שלב 6: ראיון CTO: חפירה לעומק על דברים שעשית בעברך, תוך שהוא שואל שאלות לא רלוונטיות כמו איך היית עושה דברים אם היה לך מחשב יותר חלש או אם לא היו ת'רדים בעולם וכאלה. ככל הנראה היה חשוב לו לראות איך הייתי מתכנת בשנות ה80 בשביל להתקבל לחברה שלו.
נכשלתי בראיון האחרון.
אל תבזבזו את זמנכם על המקום הזה.
שאלות מתוך הראיון
כתוב אלגוריתם שמקבל טקסט ומחזיר את אותו הטקסט (כולל רווחים) הפוך בדיוק.
אחר כך - ייעול האלגוריתם.
You have a function that is called thousand of times from your code:
public void checkNull(Object o) throws MyOwnRuntimeException {
if (o==null)
throw new MyOwnRuntimeException ("object is null");
return;
}
What can I change in the function (using generics) that can remove all the warning from the compiler?