שחזורי ראיונות עבודה -> שחזור מלא -ראיון בחברת audio codes
  • שחזור מלא -ראיון בחברת audio codes
  • ע"י: ליז_למון
    שחזור מלא -ראיון בחברת audio codes אודיוקודס שאלה 1: נתון הקוד הבא וצריך להגיד מה הבעיות char *ip_address(unsigned int ip) { char str; char *p = (char*)&ip; sprintf(str, %d%d%d%d, p, p, p, p); return str; } שאלה 2: נתון מספר כלשהו בעל 4 ספרות וניחוש גם בעל 4 ספרות לדוגמא מספר 1234, ניחוש 1489 צריך להגיד כמה מספרים הוא בדיוק במקום וכמה ליד למשל בדוגמא הזאת התוצאה תהיה 1 exact, 1 near דוגמא נוספת מספר 1122, ניחוש 2121 התוצאה 2 exact, 2 near צריך לכתוב קטע קוד שממש את זה בהצלחה.
  • לפני שנתיים
    ע"י: יניב ש
    הפתרון לשאלה הראשונה char *ip_address(unsigned int ip) { char *str = malloc(16); unsigned char *p = (unsigned char*)&ip; sprintf(str, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]); return str; }
  • לאחר הצמצומים אסף בחר שלא לבזבז זמן (=כסף) ופנה לסיוע המקצועי שלנו התהליך שעבר היה כה ממוקד, שלא באמת הופתענו כשסיים אותו עם שתי הצעות מעולות על השולחן. תזכרו, לא משנה איך השוק, זה אף פעם לא זמן טוב לחפש עבודה.
    לבדיקת התאמה
  • לפני 3 שנים
    ע"י: 1_אורח_כללי
    בשאלה הראשונה צריך גם להתיחס להאם המע' היא big endian או little endian, גם אם המידע מקודד בint בתור 4 בתים נפרדים הסדר שלהם תלוי ב endianess
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    בנוסף, ה-cast נעשה למערך של char ולא unsigned char, אז: 192 יהפוך ל- -64 (מינוס) כאשר יקודם ל-int בזמן ההעברה ל-printf (ה-printf משתמש ב- %d אז הוא יציג אותו אכן כ- -64. גם שם הייתי משנה ל-%u, אבל זה בלי קשר, כי רק לשנות ל-%u לא יעזור.)
  • לפני 14 שנים
    ע"י: 1_אורח_כללי
    זו אכן הבעיה העיקרית, מבחינת תכנות. בנוסף יש את העובדה שה-IP שיתקבל ב- STR, לפני שחוזרים לפונקציה הקוראת, יתקבל ללא הפרדה באמצעות נקודות ואז לא באמת קיבלנו את מה שרצינו. לדוגמא, תוצאה כזו: 1921683412 לא כל כך תעזור לנו...
  • לפני 14 שנים
    ע"י: 1_אורח_כללי
    מה ההגדרה של "ליד"?? ולגבי השאלה הראשונה, יש בעיתיות נוספת חוץ מזה שהפונק' מחזירה פוינטר למשתנה לוקלי?
  • לפני 14 שנים
    ע"י: קינג_יוניק
    ההצעה שלי לפתרון השאלה השניה: void assessGuess (unsigned num, unsigned guess) { static bitset<10> digitLUT; digitLUT.reset(); for (unsigned tmp = num; tmp; tmp/=10) { digitLUT.set(tmp%10); } unsigned exact = 0; unsigned near = 0; for (; guess; guess /= 10, num /= 10) { if (guess%10 == num%10) exact++; else if (digitLUT.test(guess%10)) near++; } cout << "exact = " << exact << "\nnear = " << near << endl; } test output: num = 1799 guess = 4729 exact = 2 near = 0 num = 1210 guess = 1437 exact = 1 near = 0 num = 2063 guess = 3082 exact = 1 near = 2 num = 6355 guess = 1339 exact = 1 near = 1 num = 1096 guess = 1743 exact = 1 near = 0 num = 7124 guess = 5532 exact = 0 near = 1 num = 4841 guess = 4942 exact = 2 near = 0 num = 8791 guess = 9903 exact = 0 near = 2 num = 5659 guess = 7142 exact = 0 near = 0 num = 6394 guess = 8361 exact = 1 near = 1