logo

ניסיון בראיון גולדמן זקס | סט 19

היה לי ראיון עם GS במשרד שלהם בבנגלורו. יש לי ניסיון של 4 שנים בפיתוח Full stack באמצעות Java. קיבלתי טלפון מיועצת.
    סיבוב 1
    1. אילו מושגים נוחים לך בתוך Java? אמרתי אוספים. הוא שאל באילו שיעורי איסוף השתמשת? אמרתי HashMap ArrayList ו-HashSet.
    2. מתי היית משתמש ב-Set ומתי ברשימה? אמרתי ש-Set תומך באלמנטים ייחודיים שאינם null ול-List אין את האילוץ הזה. אז אם אני רוצה אלמנטים ייחודיים אשתמש ב-Set. הוא שאל שיקול אחר? אמרתי את סוג השאילתות שיש לבצע על האוסף. כמו חיפוש. הוא שאל דוגמא כלשהי? אמרתי - מאגר עובדים. העובדים חייבים להיות ייחודיים כדי שנוכל להשתמש ברשימה ולחפש לפי חיפוש בינארי או טכניקה דומה, מכיוון שבדרך כלל הם ממוינים בסדר מסוים. אבל אני חושב שהוא ציפה לתשובת זמן בדיקת O(1) או לסט. הסברתי את העבודה של HashMap ו-HashSet וכיצד זה יעזור למפתח להשיג בקלות את הייחודיות של אלמנטים, אבל המראיין לא השתכנע בתשובתי לשאלתו המקורית.
    3. מהו החוזה של equals() ו-hashCode()? מה אם אחד נדחק אבל השני לא?
    4. מצא את המינימום השני במערך נתון .
    5. מצא את נקודת הציר במערך ממוין ומסובב.
    6. יש לי שאלה?
    סיבוב 2
    1. תן הקדמה קצרה על ניסיון העבודה שלך.
    2. תן סקירה כללית של העיצוב של הפרויקט האחרון שלך.
    3. נניח שיש לי ממשק משתמש שבו יש רשימה או טבלה של פריטים ולכל פריט יש תכונת רווח תכונת הנחה וכו'. איך להבטיח שמספר משתמשים לא ישאירו את המצב של פריט כלשהו לא עקבי. המשתמש יכול לעדכן את התכונות או שירות אינטרנט אחר יכול לעשות את אותו הדבר. הצעתי לסנכרן את שיטות המגדיר של הפריט. הוא שאל איך למיין את הפריטים. אמרתי שהפריטים יהיו ברשימת מערך ויישמתי את ממשק Comparable. הוא ביקש קוד עובד. כשכתבתי את הביטוי בתוך השיטה compareTo() הוא אמר שהעיצוב אינו גמיש מכיוון שקיים קידוד קשיח של קריטריונים מסוג. הוא אמר שכאשר מישהו רוצה למיין לפי תכונה אחרת, זה יהיה בלתי אפשרי לנהל כל כך הרבה אובייקטים כפולים. אמרתי שאנחנו יכולים לעשות את זה עם דפוס שיטת המפעל. בכך הוא למעשה סיים את סבב הראיונות. איפשהו בין לבין הוא הזכיר את ממשק Comparator והסברתי לו איך זה עובד. אמרתי שזו בחירה טובה אם לא רוצים לשנות את המחלקות הקיימות. אני חושב שהוא ציפה להטמעה של שיטת compare() מכיוון שזה לא ידרוש אובייקטים כפולים וניתן לעשות את המיון לפי קריטריונים שונים על ידי יישום פשוט של Comparator במחלקות שונות מחלקה אחת עבור כל קריטריון מיון ואז הפעלת שיטת sort() של המחלקה Collections עם יישום Comparator זה.
    4. יש לי שאלה?
    אמרו לעזוב להיום. עצה: נסה לא להעלות דפוסי עיצוב אלא אם תתבקש לעשות זאת או שיש לך ניסיון בפתרון בעיות עם דפוסי עיצוב. הקשיבו למראיין והיו ערניים. הם מספקים רמזים. גם בסיבוב 1 עשיתי טעות בשאלת המערך המסובב. הוא נתן מקרה מבחן שבו הקוד שלי ייכשל. תיקנתי את המהומה. שינה מספיק לפני יום הראיון. כל בעיות התרגול לגולדמן זאקס ! צור חידון