בואו נמצא עבודה
מבחן קוד, תביא לי עוד
10 במרץ 2021
בואו נמצא עבודה
10 במרץ 2021
מבחן קוד הוא למעשה אתגר שמוגבל בזמן שבין מספר שעות עד מספר ימים, בו תצטרכו להוכיח את היכולות שלכם. המבחן הזה בודק דברים שאין דרך לגלות בראיון: יכולות למידה עצמית, אחריות, רמת השקעה, איכות כתיבת קוד, זריזות פתרון בעיות ועוד. לרוב נותנים למועמד את מבחן הקוד כעבודה עצמית הביתה (זה לרוב נקרא מטלת בית..).
במידה ומדובר במבחן קצר יחסית שאמור לקחת לכם שעתיים-שלוש אז יתכן ויערך במשרדי החברה, עם הפסקה למנוחה ולאוכל (לא לשכוח להביא סנדויץ מהבית). לרוב תהיה לכם אפשרות להיעזר באינטרנט ובכל כלי שהוא.
מה שואלים במבחני קוד וכיצד להתכונן?
לרוב, מבחן הקוד יהיה קשור לעיסוק החברה. במקרה והחברה עוסקת במחקר חולשות וRE, ככל הנראה שהתרגיל ידרוש יכולות וכלי RE. במידה והעיסוק המרכזי של החברה הוא AI/ML, כנראה שהתרגיל ידרוש ידע בפיתוח ומחקר AI/ML וכך הלאה..
אז במידה ואתם יודעים שתקבלו מטלת בית, תתכוננו אליה מראש. אפילו מומלץ לבקש לקבל פרטים על מבחן הבית מראש לדוגמת:
לאחר שיהיה לכם את המידע המלא, תמיד מומלץ (וגם מקובל) לבקש לקבל את התרגיל מספר ימים לאחר מכן, על מנת שיהיה לכם זמן להתכונן אליו מראש.
מרכיבי מבחן הקוד
בעבודתכם על מבחן הקוד, עליכם להתייחס ככל הניתן לכל הנקודות הבאות:
נפרק אותם לפרטים:
ארכיטקטורה וdesign-: לפני שאתם ניגשים לפתרון הבעיה, נסו להבין את המשימה, לפרק אותה לגורמים, לחשוב על ארכיטקטורה וdesign נכון למערכת. טעות נפוצה של מועמדים תהיה ישר "לקפוץ" לכתיבת קוד ו"ללכלך את הידיים". אולם, מהנדס אמיתי (כמו אחד כזה שאנחנו שואפים להיות), ינסה להבין את הבעיה בשלמותה תחילה, ורק אז להתחיל לפרק את המשימה לתתי משימות. את כל תהליך החשיבה והתכנון יש לפרט במסמך הדוקומנטציה (סעיף 4).
כתיבת קוד: החלק העיקרי בעבודה תהיה כתיבת קוד או ביצוע מחקר מעמיק בבעיה. זכרו כי זהו בעצם ה-Core של התרגיל! שימרו על קוד נקי, יפה, מודולרי, מחולק למחלקות ופונקציות ומתועד.
עבור תרגיל מחקרי הקפידו גם כן על תיעוד מפורט ככל הניתן של התהליך (גם פירוט של צעדים שלא הביאו לתוצאות טובות). כמו כן, עבור קודי עזר (כלומר לדוגמת השמשות של חולשות או מודלי AI) חשוב שתקפידו על העקרונות המצויינים בתחילת סעיף זה.
כתיבת טסטים: סיימתם לכתוב את המערכת? הגעתם למטרת המחקר שחיפשתם? מעולה! עכשיו הגיע השלב הבא ב-cycle של כל מוצר בשוק- בדיקות! עליכם לבדוק את המערכת, לכתוב לה טסטים (היעזרו בגוגל), בדקו ידנית ותעדו במסמך, כתבו אוטומציות. זהו שלב קריטי וחשוב מאוד.
טיפים כלליים
במקרים רבים, המבחן לא נועד לפתרון בצורה מלאה בזמן המוקצב. בשל כך, החברה לעיתים תבקש מכם להכין מסמך תיעוד של הפעולות שלכם. כמה טיפים חשובים:
סדר! הכינו מסמך מסודר, נקי, ובעיצוב הולם. זכרו כי אתם לא נבחנים רק על כתיבת הקוד עצמה אלא על התהליך כולו.
פירוט- אתם יכולים לעבוד על מבחן הבית שלכם ימים כלילות ולהגיש מסמך ריק וכל מה שהמראיין ידע בסופו של דבר זה… שלא עשיתם כלום כי הגשתם מסמך ריק…. כלומר, כל מה שנמצא בתוך המסמך- עשיתם, וכל מה שלא נמצא במסמך- כאילו לא עשיתם. זה כלל הברזל. לכן פרטו כמה שרק ניתן! תהליכי עבודה, ארכיטקטורה, תיאור קבצי קוד, מחלקות עיקריות, צילומי מסך, טסטים, כיווני מחקר שצלחו וכיווני מחקר נוספים שלא צלחו.
קדימה לעבודה!
השאירו תגובה
רוצה להצטרף לדיון?תרגישו חופשי לתרום!