היו שני מראיינים בראיון. תחילה הם הסבירו על החברה, אח"כ שאלו שאלות מקצועיות.
שאלות מתוך הראיון
לכתוב פונקציה המקבלת באפר (שבתוכו שמור כל הטקסט של קובץ עם רצף פאקטים) ואורך הבאפר, ומדפיסה את מספרי הערוצים השונים ואת כמות הפאקטים שהלכו לאיבוד עבור כל ערוץ.
*כל פאקט מורכב מהאדר בגודל 4 בתים, שהוא STRUCT שבין כל המידע שלו יש את ה-PID (מספר הערוץ) ואת מונה הפאקטים מאותו ערוץ, ולאחר ההאדר יש את מידע הפאקט Data[184], בסה"כ 188 בתים בכל פאקט.
*ניתן להתמש בקריאות לפונקציות ולא לממשן: FindInList(list head), AddToList(list head), DestroyList(list head)
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2017
יש ליצור רשימה מקושרת, כאשר בכל תא ברשימה יש את מספר הערוץ ומונה של מספר הפאקטים החסרים. כדי למצוא את הפאקטים החסרים יש ליצור שני משתנים: oldCC, newCC, השומרים את השדה של המונה ב-STRUCT של הפאקט העכשוי, והפאקט הקודם, מבצעים חיסור, ואם התוצאה גדולה מ-1, סימן שהלכ/ו פאקט/ים לאיבוד. מאחר שגודל המונה הוא 4 ביטים, אז ערכו נע בין 0-15, לכן את הבדיקה נבצע כך:
if ((newCC - oldCC != 1) || (newCC - oldCC != -15)) // if some packet is missing, check how many:
if (oldCC => newCC)
missings = newCC + 15 - oldCC - 1;
else
missings = newCC - oldCC - 1;