שחזורי ראיונות עבודה -> ראיון שני למרכז החדש של ברקליס קפיטל
  • ראיון שני למרכז החדש של ברקליס קפיטל
  • ע"י: 1_אורח_כללי
    ברקליס קפיטל שזוהי זרוע ההשקעות של בנק ברקליס פותחת מרכז פיתוח חדש בארץ וגיוס העובדים נעשה דרך נס טכנולוגיות בימים אלו (מרץ 2011) המבחן הראשון ארך 4 שעות וכלל ראיון משאבי אנוש ראיון מקצועי ושני מבחנים ממוחשבים אחד אמינות ואחד באנגלית הראיון המקצועי כלל שאלה כזו Class A has class member int a Class B extends A has class member int b Class C extends B has class member int c write the clone() method for all classes using polymorphism so that when Class D extends C will be written, it will not have to duplicate the code הבעיה כמובן היא הגישה למשתני מחלקה של מחלקות האב בלי לשכפל קוד כלומר ניתן היה לכתוב את המתודה של C כך public C clone() { C newc = new C() ; newc.a = this.a ; newc.b = this.b ; newc.c = this.c ; return newc ; } אולם יש פה שורות קוד משוכפלות עם המתודות של המחלקות A B מצד שני אי אפשר פשוט לקרוא למתודות האלה כי הן יוצרות אוביקטים מטיפוס A B ולא C כמו שאנחנו רוצים הפתרון הוא להוציא את האתחול של האוביקט למתודה חיצונית למשל כך public C newInstance() { C newc = new C() ; return newc ; } ואז כן אפשר לקרוא למתודה של מחלקת האב ועדיין יווצר הטיפוס שאנחנו רוצים public C clone() { C newc = (C)super.clone() ; newc.c = this.c ; return newc ; }
  • ע"י: 1_אורח_כללי
    יש משהו שעבר ראיון לQA?
  • ע"י: לולה
    שלום, התפקיד לברקליס קפיטל זה לJAVA או גם .NET? תודה
  • ע"י: 1_אורח_כללי
    שלום, הפרויקטים בברקליס לא כל כך מחזיקים מעמד והם בתהליכי סגירה כרגע הם סגרו את אחד הפרויקטים הגדולים בברקליס וכנראה שכל הפרויקטים יסגרו בעתיד הקרוב כישלון טוטאלי וחבל אבל מצד שני לא כל כך מפתיע שמדובר בחברת נס
  • ע"י: 1_אורח_כללי
    בקשר לאיך הייתי מממש תחליף ל-final class: final class לא ניתן לעשות לו extends לכן אני חושב שהתשובה היא פשוט ליצור קונסטרקטור דיפולטיבי כאשר הוא private במקום public. כך לא ניתן להרחיב אותו. private A(){} מקווה שאני צודק.
  • ע"י: 1_אורח_כללי
    לא היה שום סמול טוק. רק שרשרת שאלות מקצועיות. בהצלחה.
  • ע"י: 1_אורח_כללי
    אכן פתרון מצויין ואופטימלי לדעתי. עברתי השבוע את הראיון הראשון כולל שני המבחנים על המחשב ותואם לי ראיון טלפוני לשבוע הבא עם ברקליס לונדון. חשבתי על זה שלצד החסרונות שבצד ראיון טלפוני,יש יתרון שמאפשר לך לבדוק פתרונות מול האינטרנט בזמן הראיון. השאלה אם בכלל התאפשר לך להשתמש ברשת בזמן הראיון ? לפי אופי השאלות וניסוחן זה נראה שלא ניתן לקבל תשובות מיידיות מהרשת. ועוד שאלה, היה לכם קצת small talk וניסיון הכרות שלך והתפקידים שבצעת בחברה האחרונה, או שניגשו מיד לשאלות מקצועיות ? ושוב תודה על ההסברים והפירוט שאתה מספק.
  • ע"י: 1_אורח_כללי
    ובכן חזרתי לפוסט הראשון שלי וראיתי שאכן חסר הקטע של איפה הקריאה למתודה newInstance() ובכן הכוונה היא שהקריאה תתבצע ב clone() של A שהיא המחלקת אב של B (וכמובן גם של C) מה שקורה הוא: כל clone קורא לסופר שלו עד שמגיעים לאבא הראשון שהוא A פה צריך לייצר אוביקט חדש מהמחלקה של הבן - לכן פה תיקרא המתודה newInstance ובגלל הפולימורפיזם תיקרא המתודה של מלחקת הבן הכי צעיר ואכן תיצור את האוביקט מהמחלקה הרצויה לאחר מכן (בחזרה ל clone) נעשה קאסטינג למחלקה הנוכחית ומתמלאים המשתני מחלקה הנוכחית בלבד - ככה יוצא שכל clone דואג רק למה שהוא מכיר וגם אין כפילות של קוד אני מקווה שזה ברור...
  • ע"י: 1_אורח_כללי
    היי שרון או כל מי שיכול לספק תשובה. בדוגמא הראשונה של מטודת השכפול הבנתי את הפתרון בו אתה קורא לclone באב ואז מוסיף את ה member החדש, וכך בשתי הרמות מעל. לא הבנתי איכן אתה קורא למטודה החיצונית newInstance המאתחלת את האובייקט לשימוש ה clone . האם התכוונת לקונסטרקטור ? ד.א, מה עלה בגורל התהליך אחרי הראיון השני, נשמע תהליך די סיזיפי.
  • ע"י: 1_אורח_כללי
    תודה שרון על הפירוט המלא.
  • ע"י: 1_אורח_כללי
    הראיון של נס היה פנים מול פנים בעברית וכלל שאלה אחת בלבד הראיונות עם אנשי קפיטל היו טלפוניים באנגלית ומסרתי את כל מה שזכרתי בהצלחה
  • ע"י: 1_אורח_כללי
    תודה שרון על התשובה. לגבי ראיון משאבי אנוש, מבחן באנגלית ומבחן אמינות - הם ממש לא מדאיגים אותי, ובכל מקרה תודה על ההרחבה והפירוט. הבקשה שלי התייחסה לראיון המקצועי אשר מבחינתי משחק תפקיד מאוד משמעותי בשלבי המיון, ומלבד הדוגמה שציינת לגבי מטודת clone שאכן מאוד עוזר להתכונן אליה קודם, רציתי לברר באם ישנן שאלות מקצועיות נוספות הזכורות לך באותו ראיון. כמו כן,אם הראיון המקצועי היה טלפוני, כיצד נדרשת להעביר את הפתרון למראיין ? בכל מקרה, שוב תודה על הסיוע.
  • ע"י: 1_אורח_כללי
    מפתח אני לא ממש מבין איזה מידע חסר לך (ניסיתי להיות הכי מפורט שיכולתי) בכל אופן ראיון משאבי אנוש הוא סטנדרטי למדיי הראיון באנגלית שאני עשיתי היה לא מקצועי אלא ממש כמו מבחן בגרות באנגלית (זה היה במרץ יכול להיות שהם שינו את התהליך שלהם מאז) והוא היה אונליין מול מחשב כמו כן מבחן האמינות היה מול מחשב הוא הורכב משאלות "מוסריות" (במרכאות) כגון האם תמיד צריך לשמור על החוק האם עישנת פעם סמים האם גנבת פעם ממקום העבודה האם דיווחת שעות לא נכונות וכו. השאלות חוזרות על עצמן בניסוחים שונים על מנת לבדוק קונסיסטנטיות (למשל האם אפשר לפעמים לעבור על החוק) והכי חשוב הן מוגבלות בזמן ויש מעט מאד זמן לחשוב (נדמה לי כל שאלה מקבלת משהו כמו 15-30 שניות) וזאת כדי שלא יהיה לך הרבה זמן לחשוב ולהיזכר בתשובה הקודמת שנתת לשאלה הדומה (ככה אני חושב) כמו שכתבו פה - הרעיון הוא להיות אמין ולא בהכרח לענות את התשובה שאתה חושב שהיא "הנכונה" אחרי שגמרתי את המבחן קראו לי ל"שיחת הבהרה" ושאלו לפשר כמה תשובות שנתתי. במקרה אחד או שניים פשוט התבלבלתי בתשובה. במקרה של "האם תמיד צריך לשמור על החוק" עניתי שלא ונתתי דוגמא את מצב של "פקודה בלתי חקית בעליל" אפילו הזכרתי את המקרה המקורי (הטבח בכפר קאסם). כמו כןבשאלה האם דיווחת שעות לא אמיתיות עניתי שכן והסברתי שזה קרה לעיתים רחוקות ורק "עיגול" של שעות. את השלב הזה עברתי.....
  • ע"י: 1_אורח_כללי
    אם מישהו היה לאחרונה במרכז הגיוס של NESS למשרת מפתח JAVA עבור הפרוייקט המדובר, אשמח לקבל מידע מפורט יותר מעבר למה שהוזכר כאן (ותודה למי שכבר פרט) על הראיון הראשון ועל השאלות המקצועיות. יש לי זימון לשבוע הבא ,והוסבר לי כי מדובר בראיון משאבי אנוש, ראיון מקצועי באנגלית ומבחן אמינות.
  • ע"י: 1_אורח_כללי
    הראיונות הם טלפוניים (עשיתי כבר שניים) ישנן גם שאלות פרטניות מאד (למשל שאלו אותי מה עושה הקומפיילר כשהוא נתקל באופרטור פלוס והתשובה הנכונה היא שהוא קודם כל בודק את הטיפוס של האופרנדים כי אם אחד מהם הוא מחרוזת אז השורה מתורגמת לשירשור של מחרוזות ע"י string buffer( וגם היו שאלות ארכיטקטוניות (למשל דרישה להעברת הודעות בין מערכות בננו שניות עם 100% בטחון בהעברה עניתי שצריך מקביליות עם פרסיסטנס ואין לי מושג אם זה היה תשובה נכונה או לפחות מה שהוא ציפה לה) המבחן היה למשרת פיתוח בכיר בג'אווה בפרויקט exchange derivative והמראיין היה מתיו מלונדון המראיין הראשון שלי (ההודעה הראשונה) היה אלכס מניו יורק אני יכול לציין שזה מאד מאד קשה להתראיין טלפונית ועוד בשיחה קרוס אטלנטית ועוד באנגלית - קשה מאד לפתח דיאלוג כשמשהו לא ברור בשאלה ואני צריך לשאול כמה פעמים למה התכוון המשורר וכמובן שכל הנושא החשוב של שפת גוף מפוספס לגמרי והמראיין מקבל תמונה חלקית ביותר על המרואיין. כמו כן רציתי לציין שיש בעיות ביצועים ק-ש-ו-ת בפורום הזה ברמה כ"כ קשה שלא עושה חשק לכתוב פה!!!
  • ע"י: 1_אורח_כללי
    שאלות לנבחנים השונים : 1.תוכלו להזכר בשם המראיין , תוארו המקצועי ? 2.לאיזה תפקיד התראיינתם ? jave ? dotnet 3.במבט לאחור על הראיון האם השאלות דרשו הבנה מערכתית או יותר ירידה לקוצו של יוד בנושאים מסויימים ? 4.האם יש משהוא שכן עבר ויכול לעזור ?
  • ע"י: 1_אורח_כללי
    הראיון הטלפוני הוא באנגלית?
  • ע"י: 1_אורח_כללי
    אכן היה בלבול קטן בין final ו finally אני חשבתי על זה לא מעט ונראה לי שהפתרון היחיד שישנו הוא בקונסטרקטור לבדוק את טיפוס של האוביקט החדש שנוצר כך if this.getClass().getName().equals("MyClass") ואם אין שוויון להעיף exception ההבדל הוא כמובן שהבדיקה הזו נעשית בזמן ריצה בעוד שעם final הבדיקה נעשית בזמן הידור אבל אין לי פתרון אחר ואולי זה מה שהוא רצה לשמוע ??
  • ע"י: 1_אורח_כללי
    אכן היה בלבול קטן בין final ו finally אני חשבתי על זה לא מעט ונראה לי שהפתרון היחיד שישנו הוא בקונסטרקטור לבדוק את טיפוס של האוביקט החדש שנוצר כך if this.getClass().getName().equals("MyClass") ואם אין שוויון להעיף exception ההבדל הוא כמובן שהבדיקה הזו נעשית בזמן ריצה בעוד שעם final הבדיקה נעשית בזמן הידור אבל אין לי פתרון אחר ואולי זה מה שהוא רצה לשמוע ?? לדעתי הפתרון הפשוט שגם ישמש תחליף לייעוד של final כלומר מניעת יירושה וגם יעבוד בזמן הידור, הוא להגדיר את כל המטודות והמשתנים במחלקה המדוברת כ private. הרי public למחלקה מקביל ל public לכל המטודות הפנימיות, בעוד public למטודה מקביל ל private שלה, ולכן הפיכת כל המטודות לפרטיות שומר על הרעיון המקורי.
  • ע"י: דוני
    נראה לי שאת מתבלבלת בין final ל finaly
  • ע"י: שרון1
    היי, אני רק בוגרת מדעי המחשב ואין לי ניסיון תכנות בתעשיה, אבל יכול להיות שתשובה לשאלה 1 שצריך לשים בסוף של בלוק catch את exception handler ל- Exception e ושם לכתוב כל מה שרצו לכתוב ב- final. אשמח אם מישהו יגיד לי אם זה פתרון נכון. ודרך אגב, גם אני הגשתי קו"ח דרך Ness , אבל למשרות QA . לא חזרו אלי, אולאי בדלל שאין לי ידע פיננסי.
  • ע"י: 1_אורח_כללי
    המבחן השני היה טלפוני מול מנהל פרויקט ור"צ במרכז ברקליס בניו יורק המבחן לקח כשעה והיה כולו מבחן מקצועי השאלות ששאלו 1) נניח שלג'אווה לא היה המילה final איך אפשר לישם final class בלי המנגנון של final אני לא ידעתי את התשובה. אשמח אם מישהו ישיב פה 2) מה היתרונות והחסרונות של autoboxing גם לא ידעתי. אני מנחש שיש בעיה בביצועים? 3) שיקולים של ביצועים ו multithreading בסינגלטונים לגבי ביצועים התשובה היא שצריך לאתחל את המשתנה הסטטי בבלוק סטטי ולא בקונסטרקטור (בלוק סטטי מתבצע בזמן שהקלאס נטען לזיכרון( ככה לא צריך לשאול אם הוא שווה ל null במתודה getInstance החיסרון בגישה הזו הוא שלא תמיד כל המשאבים נמצאים בזמן שהקלאס נטען לזיכרון למשל קלאסים אחרים לפעמים עוד לא אותחלו לגבי multithreading המתודה getInstance צריכה להראות כך public static MyClass getInstance() { if (myInstance == null) { synchronized (MyClass.class) { if (myInstance == null) { myInstance = new MyClass() ; } } } return myInstance ; }