שאלון קודגורו 10 שלב ב'

רשומה רגילה
1. מכל המלבנים בעלי אותו שטח מיהו בעל ההיקף המזערי?
  1. ריבוע.
  2. מלבן ביחס פיבונאצ"י.
  3. תלוי ביחידות המדידה.
  4. כולם זהים.
2. מי המציא את שפת התכנות פורטרן?
  1. פורטיס מחברת סי.די.סי.
  2. ג"ון מחברת י.ב.מ.
  3. צוות קוד פתוח.
  4. כל התשובות נכונות.
3. פיצה מהי?
  1. כינוי לאחד מהתקני האחסון ששימשו במחשב מיינפריים מסוג IBM System/370.
  2. מאכל איטלקי מועדף על מתכנתים.
  3. מחשב תעשייתי שטוח להתקנה במסד.
  4. כל התשובות נכונות.
4. מהו, בערך, המחיר לצרכן של כמות המים היורדת על גג בית מגורים בחולון בשנה?
  1. שקל
  2. עשרה שקלים
  3. מאה שקלים
  4. אלף שקלים
5. אחרי עליה של חמישה אחוזים במחיר המניה ביום אחד, וירידה של חמישה אחוזים ביום השני לאן הגיעה המניה?
  1. לאותו המקום
  2. קצת יותר
  3. קצת פחות
  4. תלוי במחיר ההתחלתי
6. באג בתוכנה ששיתק למספר שעות ספינת קרב אמריקאית בסוף שנות ה-90 נבע מ:
  1. חלוקה ב-0.
  2. שימוש במשתנה מטיפוס לא מתאים לערך המוכל בו.
  3. race condition.
  4. נקודה-פסיק חסרה בקוד C.
7. איזו מערכת הפעלה הריצה הספינה?
  1. Linux
  2. OS/2
  3. Windows NT
  4. Windows 95
8. * מה זה?


011111
100000
100000
100000
100000
  1. עיגול
  2. משולש
  3. כוכב
  4. לב
9. מה הפלט של שורת הקוד הבאה?


char *codeguru = "CodeGuru";
cout << 4 + codeguru;
  1. התכנית תדפיס את הכתובת של התו G.
  2. התכנית תקרוס, בשל גישה לא חוקית לזיכרון.
  3. השורה תדפיס G.
  4. השורה תדפיס Guru.
10. בשפת C, מה יקרה בסיום קטע הקוד הבא?


int X = 1;
char c = "\\";
// See if the char is \\
if (c == "\\")
X++;
else
X=0;
  1. X יגדל ב-1 (ויהיה שווה ל-2).
  2. X יהיה שווה ל-0.
  3. הערך של X לא ישתנה.
  4. קטע הקוד לא יתקמפל.
11. מה יהיה ערכו של x לאחר ביצוע קטע הקוד הבא בשפת C?


define INC(num) \\
{ \\
int x=1; \\
num+=x; \\
}

int x = 0;
if (x == 0)
INC(x);
  1. 1
  2. 2
  3. 0
  4. קטע הקוד לא יתקמפל.
12. במידה והתקבלה הודעת TCP עם Seq גבוה מה-Ack האחרון ששלחנו, כיצד מנגנון ה-TCP יגיב?
  1. יניח שההודעה התקבלה שלא בסדרה, ישלח את ה-Ack האחרון התקין שלו שוב ויזרוק את ההודעה החדשה.
  2. יניח שמדובר בזיוף של ההודעה, וישלח RST לצד השני על מנת לסגור את החיבור.
  3. יניח שההודעות הקודמות לא התקבלו עדיין, ישלח את ה-Ack האחרון התקין שלו שוב וישמור את ההודעה החדשה אם היא בגבולות החלון שלו.
  4. יניח שההודעות הקודמות לא התקבלו עדיין, ישמור את ההודעה החדשה ואם יש צורך, ייקצה חלון גדול יותר על מנת לקבל את ההודעה.
