ראיון טלפוני ראשוני, לאחר מכן ראיון ראשון עם ראש צוות ומנהל, ראיון שני עם מנהל בכיר ולאחר מכן ראיון HR ממליצים ושיחת שכר.
שאלות מתוך הראיון
איך נראה היום שלך בעבודה?
איך אתה מתמודד עם קשיים/כשלונות?
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2024
היום דינאמי וכולל מענה לטיקטים של שאלות ע"י מפתחים, מעבר על מיילים, פגישת דיילי בבוקר, ישיבות עם צוותים וראשי מחלקות, כתיבת דרישות ואפיון.
התמודדות עם קשיים ע"י מציאת פיתרון מהיר, יעיל וזול ככל האפשר בקור רוח ושיחות עם אנשי הצוות שיוכלו לסייע בבעיה
בהתחלה תיארו לי את התפקיד. לאחר מכן ביקשו שאדבר על פרוייקט שעשיתי ואז שאלו אוית 3 שאלות טכניות.
שאלות מתוך הראיון
1. לכתוב פונקציה שמקבלת מספר ומחזירה TRUE רק אם במספר יש ביט דולק אחד בלבד, אחרת מחזירה FALSE.
דוגמה: 0x000800 -> TRUE, 0x00C00 -> FALSE
2. ישנה רשימה מקושרת דו כיוונית ו-Index. כתבו פונקציה שמוחקת את האיבר במקום Index.
3. ישנה רשימה מקושרת חד כיוונית הפעם. לכל צומת ברשימה יש פוינטר בשם random שמצביע לצומת אקראי אחר ברשימה. איך ניתן לעשות deep clone לרשימה המקושרת?
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2024
1. הפואנטה היא להבין שכל מספר נשמר בביטים במחשב. כל פעם אפשר לחלץ את ה-least significant bit (כלומר הביט הימני ביותר) בעזרת num&1, ואז צריך לעדכן את המספר על ידי num>>1 כדי שכעת ה-lsb (הביט הימני ביותר) יהיה הספרה הבאה במספר.
כך נעבור על כל הספרות ונתחזק counter שסופר כמה פעמים num&1==1. אם יש יותר מספרה אחת כזו נחזיר FALSE, אם סיימנו לעבור על כל המספר (כלומר num == 0) ולא החזרנו FALSE יש רק ביט אחד דולק ונחזיר TRUE.
2. אין התחכמויות, חשוב להיות מסודרים בלוגיקה ולהבחין במקרי קצה.
לולאה ראשונה להגיע למיקום של האיבר שצריך למחוק, ואז לולאה שנייה כדי למחוק את האיבר.
מקרי קצה: רשימה ריקה, איבר אחד, index out of range, מחיקה של איבר ראשון או איבר אחרון.
3. הרעיון הוא שנעבור על הרשימה פעמיים. פעם אחת ניצור העתק לכל איבר מהרשימה הישנה ונשמור את המיפוי לכל איבר מהרשימה החדשה למתאים לו ברשימה החדשה. פעם שנייה נעדכן את הפוינטרים next ו-random לפי המיפוי שיצרנו בלולאה הראשונה. (חפשו בליטקוד: "Copy List with Random Pointer")