התקשרו קבעו לי שעה לדבר עם המראיין בטלפון,
דיברתי איתו, הסביר על התפקיד והכל,
אחכ התקשרו וקבעו ראיון שהתקיים בצורה היברידית.
שאלות מתוך הראיון
יש 100 חביות יין,
אחד מהם מורעל,
יום אח"כ יש משתה,
הרעל משפיע יום אחרי,
רוצים לדעת איזה חבית מורעלת,
כמה עכברים ניסויים צריך במינימום כדי לדעת מה החבית המורעלת?
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2022
7 עכברים. ניתן לייצג את המספר 100 בעזרת 7 סיביות. נמקם את העברים בשורה כאשר העכבר הכי שמאלי יהיה ה MSB והעכבר הכי ימני יהיה ה LSB. ניתן לעכברים לשתות לפי הייצוג הבינארי שלהם: לדוגמא 5 בבינארי זה 101 אז עכבר מספר 1 ומספר 3 (משמאל לימין) ישתו מהיין ובסוף הם אלה שימותו.
מאי 2022
חמישה עכברים. כל עכבר שותה מ20 חביות. העכבר שמת מחלקים את ה20 חביות שלו בין ארבעת העכברים הנותרים - כל אחד טועם מחמש חביות. עכבר אחד מת - מחלקים את חמשת החביות שלולשלושת הנותרים כך: עכבר אחד טועם חבית אחת, ושני האחרים טועמים כל אחד משני חביות (1,2,2) אם העכבר שטעם מהחבית האחת מת - זוהי החבית הרעילה, אחרת, אחד העכברים שטעם משני חביות אמור למות. לוקחים את שני החביות מעכבר שמת ונותנים לשני העכברים שנותרו וכך מגלים מי החבית המורעלת.
מאי 2022
אבל הרעל משפיע יום אחרי
נובמבר 2022
99 עכברים -
בהנחה שצריך את כל החביות ביום שאחרי ולוקח יום אחד לרעל להשפיע.
אין מספיק זמן לחלק את החביות ולייצר בדיקה שתתכנס לחבית הספציפית.
ולכן, במידה וכל החביות דרושות למשתה יום למחרת - ניתן ל99 עכברים לשתות, אם אף אחד לא מת למחרת, החבית שלא שתו ממנה היא המורעלת.
אם עכבר אחד מת, נדע איזו חבית היא המורעלת.
עשיתי ראיון טלפוני ואז יצרו איתי ראיון דרך -Microsoft Teams.
שם נשאלתי מס' שאלות.
שאלות מתוך הראיון
•לוקחים מערך , כיצד אנחנו עוברים על המערך בסיבוכיות הכי קטנה
•לוקחים מערך רגיל ועושים לו היסטוגרמה , ואז סופרים כמה פעמים הציונים חזרו עם מערך מונים.
•לוקחים מאורע רציף(Subseqence) - 2 מערכים וקובעים האם הם SUBSEQNCE
[10,11,12,13,14,15,16] המספרים [10,13,14] הם SUBSEQNCE של [12,14]
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2022
•לשאלה הראשונה הצעתי לעשות מיון בועות ואז לעבור על המערך
קיימים 2 חבלים שונים באורך כלשהו.
לכל אחד לוקח 60 דקות להישרף.
איך נדע שעברו בדיוק 45 דקות.
לא ניתן למדוד את החבל אלא רק לשרוף.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2022
שם את שתי החבלים אחד מעל השני.
לוקח חבל ראשון שורף אותו משתי הכיוונים.
החבל ישרף תוך 30 דקות בנקודת האמצע מה שיתן לי את נקודת האמצע(נק ה30 דקות בחבל השני)
בחבל השני אני שורף מאותה נק ובמקביל מאחד מקצוות החבל וקיבלתי את רבע שעה הנוספים.
מאי 2022
בתחילה אני מציתה את החבל ה1 משתי הקצוות (ייקח לו 30 דק להיגמר) באותו זמן מציתה את החבל ה2 אחרי שהחבל הראשון ייגמר יצית את הקצה השני של החבל ה2 וכך יקבל חצי מ30 דק ואז יהיה לי 30+15=45
הגשתי קו"ח דרך האתר שלהם. אחרי שבוע בערך חזרו אלי טלפונית לקביעת ראיון עבודה.
הראיון התנהל ב-Teams. ערך כשעתיים. שני מראיינים. ראש צוות ומתכנת בצוות.
שאלות מתוך הראיון
1. שיתפו איתי קטע קוד בשפת c. הייתי צריך לפענח מה הוא עושה. איזה שגיאות יש בו, גם מבחינה לוגית וגם מבחינת הקוד עצמו
2. יש לממש מבנה נתונים שמאפשר למשתמש לעשות set, get, setAll ב-O(1) מבחינת זמן. אין הגבלה על זיכרון. גודל המבנה שרירותי.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2025
מבנה נתונים של שני מערכים, ערך כללי, חותמת זמן. מערך אחד הוא רגיל, get set באוו של 1.
בכל set של תא כלשהו במערך מעכדנים חתימת זמן של הפעולה במערך השני. כאשר עושים setAll מעדכנים את הערך הכללי ואת חתימת הזמן של הפעולה. כאשר עושים get לתא כלשהו - בודקים אם ערכו אותו לפני שעדכנו ערך כללי (כלומר הערך הכללי ״דרס״ את תוכן התא). אם כן - נחזיר את הערך הכללי. אחרת, אם תוכן התא התעדכן לאחר עריכת ערך הכללי (״דרס״ אותו) - נחזיר את הערך בתא.