כאחד שמראיין באמדוקס מועמדים לתכניתי JAVA עם/בלי ניסיון יכול להעיד ששאלות יבשות ב-JAVA לאו דווקא שופכים מספיק ידע כדי להתרשם ממועמד.
כולם יודעים לדקלם כמו תוכים את "מה ההבדל בין interface לבין abstract class"
אבל בשאלה השנייה של "מתי תשתמש בכל אחד מהם?" לא אחת מקבל דממה בתור תשובה.
בגדול – שואל על הרבה נושאים – אבל בשעה של ראיון שמתוכה 5 דקות הקדמה ומבוא, 20 דקות למימוש שאלת קוד ורעיון אלגוריתמאי – נשאר לכל היותר חצי שעה שבמהלכה מנסה לדלות כמה שיותר פרטים על ניסיונו וידיעתו של המרואיין.
בזמן הזה צריך לראות שמועמד יודע מבני נתונים, סיבוכיות, OO, וכמובן JAVA.
ואם מרואיין אם ניסיון – אז בכלל…לצלול לתוך פרוייקטים שעליו המרואיין עבד, לוודא שהוא מבין את הארכיטקטורה של המוצר עליו עבד וב-90% מהמקרים משלב שאלות כלליות לצד שאלות ספציפיות על המוצר, למשל, אם שכבת הכתיבה ל-DB היא hibernate – בין לבין אשאל שאלות על הנושא ואם עבדו עם spring אז אנבור לראות שמבחינת המרואיין זה לא סתם buzzword.
מספר המרואיינים שקיבלתי אשר כתבו spring framework בקו"ח אבל לא ידעו לענות על מה זה IoC מטרידה. באותו אופן אשאל על application servers, אם זה שאלות אדמיניסטרטיביות, ועד לרמת מימוש client המתחבר ב-REMOTE ל-java bean מסויים (שלב-שלב – לא בקוד – אלא בע"פ כדי לוודא הבנה של EJB Container).
בראיונות לא נכנס לנושאים "כבדים" מדי כמו ניהול טרנזקציות – אבל אם מישהו רושם לי שהוא יודע JDBC ושעבד מתוך application server מול DB, שיידע מה זה DATA SOURCE, שיידע מה XA ועוד דוגמאות למכביר.
ולא אחת מגיעים מרואיינים שפשוט חסרי ידע, וחבל. כי זה סה"כ לדאוג לכסות את הידע שצברתי במהלך העבודה/לימודים.