ראשית, הרשה לי להמליץ לך על 2 אתרים:
Q&A for peer programmer code reviews
codereview.stackexchange.com
זה אתר מאותה חברה שמנהלת את SO, ושם תוכל לפרסם תוכנות קצרות כגון זו שהצגת כאן, או אפילו פונקציות בודדות עם אלגוריתם כדי לקבל משוב על איכות ונראות הקוד כמו גם הצעות לשיפור.
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
pastebin.com
זה אתר לפרסום קוד שניתן לפרס בו גם אנונימית ללא חשבון משתמש.
האתר פשוט מציג את הקוד בצורה יפה.
אם אתה מוצא את עצמך צריך לפרסם כמות קוד בפורום שלא ממש תומך בזה, כמו שעשית פה, אתה יכול לפרסם שם במקום ולהביא קישור.
זה נוח ומקובל, והופך את קריאת הקוד לקלה יותר.
מעבר לזה, צר לי, אבל הדחייה המהירה, והסיבה שניתנה כולל חוסר הרצון לפרט, די מובנים לי, ואסביר:
בדרישה שהצגת, חוזרים פעמיים על שם התוכנה שהם רוצים שתפתח: DLL scanner
אבל, השורה הראשונה בקוד שלך (אם לא סופרים את כל ה-using) היא: namespace DllSearcher
זה אולי נראה כמו פרט חסר חשיבות, היות ואין לזה שום השפעה על עבודת הקוד, אבל אם הייתי בודק קוד של מומעד זה היה ישר מרים אצלי דגל אדום שהמועמד לא באמת מתייחס למסמך אפיון שהוצג לו.
זה גם היה גורם לי, וכנראה גרם לבודק שהסתכל על הקוד שלך לתת משקל ולשים לב לכל שאר הבעיות שאחרים פה פרטו מה שיצר ביחד תמונה של קוד שגם אם הוא עובד, הוא לא באמת ייצוגי - כלומר, לא ברמה שהחברה מצפה לה.
ברשותך, מספר שאלות:
1. האם היית דרישת ניסיון תכנות בתיאור משרה, ואם כן לאיזה וותק הם ציפו?
2. האם האפיון באנגלית שהדבקת כאן הוא האפיון המלא שקיבלת, או שהיו עוד פרטים?
על פניו, באפיון שהדבקת יש חוסרים שלא מאפשרים מימוש.
אני לא יודע אם הם עשו זאת במכוון או מתוך רשלנות, אבל בכל מקרה ממך כמתכנת מצופה במצב כזה לשאול שאלות בירור שיאפשרו לך ליצור מימוש שעומד בכל התנאים שהם מצפים להם.
כך למשל, במקום לחפש באינטרנט איך נראה מספר גרסה של DLL, היית צריך לשאול אם הם מצפים למספר גרסה בפורמט ספציפי עם יכולת לקבל גם גרסאות חדשות יותר, או שהם רק רוצים לוודא שהגרסה זהה למה שהמשתמש הכניס (ובמקרה כזה אתה לא צריך בכלל לפרסר את מספר הגרסה!).
3. אני מבין שמדובר בתרגיל בית, האם היית מגבלת זמן על המימוש?
אם היית, כמה זמן?
אם היה לחץ של זמן ו\או התרגיל היה "בלייב", אפשר להבין קוד שהוא לא הכי מסודר, אבל אם מדובר בתרגיל בית שיכולת לכתוב ברוגע הבוחן יצפה לקוד הכי מצוחצח שאפשר, ויראה כל דבר אחר, גם אם עובד כמו שצריך, בתור חוסר מקצועיות \ זלזול.
4. האם קימפלת והרצת את הקוד?
בדקת שהוא עובד, מטפל במקרי קצה ומציג תוצאה נכונה?
5. מאפה לקחת את ערכי ברירת מחדל לגרסה ותאריך של DLL?
למה החלטת שצריכים בכלל להיות ערכי ברירת מחדל, במקום לחייב משתמש להזין אותם?
אני חושב שהסיבה שמי שדיברת איתו על סיבת הפסילה אמר לך "עזוב", היית שהבעיה בקוד היא לא נקודה אחת ספציפית בה נכשלת, אלא הרבה מאוד דברים קטנים שביחד מצטברים לקוד שהוא מתחת לרף שאותה חברה קבעה.
בניגוד לפורום הנוכחי, לאותו אדם לא היה זמן או יכולת לעבור איתך על כל הקוד כדי לתקן את הדברים, ואם ההפרש בין מה שהם ציפו למה שהם קיבלו היה באמת גדול (למשל, דרישה למתכנת עם מספר שנים של ניסיון), אז חלק מהדברים שפספסת הם ראו כ-"מובן מאליו".
במקום להיעלב, היית מציע לך לתרגל, ולתאם ציפיות לראיונות הבאים.
ללא ספק יש מקומות בהם היו מקבלים אותך גם עם קוד כמו שכתבת (שוב, בהנחה שהוא עובד), האם היית רוצה לעבוד בהם זו כבר שאלה אחרת...