שאלה ראשונה:
נתון API של אובייקט בשם Counter, עם שתי פעולות:
- counter.next : מגדילה את המונה ב-1 ומחזירה את ערכו החדש. כאשר מגיעים ל-100 ומבצעים את הפעולה המונה מתאפס.
- counter.reset : מאפסת את המונה.
צריך לכתוב עד 10 טסטים שיבחנו את פעולות האובייקט. את הטסטים אפשר לתאר באנגלית או לקודד ב-python או Java.
שאלה שנייה:
צריך לכתוב פונקציה שמקבלת מערך/רשימה/וקטור של מספרים ומחזירה את האינדקס במערך שסכום כל המספרים עד אליו (כולל האינדקס), שווה לסכום כל המספרים שאחריו. אם יש כמה אינדקסים כאלו, צריך להחזיר את הראשון. שוב, אפשר לקודד ב-python או Java.
שאלה שלישית:
צריך לכתוב מספר טסטים אשר יבחנו את הפונקציה מהשאלה הקודמת.
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2018
עבור השאלה השנייה:
https://www.geeksforgeeks.org/equilibrium-index-of-an-array/
ריאיון אישי טלפוני קצר בן רבע שעה ולאחר מכן מבחן בית עם הגבלת זמן של חצי שעה
שאלות מתוך הראיון
ממש מחסנית עם פעולת push pop ופעולת min המחזירה את האיבר המינימלי במחסנית, כל הפעולות הנ"ל עם זמן ריצה O(1)
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2019
להחזיק בנוסף למחסנית מחסנית נוספת ששומרת את הערך המינימלי עבור כל הכנסה/הוצאה
כלומר אם במחסנית הערך המינימלי הוא 6 יהיה 6 בראש מחסנית המינימום.
בהכנסה של 12 נכניס למחסנית מינימום את הקטן בין 12 ו 6
בהכנסה של 3 נכניס למחסנית המינימום את הקטן בין 3 ו 6
בכל רגע נתון כאשר יבקשו לקבל את הערך המינימלי נחזיר את הערך שבראש מחסנית המינימום שלנו
ראיון ראשון שאלות ממבני נתונים ללא דגש על כתיבת קוד
שאלות מתוך הראיון
נתון מערך של מספרים כתוב פונקציה שתחשב עבור כל מקום במערך את מכפלת כל האיברים במערך חוץ ממנו. אין להשתמש בפעולת חילוק. סיבוכיות לינארית
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2019
אפשר להשתמש במבנה נתונים מחסנית.
תחילה, נחשב את מחלפת האיברים מהאיבר האחרון ועד האיבר השני ברשימה, כך שבכל פכם שאנחנו מכפילים במספר חדש, נשמור את המכפלה הזמנית במחסנית.
לאחר נתחזק מכפלה נוספת X (שתאותחל לערך 1) ולכל אינדקס i מ 0 ועד גודל הרשימה (לא כולל) נקבע שהערך במקום הi ברשימה שנחזיר יהיה X כפול הערך שבראש המחסנית.
לאחר מכן נעדכן את X להיות המכלפה של עצמו עם האיבר במקום הi ברשימה, ונסיר את האיבר בראש המחסנית.