עדיף לבוא לראיון עם ידע בcpp אני ידעתי רק c והמראיין די התאכזב מזה למרות שלפני הראיון אמרו שזה לא קריטי
ולבוא ממש חד על c מודל הזיכרון איפה מוקצה זיכרון דינאמי איפה מוקצים משתנים
שאלות מתוך הראיון
1נתון מערך שאורך שלו אינסופי ומאינדס נסיון הוא ריק מצא את האינדקס שממנו המערך ריק
2 נתון מערך של מספרים צריך למיין אותו על ידי פעולת רוטציה שמתוארת
הפונקציה מקבלת שני פרמטרים אינדקס התחלה ואינדקס סוף ופעולת באופן הבא בהינתן הרשימה 15378
נפעיל רוטציה מאינקס 1 עד אינדקס 3 נקבל את הרשימה 17358
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2022
1 צריך להתאים את הרעיון של חיפוש בינארי לבעיה אז קודם צריך למצוא תחום של אינדקסים בו קיים האינדקס הריק הראשון נבדוק את המקומות 2^i כלומר 0 1 2 4 8 עד שנפגוש תא ריק במקום ה2^j נעשה חיפוש בינארי בין האידקסים 2^j-1 ל 2^j
2 נעבוד כמו מיון החלפה נניח שהרשימה ממוינת עד האינדקס I נשים לב שבעזרת שתי פעולות רוטציה אפשר להעביר כל איבר מהאינדס j>I למקום הI+1 בלי לפגוע באיברים הממוינים נעשה רוטציה מאינקס הj עד לסוף הרשימה ואז עוד פעולה מהאינדקס I+1 עד הסוף וככה נמיין
הוא שאלה כמה שאלות כמו : להגדיר מה זה LINKER ומה זה COMPILER ? , שאלה על VOID* , ומה צריכה פונקציה לקבל כדי למיין מערך ? , ושאלה מבנה נתונים :בהינתן מערך עם מיליון מילים ואורך המילה הארוכה ביותר 20 בייתים מה הדרך הכי יעליה לחיפוש מילה במערך זה יעילות זיכרון ?
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2022
תשובה על שאלת מבנה הנתונים : צריך לבנות מערך חדש ולפני כל מילה נרשום את הגודל שאלה אז עכשיו קיבלנו מערך גדול יותר מבחינת זיכרון כי הוספנו למילה ביטים לגודל אז כדי לשפר את זה אנו יודעים ש ב C המילה מסתיימת ב \N אז עבור כל המילים נמחק את הסיומת הזו ונוסיף במקומה את אורך המילה וכך לא שנינו את גדולה המערך מבחינת זיכרון וגם שיפרנו זמן ריצה שהוא ON
מרץ 2022
לאחר מכן - מיון המילים במערך לפי גודל המילים - ניתן למיין בתוך המילים עצמם לפי האות הראשונה / סדר אלפבתי מלא ולחפש בעזרת חיפוש בינארי.
המראיין היה נחמד, לא הגעתי מספיק מוכנה לשאלות - סה"כ זה פחות או יותר אותן שאלות שרשומות פה.
1. היה צריך להסתכל על קטע קוד ולהגיד מה לא טוב בו.
2. שאלה באלגוריתמים על מפה אני לא זוכרת בדיוק מה היא היתה.