13. במידה ויש לנו ציוד קצה ברשת (A) שאינו תומך בעבודה מעל נתבים, כיצד נוכל בכל זאת לגרום לו לתקשר עם רשת מרוחקת דרך נתבים?
  1. נגדיר לנתב הקרוב ל-A כתובת ש-A אמור לדבר איתה, וניתוב של ההודעות לרשת המרוחקת.
  2. נגדיר לנתב הקרוב ל-ARP Proxy A של כתובות ברשת המרוחקת וניתוב אליה.
  3. נגדיר לנתב הקרוב ל-tunnel A לרשת המרוחקת.
  4. נגדיר VPN בין הרשת המרוחקת ל-A בעזרת הנתבים.
14. אילו תכונות נוספות מעבר ל-TCP אין בפרוטוקול SCTP?
  1. בחתימה דיגיטלית למען אבטחת התקשורת.
  2. ריבוב של תתי-ערוצים בתוך אותו חיבור.
  3. כתיבה בחתיכות.
  4. שימוש בכתובות מרובות לאותו מחשב.
15. מהי עוגיית SYN?
  1. מאפה סיני, מכילה פתק המעיד על מזל הנוגס בה
  2. פריט קטן של מידע שנשמר בעת גלישה באינטרנט על הדיסק הקשיח
  3. הצפה של מחשב בחיבורים סתמיים
  4. מנגנון שמונע פתיחה סתמית של חיבורי TCP
16. באג בתוכנה שגרם לכשל השיגור הראשון של הטיל אריאן 5 נבע מ:
  1. חלוקה ב-0
  2. המרה לא נכונה של טיפוס משתנה
  3. race condition
  4. נקודה-פסיק חסרה בקוד C
17. מונה בינארי שסופר מ-0 עד 1337 (כולל) – כמה פעמים יתהפך הביט התחתון?
  1. 1024
  2. 1336
  3. 1337
  4. 1573
18. מה צריך להיות הסכום בריבוע קסם שש על שש המכיל את המספרים מ-65 ועד מאה?
  1. 34
  2. 111
  3. 495
  4. 1514
19. משולש לטריז זה כמו עיגול ל-
  1. גליל
  2. כדור
  3. ביצה
  4. אליפסה
20. 1742123762643437888 הוא
  1. מספר ראשוני גדול.
  2. ייצוג ל-π באחד מהפורמטים התקניים.
  3. 25!
  4. 284
21. מהו ההבדל המשמעותי בין PCI Express בדור 1.1 לדור 2.0?
  1. הרחבת מספר החיבורים החשמליים לחריץ רחב יותר – מאפשר להעביר יותר נתונים בו זמנית.
  2. הגדלת קצב העברת הנתונים באמצעות הערוץ ל-8 ג"יגה בתים לשנייה.
  3. הרחבת מספר ההתקנים האפשריים לחיבור למחשב, בין היתר אנדרואיד של גוגל לצורך סינכרון מהיר במיוחד.
  4. דור 2.0 מאפשר להתקנים מדור 1.1 לעבוד בקצב מהיר פי שניים.
22. ברשותי מעבד אינטל Core2 מרובע ליבות, לאחרונה רכשתי מעבד חדש מסוג iCore7 עם שמונה ליבות. כאשר אריץ קוד מתמטי מאוד מורכב, המנצל את כל הליבות, באיזה מעבד האלגוריתם ירוץ מהר יותר?
  1. בכל מקרה במעבד iCore7 מכיוון שהוא יעיל יותר ומנגנון ה-HyperThreading ייתן שיפור ביצועים.
  2. בארכיטקטורת Core2, מכיוון שבמעבדי iCore7 המתח המגיע למעבד הוקטן על חשבון הביצועים, המעבד אמנם חסכוני יותר, אך מספק פחות ביצועים לאותו תדר שעון.
    במעבד
  3. Core2 בו כל הליבות בעלות יכולות זהות, כאשר ב-iCore7 שמונה הליבות הן וירטואליות אך גורמות ליתירות (overhead) הפוגעת בביצועים.
  4. קשה לומר, מעבד
    iCore7 משפר ביצועים בתחומים מסויימים, אך פוגע באיזורים אחרים. לכן צריך לבדוק את האלגוריתם בקפידה.
23. כמה פעמים ביממה מחוג השניות מהווה חוצה זוית של שני המחוגים האחרים?
  1. 720
  2. 1440
  3. 2856
  4. 86400
