איך לדעת כמה ביטים של 1 דולקים.
נתון זיכרון עם 64 שורות וכל שורה 64 ביט ובנוסף עוד רגיסטר של 32 ביט, צריך לנהל את הזיכרון כך שתמיד נדע איזה שורה פנויה כדי שנוכל להכניס אליה מידע חדש.
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2018
מכניסים את מספר השורה הפנויה הראשונה אל הרגיסטר, ובשורה הזאת כל ביט מייצג שורה אם '1' שורה תפוסה אם '0' פנויה (יש 64 ביט בכל שורה אז יש ביט לכל שורה). אם אף שורה אינה פנויה מכניסים 0xFFFFFFFF לרגיסטר ואז יודעים שאין אף שורה פנויה. הערכים ברגיסטר יכולים להיות בין 0 ל 63 או הסימן שאין שורה פנויה כלומר 0xFFFFFFFF.
יולי 2018
הרגיסטר הוא 32ביט ולא 64,אז התשובה לעיל אינה מדויקת.
תשובה נכונה היא לממש רשימה מקושרת בתוך תאי הזיכרון הריקים, כאשר כל תא ריק מצביע על הבא, והרגיסטר הנוסף מצביע על ראש הרשימה.
בעת הקצאה: מוציאים מראש הרשימה
בעת שחרור: מחזירים לראש הרשימה
ינואר 2019
התשובה של פברואר 2018 כן מדוייקת. ולמעשה היה מספיק להשתמש ברגסיטר המכיל 6 ביטים בלבד, כי זה מספיק כדי לייצג את כל המספרים בין 0 ל-63.
פברואר 2019
התשובה הראשונה אינה יעילה, שכן הקצאת זיכרון משמעותה חיפוש ביט "פנוי", שזה O(n), ואילו התשובה השניה מאפשרת לעשות זאת בO(1).
ראיון טלפוני כללי ואח"כ זימון לראיון ראשון מתוך 3 (2 נוספים זה מקצועי נוסף ו HR)
בראיון ישבתי עם 2 מפתחים מהצוות (נחמדים ואדיבים במיוחד). הם סיפרו על החברה, על הצוות ועל התפקיד. לאחר מכן סיפרתי על עצמי ואז נשאלו 2 שאלות פיתוח.
אני התמודדתי על תפקיד ב python
שאלות מתוך הראיון
1. נתון קובץ ונתונה פונקציה שיודעת לעבור על הקובץ ולהחזיר מילה מילה. עליך לתת כפלט כמה פעמים מופיעה כל מילה. הפלט צריך להיות ממוין מהגדול לקטן - מילה שהופיעה מספר פעמים הכי גדול תופיעה ראשונה ומילה שהופיעה בקובץ הכי מעט פעמים תופיע אחרונה.
2. נתונה פונקציה שמקבלת:
Func(start, end, sub, jump)
Start- מספר התחלתי
End- מספר סופי
Sub- גודל המספרים שנרצה לקבל
Jump-הקפיצה בין sub ל sub
הפלט צריך להיות כל המספרים בין המספר ההתחלתי לסופי בגודל של sub כל הזמן. ובין sub ל sub צריך להיות קפיצות של jump. לדוג:
start =1
end =9
sub = 3
jump =2
הפלט:
[1,2,3,6,7,8]
! לא לשכוח מקרה קצה
קיימים 25 סוסי מירוץ, באמצעות מירוצים של עד 5 סוסים בו זמנית , במספר מינימלי של מירוצים, מצא את שלושת המהירים ביותר
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2018
7 מירוצים , חמש מירוצים ראשוניים , מירוץ מנצחים ועוד מקצה אחד
אוקטובר 2018
ואם בקבוצה אחת של 5 במירוצים הראשוניים היו כל ה-3 הכי מהירים? בפתרון כזה פספסת אותם.
דצמבר 2018
12 מרוצים. 5 ראשונים לוקחים 3 סוסים הכי מהירים, נישארו לנו 15 סוסים, מחלקים אותם לעוד 3 מרוצים שמהם גם בוחרים את ה3 המהירים ביותר, נישארו לנו 9 סוסים, מחלקים אותם לשני מרוצים, קיבלנו 6 סוסים, בוחרים מתוכם 5 ועושים מרוץ ביניהם, נשארו לנו 4 עושים מרוץ אחרון.
חברה אמריקנית רב-לאומית, ממציאת תחום כרטיסי זיכרון הבזק, שמתכננת, מייצרת ומשווקת כרטיסים אלו למגוון רחב של התקנים. חברת אם סיסטמס ממציאת הדיסק און קי, התמזגה לתוכה בסוף 2006