כתוב פעולות למחלקה, שמטרתה לנהל מחירים של חנות ממתקים.
3 פעולות, כולן צריכות להיות בסיבוכיות O(1)
SET_PRICE(NAME, PRICE) - הקצאת מחיר לממתק קיים / חדש.
GET_PRICE(NAME) - קבלת המחיר של הממתק לפי שם (אם אין, NULL)
SET_ALL(PRICE) - הקניית מחיר חדש לכל הממתקים בחנות, למחיר אחיד. (למשל, כל הממתקים בחנות עולים 5 ש"ח)
הכל חייב להיות בסיבוכיות זמן O(1).
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2026
מקצים בקונסטרקטור מילון (KEY:VALUE) כאשר בVALUE של כל ממתק יש מערך בגודל 2.
הגישה לKEY היא ב-O(1) (מימוש בטבלת גיבוב, למשל DICT של פייתון)
המשתנה הראשון במערך שבתוך הVALUE יהיה המחיר, המשתנה השני יהיה משתנה "זמן" שבו עודכן המחיר.
שומרים 2 משתנים גלובלים במחלקה, PRICE, PRICE_TIME.
ופשוט כל פעם שעושים השמה למחיר בודד, מעדכנים גם את הזמן בו הוא עודכן.
כאשר המשתמש מבקש לעשות GET למחיר בודד, הוא בודק מה יותר עדכני? הזמן המקומי של הממתק או הזמן הגלובלי.
פעולת SET_ALL מעדכנת את המחיר הגלובלי + זמן המחיר הגלובלי.
כמובן ששליפה והכנסה לטבלת גיבוב נעשית בסיבוכיות זמן ממוצעת O(1).
1. לכבות את הביט הדולק הראשון במספר נתון
2. 100 ט'רדים מריצים לולאה של 100 איטרציות שמגדילה מונה משותף ב1. מה הערכים האפשריים למונה בסוף הריצה של כולם?
3. שחלוף מטריצה ריבועית
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2026
1. X -> X&((X-1)^X)
2. הטווח הוא 2 - 100
3. מעבר על אברי המטריצה שמעל לאלכסון והחלפה שלהם עם האיברים המתאימים שמתחתיו
אין לי משהו להגיד על התהליך, די מסודר (מעצבן שמחזירים לך תשובה תוך שבוע+ בין השלבים)
שאלות מתוך הראיון
ראיון ראשון
1. פונקציה שמקבלת 2 מחרוזות שמורכבות מ 'EMH' easy medium hard לכל אות ניקוד אחר (1, 3, 5) צריך להחזיר את המחרוזת עם הניקוד הגדול יותר (לפתור ביעילות)
2. פונקציה שמקבלת מערך מספרים לא ממויין, צריך להחזיר את האורך של רצף המספרים העוקבים הכי ארוך ([4,2,1,3,7,9,8] להחזיר 4 כי 1234)
ראיון שני
1. פונקציה שמקבלת מחזורת תווים, וK כלשהו. צריך להחזיר את כמות התתי מחרוזות שבתוכן כל איבר מופיע בדיוק K פעמים, הפתרון האופטימלי זה עם חלון זז שגדל בK וקטן באיתחול לגודל המינימלי
2. לא זוכר
לא עברתי את הראיון השלישי
הגשתי קורות חיים ותיאמו איתי זום שבו שאלו אותי בעיקר שאלות חשיבה ורצו לראות איך אני פותר דברים, איך אני חושב עליהם יותר מאשר קוד
שאלות מתוך הראיון
דרגנוע נע כלפי מעלה במהירות קבועה.
אדם הולך במעלה הדרגנוע בקצב של:
* צעד 1 בשנייה ומגיע למעלה ב-20 צעדים,
* 2 צעדים בשנייה ומגיע למעלה ב-30 צעדים.
אם אותו אדם ילך בקצב של 3 צעדים בשנייה, כמה צעדים ייקח לו להגיע למעלה?
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2026
הדרגנוע כולל 60 צעדים ונע בקצב 2 צעדים בשנייה. הליכה של 3 צעדים בשנייה תיקח 12 שניות, שהן 36 צעדים.
אתה מתכנן בורד (PCB) שמארח מעבד גרפי מהיר. ה-GPU הזה צורך מתח ליבה של 0.8V, אבל צריכת הזרם שלו דינמית מאוד: במעבר פתאומי ממצב המתנה לעומס מלא של חישובי בינה מלאכותית, הזרם קופץ מ-5A ל-8A בתוך ננו שניות.
כדי לספק את המתח הזה, תכננת מייצב מתח רב-דרגתי שממוקם במרחק של כ-5 סנטימטרים מה-GPU על גבי הבורד. במהלך הסימולציות או הבדיקות, אתה מגלה שבדיוק ברגע הקפיצה בזרם, מתח הליבה בפינים של ה-GPU צונח באופן זמני ל-0.68V. נפילה זו גורמת ל-GPU לקרוס ולייצר שגיאות חישוב.
מדוע מייצב המתח, למרות שהוא מסוגל לספק 80A בDC נכשל בשמירה על המתח ברגע המעבר? מהו האלמנט הפיזיקלי/הפרזיטי בבורד שגורם לצניחה המיידית הזו?