24. מהו שטח של כל הדיסקים בעולם?
  1. פחות מפטה-בית.
  2. בערך טרה-בית.
  3. יותר מאקסה-בית.
  4. כל התשובות נכונות.
25. מונה בינארי שסופר מ-0 עד
262
(לא כולל) – כמה פעמים יתהפכו כל הביטים?
  1. 261
  2. 262
  3. 263 – 1
  4. 263
26. מהן המספר הגדול ביותר שניתן לייצג בבית אחד (עם סימן)?
  1. 100
  2. 127
  3. 256
  4. 32767
27. מהו המספר הממשי (dobule) הקטן ביותר שגדול מ-

21023 + 1

  1. 21023 + 1
  2. 21023 + 2511
  3. 21023 + 2972
  4. 21024
28. במוזיקה, מרווחים (ההבדלים ב"גובה" של צלילים) נמדדים בטונים. עליה בחצי טון בצליל שקולה להגדרת התדר פי מספר קבוע p. באוקטבה יש 6 טונים. עליה של אוקטבה שקולה להכפלת התדר. במרווח "טרציה גדולה" יש 2 טונים. מה יחס התדרים בין התווים היוצרים אותה?
  1. 1.2599
  2. 1.7071
  3. 1.7321
  4. 2
29. נניח שיש לנו ריבוע בעל 25 משבצות בגוונים שונים של אפור. אנחנו שולחים קרן אור במישור הריבוע, בזוויות שונות לתוכו, ומודדים את העוצמה שלה כאשר היא יוצאת מהצד השני. כאשר קרן עוברת כל משבצת,
העוצמה שלה נחלשת בתור

q-l * s

, כאשר q הוא קבוע ידוע מראש, l הוא אורך הקרן בתוך המשבצת, ו-s הוא רמת האפור (בין 0 ל-1). אם כל המשבצות אפורות (אף אחת לא מעבירה אור באופן מושלם, ואף אחת לא בולעת את הקרן כך שלא נוכל לקלוט אותה), כמה קרניים נצטרך לשלוח לכל הפחות כדי לדעת את רמות האפור של כל המשבצות?

  1. 1
  2. 25
  3. 50
  4. 51
30. * חיים כתב את התוכנה הבאה בשפת C:


#include <stdio.h>

void f() {
long i = 0;
long p[1] = {0xF00DBEEF};

for(i = 0; i < 0x8; i++) {
printf("%04lx %016lx\\n", i*sizeof(long), p[i]);
}
}

void g() {
f();
}

int main() {
long t[10];

g();
return 0;
}

התקבל (לינוקס, ארכיטקטורת x86_64) הפלט הבא:


0000 00000000f00dbeef
0008 0000000000000001
0010 00007fff6cee0800
0018 000000000040052e
0020 00007fff6cee0860
0028 0000000000400542
0030 0000000000000000
0038 00000000004003ab

בזמן ריצת התוכנית, מה הייתה הערך של p?

  1. 0xf00dbeef
  2. 0x7fff6cee07e0
  3. 0x7fff6cee07f0
  4. 0x7fff6cee0800
31. נתונה התוכנית הבאה בשפת סף של x86:


mov eax,esp
push eax
jmp my_func
lock lahf
My_func:
push ebx
push ecx
rdtsc
retn 8
  1. לא יעבוד אף פעם: הפקודה lock lahf אינה חוקית ב X86
  2. יעבוד רק בחלק מהמעבדים: הפקודה lock lahf חוקית רק במעבדים של AMD
  3. יעבוד רק במעבדים בהם אין תמיכה ב- Non Executable Stack
  4. יעבוד רק מתוך Ring() שכן הפקודה rdtsc הינה Privilaged Instruction
32. נתונה הפונקציה הבאה שמטרתה לחלק את המספר a
ב-
5!:


int fact5(int a)
{
int count = 5;
while (count--) {a/=count;}
return a;
}

דני אומר שבפונקציה יש באג.

  1. דני צודק. הפונקציה תעלה שגיאה בעת קומפילציה.
  2. דני צודק. הפונקציה תעלה שגיאה בעת הריצה.
  3. דני צודק. הפונקציה תחזיר ערך שגוי.
  4. דני טועה. אין שגיאה בפונקציה.
