שישה שלבים
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?
פניתי לחברה דרך פרסום באינטרנט. חזרו אליי תוך יומיים והזמינו לראיון עם ראש צוות. כשהגעתי לראיון גיליתי שראש הצוות לא היה אמור לראיין אותי אבל מכיוון שהיה פנוי אז ראיין.
שאלות מתוך הראיון
מה זה logistic regression? מה זה linear regression? איך אפשר להבדיל בין מאפיין (feature) שיכול להועיל לאלגוריתם או לקלקל? שלל דוגמאות של linear regression והאם הן יכולות להתקיים וכיצד?
סך הכל 5 ראיונות:
1. טכני בכתב יד
2+3 - ראיון מקצועי עם מישהו מהחברה
4+5 - ראיון HR ו-CTO
שאלות מתוך הראיון
1. נתון מערך בגודל NXM, כל פעם שמופיעה במערך הספרה 0, צריך לאפס את השורה והעמודה של האיבר.
2. מיון של מחסנית - אסור להשתמש באף מבנה נתונים אחר מלבד מחסנית / מחסניות נוספות
3. שאלה בנושא object oriented - לייצר את הארכיטקטורה ולממש את המחלקות, כל מיני משחקים של instanceof וכדומה