ההבדלים העיקריים הם מרחב זכרון RAM שיש למעבד. עבור CPUשל 32 ביט ל- RAM יש 2 בחזקת 32 מרחב כתובות שזה 4GB. עבור CPU של 64 ביט יש מרחב כתובות של 2 בחזקת 64 שזה 16 exabyte.
בפועל לא כל המעבדים מאפשרים להשתמש בכל מרחב הכתובות הזה.
גודל המשתנים המספריים אותם ניתן להגדיר גדול יותר היות והגודל של כל רגיסטר הוא 64 ביט.
שאלות על קורות החיים ואיזה תפקיד אני מחפש
נותנים דף ובו תיאור על מערכת, יש לאמר מה הבנתי שהמערכת עושה וכיצד הייתי בודק אותה
שאלות על מושגים שונים כמו DNS, FireWall, VMWare, CPU
מבחן די פשוט, נעים וענייני, מורכב מכמה שאלות מילוליות בהתחלה ואז שתי בקשות מימוש. השאלות בדקו בעיקר (1) הבנה של איך קלאס ב- ++C נראה אחרי שהקובץ מתקמפל ל- C, לדוגמה: אם יש method וירטואלית בקלאס ב- ++C, הקלאס עצמו הופך ל- struct ב- C שמקבל פוינטר לטבלה וירטואלית ויבנה עוד struct אחד, הפעם לטבלה הוירטואלית עצמה שתחזיק פויינטרים לפונקצייה הוירטואלית.
(2) כמה שאלות פשוטות על design patterns בהן נותנים לך תרחיש לדוגמה ואתה צריך לומר באיזה design pattern היית משתמש.
שאלות מתוך הראיון
במימוש הראשון אתה מקבל חתימה של פונקציה ב- C. הפונקציה מקבלת טיפוס fhandle לקובץ ומחרוזת (* char) ורושמת את המחרוזת אל הקובץ. אתה לא רואה את המימוש של אותה הפונקציה וזה גם לא חשוב. המטלה שלך היא לעטוף את הפונקציה בקלאס כדי לראות שאתה מבין את עקרונות התכנות מונחה העצמים. הם ציפו שהקלאס יקבל בבנאי שני strings, האחד הוא השם של הקובץ אליו יש לרשום והשני הוא התוכן שאותו יש לרשום לקובץ. ואז ציפו שתיצור fhandle לקובץ ואז תקרא לאותה הפונקציה ב- C שתבצעה את הרישום. הם גם ציפו שתזרוק exception אם הקלאס לא מצליח לבצע את הפעולה.
המימוש השני היה להוסיף מטודה סטאטית לאותו הקלאס שמבצעת את אותה הפעולה רק באופן אסינכרוני (בעזרת thread). הם רצו לבדוק את ביישום שלך את מעביר למטודה הסטאטית פויינטר לפונקציית callback כדי שתוכל לקרוא לה כשהרישום הסתיים בהצלחה.