33. כיצד נוכל להימנע מזיוף כתובת ה MAC של כתובת IP מסויימת ברשת המקומית בצורה שתפגע כמה שפחות בעבודה ברשת?
  1. לא נקבל ARP reply מכתובת MAC שלא הוגדרה לנו סטטית.
  2. לא נקבל ARP reply מכתובת IP שלא הוגדרה לנו סטטית.
  3. לא נשלח ARP request לכתובת IP שלא הוגדרה לנו סטטית.
  4. לא נקבל ARP reply על request שלא שלחנו.
34. מדעי נוצר בקצב 1kbps משודר דרך ערוץ בעל רעש, שבהסתברות p=90% הופך ביטים (ההסתברות היא בנפרד לכל ביט), בלי תלות באף גורם נוסף. מבלי לשלוח יותר מ-1kbps, באיזו מידה ניתן לשפר את הסיכוי שהצד השני יקבל את המידע הנכון (
כרגע היא
100%-90% = 10%
)?
  1. מבלי לשדר את אותו המידע יותר פעמים (הוספת יתירות), אי אפשר לשפר את המצב.
  2. ניתן להעלות בריבוע את הסיכון לתקלה, ל-81%, אך לא יותר מזה.
  3. ניתן לשפר את הסיכוי ל-10%, אך לא יותר מזה.
  4. ניתן לשפר פי כמה שבא לנו על-ידי שימוש בתיקון שגיאות מקדים (Forward Error Correction)
35. 0571 שקול ל-:
  1. r-xrwx–x
  2. 377
  3. 0x179
  4. כל התשובות נכונות
36. קובץ PAC מכיל:
  1. הגדרות פרוקסי;
  2. המלצות של ועד לפעולה פוליטית;
  3. מיפוי עומק באוקיינוס השקט (Pacific);
  4. פרטי משלוח בפורמט אגודת האורזים הקנדית (Packaging Association of Canada).
37. ** מידע מדעי שנוצר בקצב 1kbps משודר דרך ערוץ בעל רעש, שבהסתברות p=10% הופך ביטים (ההסתברות היא בנפרד לכל ביט), בלי תלות באף גורם נוסף. אנחנו יכולים לשלוח עד 2kbps, עם אותה הסתברות לשגיאה בביט בודד. באיזו מידה ניתן לשפר את הסיכוי שהצד השני יקבל את המידע הנכון ?
  1. אי אפשר לשפר את הסיכוי;
  2. ניתן להעלות בריבוע את הסיכון לתקלה, ל-1%, אך לא יותר מזה;
  3. ניתן לשפר ל-0.31%, בהתאם למשפט שנון;
  4. בתנאים אלה, לכל הסתברות שגיאה גדולה מ-0 קיים מנגנון FEC שמשיג אותה;
38. אם ברצוני לחכות שמשימה כלשהי תתבצע, ב-Java, באיזה טיפוס מהבאים אינו יכול לשמש לזיהוי סיום המשימה?
  1. Object
  2. boolean
  3. CountDownLatch
  4. כולם יכולים
39. האם הקוד הבא מתקמפל ב-Java?


List<String> sl = new LinkedList<String>();
List<Object> ol = sl;
  1. כן, כי כל String הוא Object.
  2. לא, כי לא ניתן להציב LinkedList ב-List.
  3. לא, כי הרשימה הראשונה עלולה להשתבש.
  4. לא, כי Generics לא נמצאים בזמן ריצה.
40. מה ידפיס קטע הקוד הבא?


int i = 255;
byte b = i;
i = b;
System.out.println(i);
  1. לא יתקמפל, כי byte הוא signed.
  2. 127 – כי byte הוא signed.
  3. 255, כי 255 קטן מ-256.
  4. 128, כי byte הוא unsigned.
41. מה ידפיס קטע הקוד הבא?


short x=-32768;
short y;
y = -x;
printf("%d", y);

בהנחה שגודל של short הוא 16bit.

  1. 1
  2. 0
  3. 32768-
  4. 32768
42. מה הבעיה הבקטע הקוד הבא?


