שאלות מיום מיון 2020-עדכון

מאת JobHunt

היום מתחלק לשלושה מבחנים, אני אתמקד במבחן הראשון בלבד.

קצת רקע על המבחן:

– קיימים 4 סעיפים בלתי תלויים אחד בשני.

לאחר השלמת כל סעיף יש להריץ את התוכנית ושם מתקבל משוב

האם הצלחתם או לא. חייבים לסיים את כל הסעיפים על מנת לעבור.

– אורכו 4 שעות (אך נאמר שם כי הזמן המומלץ הוא 3 שעות).

– ניתן להיבחן ב-c/ c++/ c#/ java אך נאמר שם כי מומלץ להיבחן 

ב-c או ב-++c מכיוון שכך יפתחו בפניכם יותר משרות.

– ניתן להיעזר באינטרנט אך לא ניתן להיכנס למייל האישי או להוריד קבצים למחשב.

– אחת לכמה זמן מגיע נציג מטעם החברה לעזור אם ישנן שאלות.

– אם סיימתם, יגיע אותו נציג ויבדוק יחד איתכם את פלטי ריצת התוכנית, במידה ואין

שגיאות, תמשיכו למבחן הבא. אחרת, תמשיכו לכיוון היציאה, יש בבניין ליד קפיטריה טובה, אתם מוזמנים להטביע את יגונכם בקפה.

המלצה: המבחן הוא 4 שעות, תבואו מוכנים עם בקבוק מים ומשהו מתוק.

הערה: אני נבחנתי בשפת ++c.

השאלות הן כמו שכבר נכתב כאן בעבר ולכן אחזור בקצרה:

1.1 מימוש פונקציה לחיפוש בינארי בעץ.

חשוב: הפונקציה מקבלת אוביקט מסוג "הודעה" בלבד.

1.2 שימוש ב-API של החברה.

ישנו צמד קבצי h/cpp בהם תמצאו את הפונקציות הרלוונטיות.

לצורך הסעיף הזה אני ממליץ בחום לעבור על התהליך הזה (שימוש ב-API).

1.3 תיקון שגיאות – נתון קובץ cpp אשר מכיל בתוכו שגיאות (תחביר, לוגיקה וכדומה),

יש למצוא את כולן ולתקן אותן.

הערה: לדעתי שווה לדחות את הסעיף הזה לסוף, קצת מייגע.

1.4 נתונה תעבורת הודעות ממען לנמען ויש להחזיר רשימה של כתובות (מען/נמען)

של כל אלה שאחראים ליותר מ-10% מההודעות הללו.

חשוב: הפונקציה מקבלת אוביקט מסוג "הודעה" בלבד.

המבחן נעשה ב-visual studio על פרוייקט קיים שמכיל ארבע פולדרים עיקריים, כל אחד רלוונטי לשאלה אחרת (ומכיל את קבצי ה-c וה-h הרלוונטיים לשאלה). למעשה, אתם מממשים מס' מצומצם של פונקציות בתוך מערכת קיימת.

אין צורך לכתוב קבצים מאפס, בכל שאלה כבר קיים קובץ עבודה מוכן שבו רק צריך לממש פונקציות בהתאם להנחיות המבחן.

מבחינת השאלות עצמן, המבחן נועד לראות בעיקר לבדוק את היכולת שלכם להבין את המערכת ולכתוב עבורה פונקציות, לכן אין יכולת אמיתית לבוא עם פתרון "מוכן" מהבית, אבל בסופו של דבר לא מדובר במבחן מסובך מדי. אני ממליץ לדעת טוב את הסינטקס של השפה שבה אתם בוחרים לעבור את המבחן ולחזור על עקרונות תכנותיים (לבדוק הקצאות זיכרון, חריגה במערכים וכו'). מבחינת רמת הקוד, מדובר בסה"כ בתכנות די בסיסי (אין צורך אמיתי להשתמש בת'רדים למשל).

1. מימוש חיפוש על עץ בינארי: אין מה להסתבך פה, מקבלים קודקוד ואיבר שרוצים למצוא.

2. מימוש ע"י שימוש ב-API חיצוני: כנ"ל, אתם מקבלים API ואת המימוש הלא מתועד שלו וצריכים להבין איך הקוד עובד ולהשתמש בו.

3. תיקון קוד קיים: אתם מקבלים קובץ C מוכן וצריכים לדבג אותו ולתקן את השגיאות בקובץ עצמו כך שיעבוד. עיקר העבודה הייתה סביב עקרונות תכנותיים ב-C (מניפולציות על מערכים וסטרינגים, הקצאות זכרון וכו').

4. בדיקת סטטיסטיקות – אין יותר מדי מה להוסיף למעט העובדה שמספקים לכם מימוש של hashTable שאפשר (ומומלץ) לעבוד איתו.

לכל שאלה יש טסט שאתם יכולים להריץ בכדי לבדוק אם הפתרון שלכם עובד.

חייבים לפתור את כל השאלות כדי לעבור ומוקצות לכך ארבע שעות, אם כי מבחינתם אתם צריכים לפתור הכל בשלוש (כלומר מי שלא פותר בשלוש שעות יכול להמשיך לעבוד עוד שעה, אבל זה מפחית את הסיכויים שלו להמשיך).

אין יותר מדי מה להרחיב על שני המבחנים הבאים:
הראשון הוא מבחן על פקודות shell בסיסיות לינוקס (וההנחיות פחות או יותר אומרות לכם מה לעשות בדיוק, פשוט לעקוב אחריהן) והשני הוא מבחן GUI שבו אתם צריכים לערוך תמונה בצייר וליצור ממנה GUI של תוכנה.

 

לבדיקת התאמה