List<Integer> l = new LinkedList<Integer>();
l.add(1);
l.add(2);
l.add(3);
l.add(4);
for (int i : l)
if (i % 2 == 0)
l.remove((Integer) i);
  1. i צריך להיות מטיפוס Integer.
  2. ה-cast מיותר כי מתבצע auto-boxing.
  3. נקבל ConcurrentModificationException בגלל שלא השתמשנו ב-Iterator.remove.
  4. מתבצעת קריאה למתודה List.remove לפי אינדקס ולא לפי האובייקט שיש למחוק.
43. למה שימושית, בין היתר, המחלקה WeakReference ב-Java?
  1. להעברת פרמטרים למתודות by-reference ולא by-value.
  2. למימוש מנגנוני cache שקופים למשתמש.
  3. מימוש של מצביעים ב-Java משום שהם לא קיימים בשפה.
  4. הרצת ה-Garbage Collector על אובייקט מסוים שברשותינו.
44. מה הבעיה בקטע ה-Java הבא?


public boolean isOdd(int i) {
return i % 2 == 1;
}
  1. הקטע מחזיר תשובה הפוכה מהמצופה בכל המקרים.
  2. מתבצע auto-boxing שגורם לחישובים להיות שגויים לפעמים.
  3. הקטע מחזיר תשובה לא נכונה עבור חלק מהמספרים השליליים.
  4. אין שום בעיה.
45. * מה זה?


\\u0070\\u0075\\u0062\\u006c\\u0069\\u0063\\u0020\\u0020\\u0020\\u0020
\\u0063\\u006c\\u0061\\u0073\\u0073\\u0020\\u0055\\u0067\\u006c\\u0079
\\u007b\\u0070\\u0075\\u0062\\u006c\\u0069\\u0063\\u0020\\u0020\\u0020
\\u0020\\u0020\\u0020\\u0020\\u0073\\u0074\\u0061\\u0074\\u0069\\u0063
\\u0076\\u006f\\u0069\\u0064\\u0020\\u006d\\u0061\\u0069\\u006e\\u0028
\\u0053\\u0074\\u0072\\u0069\\u006e\\u0067\\u005b\\u005d\\u0020\\u0020
\\u0020\\u0020\\u0020\\u0020\\u0061\\u0072\\u0067\\u0073\\u0029\\u007b
\\u0053\\u0079\\u0073\\u0074\\u0065\\u006d\\u002e\\u006f\\u0075\\u0074
\\u002e\\u0070\\u0072\\u0069\\u006e\\u0074\\u006c\\u006e\\u0028\\u0020
\\u0022\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u0077\\u0022\\u002b
\\u0022\\u006f\\u0072\\u006c\\u0064\\u0022\\u0029\\u003b\\u007d\\u007d
  1. קטע byte-code של תכנית ב-Java.
  2. תכנית שמדפיסה "Hello World".
  3. סימון ל-Java להשתמש בקידוד Unicode.
  4. אוסף של סימנים ללא משמעות.
46. יש צורך לבצע אופטימיזציה בנקודה קריטית בקוד C או Java. בנקודה זו כרגע נמצא switch statement. הערך עליו נעשה ה-switch הוא בן 32 ביט. יש 100 ערכים שונים (שנבדלים בכל הסיביות), מתוכם בזמן הריצה התוכנית תיתקל ב-3 מהם ב-90% מהמקרים.
  1. יש לסדר מחדש את האיברים ב-switch
  2. יש להתחיל להשתמש בטבלת hash שמכילה מצביעים לפונקציות.
  3. יש להוציא את הערכים השכיחים מה-switch, ולעשות if או switch מיוחדים שמתייחס אליהם בהתחלה.
  4. switch הוא תמיד יעיל באופן מרבי, אין פה מה לשפר.
47. יוסי כותב תוכנה שקוראת (באופן blocking) מתוך socket, ומקבל קריאה באורך 0. מה פשר הדבר?
  1. נשלח ACK עם אותו sequence number פעמיים. זאת תופעת Keep-alive תקנית
  2. הצד השני ניתק את החיבור באופן תקני
  3. יש עומס ברשת
  4. לא התקבל מידע במשך פרק זמן מסויים, אך החיבור עדיין קיים
48. "תסמונת החלון הטיפש" היא –
  1. תופעה שגורמת ליצירת תעבורת TCP מיותרת כאשר הצד המקבל אינו מסוגל לקבל את המידע בקצב המתאים
  2. תופעה שגורמת להאטת חיבור TCP כאשר מופעל גם האלגוריתם של Nagle וגם המנגנון DELAYED ACK
  3. תחושת זעזוע אילם בעת מעבר על חדשות תרבות בדפדפן
  4. בעית תקיעה אופיינית לחלונות בסביבת Windows, שמתרחשת כאשר החלון אינו מתייחס להודעות WM_PAINT
49. למה משתמשת קריאת המערכת select במערכות דמויות Unix?
  1. להמתנה של תהליך לקלט.
  2. בחירת שורות מתוך מסד נתונים מובנה (Berkley DB).
  3. להתקנת חבילות תוכנה בפורמט RPM או deb.
  4. כל התשובות נכונות.
50. איזה מהאוגרים הבאים עשוי להצביע על אזור בזיכרון שמופיע בו המידע הבא:


6d 6f 76 20
61 78 2c 20
5b 62 78 5d
3b 0d 0a 69
  1. EIP
  2. MM0
  3. EFLAGS
  4. ESI
51. בקוד הבא:


lea di, [4*ebx+ebx]
shl di, 5
add di, cx
stosw

למה כנראה שווה ES?

  1. 0x0040
  2. 0xA800
  3. 0xB800
  4. 0xF00F
52. בקוד הבא:


lea di, [4*ebx+ebx]
shl di, 6
add di, cx
stosb

למה כנראה שווה ES?

  1. 0x0000
  2. 0xA000
  3. 0xF000
  4. 0xF00F
53. באסמבלי של 8086, האם קטע הקוד הבא תקין? אם כן, למה הקוד שקול? אם לא, למה לא? Foo הינה פרוצדורה רגילה מסוג NEAR, שלא מקבלת פרמטרים.


start:
push offset end
jmp Foo
  1. הקוד אינו תקין, שכן לא ניתן לקרוא לפרוצדורה בעזרת jmp.
  2. הקוד תקין, ושקול לפקודה call Foo.
  3. הקוד תקין, אך ה-push מיותר וניתן להגיע לקוד שקול בלעדיו.
  4. הקוד אינו תקין, שכן לאחר סיום פרוצדורת Foo בעזרת פקודת ret, המעבד לא ידע לאן יש לחזור.
54. *סונט שקספירי הוא שיר בן 14 שורות בנות 10 הברות כל אחת. לסונט יש חריזה מוסכמת – ABAB CDCD EFEF GG. בהנחה שכל הברה מורכבת מתנועה ועיצור, כי יש 5 תנועות ו-15 עיצורים, וכי החריזה מתבטאת בכך שההברה האחרונה בשורות המוחרזות זהה, כמה סונטים קיימים?
  1. 17218
  2. 75266
  3. 412!
  4. 5*819216
55. * מה זה?


0100000100000
1010000000000
0101000000000
0010100000000
0001010000000
0000101000000
0000010100000
1000001000000
0000000000000
0000000000000
0000000000000
0000000000001
0000000000010
  1. דרקון
  2. בית
  3. כוכב
  4. פרצוף
56. ** נניח שערים בישראל מורכבות משטחים רציפים במפה (עיר לא יכולה להיות מחולקת לשני חלקים שאינם משיקים וביניהם עיר אחרת, ועיר לא יכולה להכיל עיר), וכי כל נקודה במפה שייכת לעיר מסויימת. לפי תקנות משרד הפנים, כל עיר צריכה לסגור את החנויות אחרי הצהריים באחד מהימים א"-ד" (כל שבוע באותו היום). הערים מנסות להגיע להסדר בו כל זוג ערים צמודות (בעלות קטע גבול משותף) תסגורנה חנויות בימים שונים (וזאת כדי שתושבי עיר שחנויותיה סגורות יוכלו לקנות בעיר שכנה).

איזו מהטענות הבאות נכונה:

  1. אי אפשר להגיע להסדר.
  2. תמיד אפשר להגיע להסדר.
  3. אפשר היה להגיע להסדר באופן וודאי רק עבור פחות מ-10 ערים.
  4. זה תלוי במפת הערים הספציפית – ייתכן שעבור מפה מסויימת ניתן להגיע להסדר, ועבור מפה אחרת לא.
65. מה הטעות באחת משלושת ההגדרות HASKELL הבאות, ואיך ניתן לתקנה?


sum [] = 0
sum (a:x) = a + sum x

product [] = 0
product (a:x) = a * product x

reverse [] = []
reverse (a:x) = reverse x ++ [a]
    57. נניח שכתבנו תוכנה, ובה שני
    threads שמבצעים את הקוד הבא, כאשר המשתנה c מוקצה על ה-heap ומשותף לשניהם:


    c = 0;
    c = c+1;
    c = c+1;
    c = c+1;

    איזה ערך לא יוכל c לקבל (באף אחד מהם)?

    1. 0
    2. 3
    3. 4
    4. 6
    58. Ethernet 100baseT, המורכבת מ-3 מחשבים שמחוברים ל-switch בודד. A ו-B שולחים פינגים בקצב זהה ל-C. באיזה קצב של pingים נראה חבילות שמתחילות ללכת לאיבוד?
    1. 3 MB/s
    2. 6.25 MB/s
    3. 6.25 MB/s
    4. 100 MB/s
    59. איזו פונקצית רשת עשוייה לגרום לשינוי השדה DPT בחבילות TCP?
    1. PFW
    2. ניתוב IP
    3. LAN switching
    4. NAT
    60. יוסי פותח חיבור telnet לאוניברסיטה שלו. האוניברסיטה אינה יוזמת ניתוק ולא חל timeout. מקבלת איזו הודעת TCP ועד איזו הודעה יש טעם שהאוניברסיטה תחזיר לו תשובות?
    1. SYN, RST
    2. ACK, FIN
    3. SYN, ACK
    4. RST, FIN
    61. איזו פונקציה לא תקרוס עם segmentation fault על פרמטר שהוא מצביע NULL?
    1. scanf
    2. memset
    3. printf
    4. realloc
    62. מה צריכים להיות הערכים במערך כדי ש-r יוכפל פי 14?


    int f(int r) {
    int i = 0, s = 0;
    int array[16] = { ?????, 0, 0, .., 0 };

    for(i = 0; i < 5; i++) {
    if (array[i])
    s += (r << i);
    }
    return s;
    }

    מה אמור להופיע במקום סימני השאלה (שאר האיברים במערך הם 0):

    1. 0, 1, 1, 1
    2. 1, 0, 0, 1, 1
    3. 1, 0, 0, 0
    4. 1, 3, 2
    63. *הקוד הבא מממש את אותה הלוגיקה בשתי דרכים שונות, כתלות במשתנה הקומפילציה
    OPTION.



    int l;
    char output[33];

    while(k) {
    #ifdef OPTION
    output[l++] = (k & 1) + 0x30;
    #else
    if(k & 1)
    output[l] = ''0'';
    else
    output[l] = ''1'';
    l++;
    #endif

    k >>= 1;
    }

    output[l] = ''\\0'';

    מריצים את הקוד ב-4 תצורות – שני מעבדים שונים, וכאשר k מוגרל באופן אקראי בתחומים שונים. מתי ההדלקה של OPTION תעשה הבדל?

    1. מריצים על מעבד Core 2 Duo; בעוד
      k נבחר בתחום
      המספרים 983040..983056
    2. מריצים על מעבד Core 2 Duo; בעוד
      k נבחר בתחום 0..983056
    3. מריצים על מעבד 486;
      בעוד
      k מוגרל בתחום המספרים 983040..983056
    4. מריצים על מעבד 486;
      בעוד
      k מוגרל בתחום 0..983056
    64. לדני יש
    Disk On Key בגודל 4 ג"יגה-בייט, מפורמט במערכת הקבצים FAT32.
    דני החליט לשמור על הקובץ את אוסף המילים לשירים האהובים עליו, כאשר הגודל של כל קובץ עם מילים הוא כ-1000 בתים.
    דני אוסף שירים מכל רחבי העולם, ויש לו מיליון שירים. כמה מקום פנוי יש לדני על הדיסק, בהנחה שמשתמש בהגדרות ברירות המחדל של מערכת הקבצים?
    1. 0 GB
    2. 1 GB
    3. 2 GB
    4. 3 GB

    כתיבת תגובה