שחזורי ראיונות עבודה -> יום מבחנים בצ'ק פוניט
1 2 3 4 5 6 7
  • יום מבחנים בצ'ק פוניט
  • ע"י: 1_אורח_כללי
    שלום חבר'ה יש לי יום רביעי מבחנים בצ'ק פיונט. אני יודע שיש שלושה ימים (היא שאלה איזה יום נוח לי). מדובר על משרת סטודנט ושיש שלושה מבחנים. הראשון ב-c\c++ עוד אחד שבודק איך אני מתמודד עם חומר חדש ועוד משהו שאני לא זוכר. יש למישהו מושג מה הולך להיות לי? אשמח לכל טיפ. (זה פעם ראשונה שאני עושה מבחנים כאלה) תודה!
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    שלום לכולם, יום שני הקרוב יש לי מיונים למשרת סטודנט לפיתוח תוכנה. הודיעו לי שהמבחן הראשון הוא בjava והוא נערך כשעה וחצי, ולאחר מכן מבחן שבודק יכולות טכניות גם כן שעה וחצי. בנוגע למבחן התכנותי, שמתי לב שבשרשור פה היה דיבור רק על משרת פיתוח מלאה והמבחן הוא 4 שעות, האם המבחן למשרת הסטודנט דומה? או אפילו לקוחה אחת השאלות? מישהו פה התמיין למשרת סטודנט? ועוד משהו, בנוגע לציפיות שכר, מישהו יודע מה השכר של סטודנטים לפיתוח? תודה רבה.
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    הייתי שם אתמול והיו בדיוק את אותם השאלות.. רק משהו שנתקעתי עליו: בחלק השני כשמריצים את הftp אצל הלוקח כדי גם להתחבר לftp צריך לתת את הפקודה open..
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    האם המבחנים בג'אווה זהים לאלה ב-C? אם כן, באיזה מובן בודקים יעילות? כיצד ניתן לקצר זמני ריצה של השאלה על 10%, ושאלה על המחרוזות? אף אחד לא הגיב לשאלה הזו: אז אני אומרת לך: המבחנים זהים. ובשום אופן לא לגשת ל C. אולי התכוונת C#, לא משנה. הכי קל זה C# או JAVA. אנשים עוברים את זה בכמויות ובקלי קלות. יש פה בפורום את השאלות. בסך הכל עם כמה שורות קוד ב JAVA או C# ניתן לפתור את כל המבחן. לא מסובך, לא ביג דיל. אבל ב C++ זה הופך להיות מסובך וב C כמעט בלתי אפשרי לעבור. בקיצור, טיפש מי שפותר ב C++ וטיפש מטופש מי שניגש ב C. הם נכשלים הכי הרבה. אני חוזרת ואומרת - שלא תעיז לגשת ב C. למרות שהם אומרים ומצהירים שהם מחפשים C\C++ הם משקרים וזה ממש לא משנה ביום הבחינות. הכי הכי חשוב זה לעבור את הבחינה ולא משנה איך. אז תפתור ב JAVA או C# ותעבור כמו גדול את השלב הראשון, לאחר מכן תספר להם שאתה רוצה לעבוד ב C או C++ אם בא לך, ואחר כך הם ימיינו אותך לשפה שמתאימה לך ולהם ותתכונן בהתאם. ואני אומרת לך את כל זה ממידע מבפנים... בהצלחה
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    איזה מבחן? הייתי לפני חודש וחצי במבחנים למשרת פיתוח. עדיין היה את המבחן שדיברו עליו כאן, 4 שאלות, חיפוש כתובות בעץ בינארי וכל זה.
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    מישהו היה בחודש האחרון בצק פוינט ויודע אם המבחן נשאר אותו דבר?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    היי בימים הקרובים יש לי מבחן security analysis בצ'ק פוינט. מישהו שהיה במבחן בזמן האחרון ויכול לעזור? יש שינויים בשאלות? תודה מראש
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    היי מישהו היה ביום מיון למשרת רכז /ת עיבוד והזנת הזמנות ויכול/ה להגיד מה היה??
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    היי מישהו היה ביום מיון למשרת רכז /ת עיבוד והזנת הזמנות ויכול/ה להגיד מה היה?? כן, הייתי שם לפני שבועיים והגעתי לסוף החלק הראשון וזרקו אותי. מבחן 1. את עובדת בחנות פרחים. מקבלת מייל הזמנה מלקוח. נותנים לך חוברת דפים שבהם יש את המחירון של הפרחים, ומה צריך להיות בהזמנה מסודרת, והמשימה היא לכתוב במייל ללקוח מסקנות מההזמנה שלו. 2. מבחן של 6.50 דקות, 2 טורים של נתונים, כאשר לפעמים הנתונים זהים ולפעמים שונים בשני הטורים. צריך לסמן האם השורה זהה או שונה. 3. צריך להכניס הזמנה למערכת SAP. בהצלחה !
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    מישהו היה ביום מבחנים בצ'ק פוינט למשרת "רכזת עיבוד והזנת הזמנות"? מה שואלים במבחנים?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    מישהו היה ביום מבחנים בצ'ק פוינט למשרת "רכזת עיבוד והזנת הזמנות"? מה שואלים במבחנים? היי היית ביום מיונים??
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    כל מי שרשם שיש לו ראיון שני בצ׳ק פויינט היה? יכול לספר מה שואלים? איך היה? תנו פידבק אנשים!
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    היי, יש לי מחר ראיון עם ראש צוות למשרת פיתוח. מישהו היה, יודע מה שואלים?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    היי לכולם, האם מישהו יכול לתת לי דוגמא לשאלות הגיון שהיו ביום מיון בצ'ק פוינט?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    השאלות נשארו אותו הדבר. שימו לב לפרטים הקטנים - אני נפלתי בשאלה הרביעית כי ניסיתי למצוא את 10 האיברים הגדולים ביותר ולא את אלו שיש להם מעל 10% קריאות מ source מסויים. תשומת לב לפרטים חשובה מאוד.
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    מישהו היה בתקופה האחרונה? האם השאלות עדיין רלוונטיות ולא השתנו?
  • לפני 9 שנים
    ע"י: יאנה86
    קודם כל - תודה רבה לכל העוזרים,מעריכה מאוד את העזרה!! רציתי לשאול לגבי שאלה 3 - מישהו יכול לפרט מה בדיוק צריך לעשות בשאלה במובן של חיפוש מילים מסוימות בתוך מחרוזת נתונה..האם הבנתי נכון שנתונה מחרוזת וצריך למצוא האם היא מכילה מילים מסוימות? אם כן,באלו פונקציות של ספריית string.h משתמשים בשביל לבצע את הפעולות הנדרשות? אני יודעת שהפונצקיה strstr מחזירה האם מילה מסוימת נמצאת בתוך מחרוזת נתונה,האם זה נכון להשתמש בה בשאלה 3? האם יש עוד פונקציות של string.h שצריך להשתמש בהם בשאלה 3? ממש אודה על העזרה!!
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    מישהו היה לאחרונה ביום מבחנים למשרת פיתוח ? השאלות נשארו אותו דבר ?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    אם אתם מחזיקים בהצעה אחרת תעדיפו אותה. חברה שנשכרת בבורסה ומקימי החברה הזו הם מילארדרים, וככה קמצנים במשכורת
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    אם אתם מחזיקים בהצעה אחרת תעדיפו אותה. חברה שנשכרת בבורסה ומקימי החברה הזו הם מילארדרים, וככה קמצנים במשכורת במידה וסרבת, אפשר לדעת כמה הציעו לך ואיזה תנאים? (הכוונה היא לפיתוח תוכנה. אם אתה מדבר על משרה אחרת, תציין זאת)
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    אם אתם מחזיקים בהצעה אחרת תעדיפו אותה. חברה שנשכרת בבורסה ומקימי החברה הזו הם מילארדרים, וככה קמצנים במשכורת במידה וסרבת, אפשר לדעת כמה הציעו לך ואיזה תנאים? (הכוונה היא לפיתוח תוכנה. אם אתה מדבר על משרה אחרת, תציין זאת) כן זה היה בQA והם הציעו 5.500 למשרה זו. בכל חברה אחרת מציעים 6+ לqa מתחיל.
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    אתם יודעים במקרה אם יום המיון ל QA הוא ביחד עם התמיכה הטכנית? איזה סוג של מבחני הגיון יהיו? (באנגלית?) המבחן הטכני/מעשי..יהיה על QA או על ראוטרים?? הלכתי לאיבוד :<
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    המון תודה לך, מה זה RTFM? ומה שאולות בראיון שני?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    יצאתי לא מזמן. המבחן נשאר אותו הדבר. טיפ לגבי 3 - בשביל SMTP לא צריך לכתוב את הפונקציה מחדש וזו ממש לא היתה כוונת המשורר. צריך לתת תנאי מקדים לפני שמשתמשים בה. פונקציות של השוואת תתי מחרוזות לפני הקריאה לבדיקה עושה את העבודה וגם משפרת פלאים את היעילות. אם 1000 זו דרישה ליעילות טובה ומתחת מקבלים בונוס - אני הבאתי את היעילות בשאלה הזו ל-300 די בקלות. חבל שאני לא מתכנת טוב כמו שאני פותר באגים קיימים. לצערי לא הספקתי את שאלה 4 וחבל, כי ככה לא הספקתי להגיע לתחום שאני שוחה בו -לינוקס. אני מציע לקחת את מה שיש כאן ולהתכונן מחשבתית לפחות שבוע. המבחן לא קשה אבל קל מאוד להתבלבל בו. ואל תשכחו - RTFM
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    באיזה שאלה אתה מדבר ? ואיך שיפרת היעילות אפשר לפרט יותר תודה
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    יש חדש במבחן?
  • לפני 9 שנים
    ע"י: 1_אורח_כללי
    שלום, הייתי שבוע שעבר במבחנים האלה וזה אכן זהה לכל מה שנכתב כאן: 4 שעות בחינה, כשבשעה הרביעית יורדות כבר נק'. 4 שאלות לממש, הראשונה עץ בינארי, וכ'ו כמו שכבר נכתב. שום שאלה שם לא היתה ממש קשה, כמו זה שהייתי צריך להתמודד עם להבין קוד קיים ולעבוד עליו. זה לקח לי המון זמן לקלוט מה מקבלת/מחזירה כל פונק' שהם בנו שם, והיו מקומות שהם בכוונה כתבו בצורה לא מובנת. כמו כן, לדעתי ההוראות מאד לקו בחסר. השעון שמתקתק מולך גם תורם ללחץ. לדעתי ההכנה הכי טובה למבחן כזה (בדיעבד)-לבקש מחבר איזה שהוא תרגיל בC שהוא עשה כבר בעבר. לבקש ממנו למחוק 2 מימושים של פונק' ושאתה צריך לממש אותם. משהו כזה. מקווה שעזרתי. בהצלחה.
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    מישהו יכול בבבקשה לפרסם את דף השאלות הרשמי? או לפחות ניסוח יותר פורמלי? תודה רבה!
  • לפני 10 שנים
    ע"י: רונן גולדנבר
    תתי הקבוצות עם חזרות?
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    היי לכולם, ביום ראשון אני מגיעה ליום מבחנים הפתוח. קודם כל תודה רבה לכולם על התגובות זה מאוד עוזר להכנה. לגבי שאלה 5- לפי מה שהבנתי צריך להחזיר את כל תתי הקבוצות של סטרינג אפשרי, אם האורך של הסטרינג הוא n, אז כמות תתי הקבוצות היא 2 בחזקת n. להלן לינק שמכיל קוד בכל השפות לשאלה הזאת: http://rosettacode.org/wiki/Power_set#Java בהצלחה לכולם!
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    עשיתי את המבחן למשרת פיתוח לא מזמן. אין כל כך מה להוסיף, השאלות לא השתנו עד עכשיו. לחלק ראשון ישנן 4 שאלות שמאוד רצוי לעשות אותן ב-3 שעות!!! השאלה החמישית - מציאת תתי קבוצות של הקבוצה שניתנה. כלומר נתון String וצריך להחזיר List<List<String>> כמה מילים בקשר לשגיאות שיש לתקן בשאלה 3: 1. יש לאתחל משתנה messagedata שבתחילת הפונקציה handleMessage: String messagedata = message.getData() 2. ב if שבודק האם messagedata של ההודעה היא מחרוזת ריקה יש להחזיר ACCEPT_MESSAGE יש שם שגיאה בשביל הודעה ללא תוכן וחוזר DROP_MESSAGE 3. יש שם switch שכתוב כך: switch(message.getProtocol( אבל getProtocol מחזיר אובייקט מסוג מחלקת Protocol שלא enum, לכן הוא לא יכול להיות ב switch מה שצריך לעשות זה: message.getProtocol().get(). זה יביא ערך נומרי של הפרוטוקול. 4. ב-case של ה-switch שמטפלים בפרוטוקולים HTTP, FTP ו-SMTP יש קריאה לפונקציה שמטפלת בפרוטוקולת אבל אין השמה למשתנה result וחסר break אמור להיות כך: result = handleSmpt(messagedata); break; 5. באגים אחרים בפונקציית handleSmtp: 5.1 הודעות שאין בהם subject ו-body חייבים להיבדק על ידי פונקציה handleGenericMessage, כלומר כך: int idxSubject = messagedata.indexOf("Subject:( int idxBody = messagedata.indexOf("Body:( if (idxSubect == -1|| idxBody == -1||idxSubject >0) { handleGenericMessage return { ** idxSubject >0 זהו תנאי שמבטיח שאין שום דבר לפני ":Subject" 5.2 חישוב של substring כלומר הוצאת ערכים מתוך subject ו-body שבור לגמרי, פשוט תעשו מחדש, יותר קל מלתקן קיים. זהו תודה רבה לכל הכותבים לפני ובהצלחה לכולם!!!
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    נו חברים יש התרשמות כללית? זה כמו שרשום פה, לפי חמשת השאלות? תודה מראש, ומבטיח לעדכן מיד לאחר המבחן
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    שלום לכולם, יש למישהו מושג לגבי המבחן העדכני של הqa?
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    יש לי מחר מבחנים בצק פוינט. מישהו בבקשה יכול להעלות פתרון לשאלה 5 בשפת c++? ממש מתקשה עם השאלה. תודה!
  • לפני 10 שנים
    ע"י: אקווה
    שולה וכרוב, האם כבר עברתם את הנורא מכל ?? תוכלו לשתף ? אופי השאלות, אופי היום... זהות השאלות, סביבת עבודה בזמן המבחן... וגם, בשאלה החמישית, האם יש דרישה מפורשת להשתמש באיטרטור ? תודה !!
  • לפני 10 שנים
    ע"י: כרוב
    מצטרף לבקשה, האם למישהו יש את קובץ המבחן? הלינק בשרשור הזה לא עובד.
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    שלום לכולם! זומנתי ליום ראיונות ביום ראשון ואני רוצה להתכונן, אבל הקישור של המבחן לא עובד. מישהו יכול להעלות אותו מחדש בבקשה?
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    הבהרות : בשאלה 5 מקבלים מערך של STRINGS (מחר זה יכול להיות INT, אבל העיקר שזה מערך של איברים) אין צורך לפרק את STRING כלשהו ל-chars עבור ABCD צריך להופיע גם ABD, וגם ACD לא מאתי בעיה בקוד, הרצתי אותו שוב וקיבלתי (עבור ABCD) : A B C D A B A C A D B C B D C D A B C A B D A C D B C D A B C D (ולא לשכוח קבוצה ריקה)
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    איש נחמד, האם התרגיל האחרון הוא כמו בדוגמה הזו? עבור ABCD אחד הצירופים צריך להיות ACD? וגם ABD? כי אם כן אז התשובה שנתת אינה מספיקה מכיוון שצריך לדאוג לקפוץ על אותיות בתוך הרקורסיה. או שכל הצירופים צריכים להיות SUBSTRING של הSTRING הראשי? כלומר ללא קפיצות.
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    יש לי את המבחן ביום ראשון, שמעתי שאת שאלה 5 צריך לממש עם ITERATOR. בכל מקרה זאת התשובה שלי, משהו שכתבתי הרגע, יש מימוש עם לולאות ועם ITERATOR גם. package substring; import java.util.ArrayList; import java.util.Iterator; public class test { public static void main(String args) { String string, sub; int q,i, c, length; String str = "abcde"; char charArray = str.toCharArray(); length = charArray.length; ArrayList<Character> chars = new ArrayList<Character>(); for (char x : str.toCharArray()) { chars.add(x); } Iterator<Character> itr = chars.iterator(); int size = chars.size(); char temp = new char; for(int r= 0;r<size;r++) { i=0; while(itr.hasNext()) { temp = itr.next(); i++; System.out.println(temp); } temp = new char; chars.remove(0); itr = chars.iterator(); } /*for( c = 0 ; c < length; c++ ) { for( i = 0 ; i < length - c ; i++ ) { temp = chars.get(c+i); //temp = charArray; //sub = string.substring(c, c+i); System.out.println(temp); } temp = new char; }*/ // } } }
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    איש נחמד, תגיד בשאלה 5, מה מקבלים במערך string? הרי לפי הדוגמה אמורים לקבל רק תא אחד שבו יש את הstring לפירוק. וצריך להחזיר מערך string שכל תא זה תת קבוצה של הקבוצה הראשית נכון? תודה.
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    השאלות הם בדיוק כמו שמתואר פה. כל הכבוד אנשים טובים תורי לחפור : (אגב לצערי לא עברתי, כל המבחן הלך מצויין(!) כצפוי אחרי שקוראים את כל השאלות פה, ולצערי ישבתי שעתיים על באג בשאלה 3, ראו פרטים בהמשך) הם לא אמרו שיש עדיפות ל ++C או שפה כלשהי, להפך החברה גדלה ויש הרבה משרות, אבל זה כנראה אף פעם לא קבוע ומשתנה בהתאם לתקופה.. ל-4 השאלות הראשונות יש 4 שעות אבל מומלץ 3, ואחרי זה יורד ניקוד בהדרגה (הכל מאחורי הקלעים, לא רואים ניקוד או משהו) יש שעה שלמה לשאלה החמישית מי שמסיים קודם מגניב ומקבל בונוס. אל תסיימו מהר מדי שלא יחשדו.. יש יציאה חופשית לשירותים\מטבחון\מה שבא לכם ואפשר להיות בשירותים עם טלפון (אבל אין צורך). המחשב שעובדים עליו מוקשח, אין 'התחל', אין 'המחשב שלי' אין אינטרנט, יש מולך תוכנה עם ו-5 מסכים, כל אחד מכיל הוראות (באנגלית) וכפתור שפותח VISUAL-STUDIO (אם אתם C#) עם הפרוייקט הרלוונטי אפשר כמובן "לדפדף" הלוך וחזור. חשוב לשמור כי זה סוגר תפרוייקט הנוכחי כשמחליפים, זה גם מזכיר את זה כל פעם. כל מסך שכזה מצג TIMER של כמה זמן אתם על השאלה הספציפית. לא יודע אם זה משנה לכם או להם אבל אם עושים ALT_TAB בשביל לחזור מ VISUAL STUDIO לתוכנה הזאת ואז עוברים למסך אחר, ה TIMER שלו ממשיך לרוץ ולא של השאלה שאתם עליה, אולי אם בסוף יש משמעות לכמה שמן התעכבתם על כל שאלה , אז יש אפשרות לשחק עם זה, תעבירו על כמה דקות מסך בתוכנה, ואז הזמנים יהיה שוום בין כל השאלות, או שתשאירו רוב הזמן על תרגיל 3, כי לדעתי למצוא באגים אמור לקחת יותר זמן מלכתוב דברים יחסית פשוטים מוסבר הניקוד על השאלות הוא לפי הקריטריונים הבאים בסדר יורד : 1. שזה יעבוד נכון 2. שזה יעיל 3. הזמן שלוקח לך לעשות את זה (גם שם רשום מומלץ 3 שעות ל 4 השאלות הראשנות יחד) 4 . קריאות ושמות משתנים וכאלה... 5. לא זוכר ויכול להיות שזה בעצם ב 4 , אבל זה זניח אז סיכומים\הערות שלי לפי שאלות : ---------------------------------------------------------------------------------- 1. כמו שאמרו פה, פונקציה שמקבלת אובייקט כלשהו מסוג message שמכיל FROM, TO, PROTOCOL, DATA (נניח שכולם int, זה לא באמת משנה) עבור כל message כזה, צריך לדחות את ההודעה (להחזיר ENUM כלשהו של דחייה) אם ה TO או ה FROM מופיעים ברשימה שחורה הרשימה נתונה בצורת עץ - ויש לנו את ה ROOT NODE שלו אחרת לאשר את ההודעה (להחזיר ENUM כלשהו אחר) כל NODE בעץ מכיל DATA LEFT (יכול להיות NULL) RIGHT (יכול להיות NULL) היעילות חשובה, ושמריצים הוא כנראה מריץ מלא פעמים תפונקציה ונותן ציון על יעילות, שזה מספר שצריך לקרב אותו כמה שאפשר ל 1000 בפיתרון הכי טריויאלי בלי דגשים על יעילות זה מביא ציון שיותר קרוב ל 2000 אם אני זוכר נכון זה די פשוט, אבל בכל זאת, פיתרון : - כמו שאמרו פה (ורשמו גם איך), למצוא את ה NODE הכי עמוק שהוא אב משואף של FROM ו TO בשביל לא להריץ חיפוש מלא על העץ פעמיים - לחפש מה NODE שמצאנו את FROM (למשל), אם נמצא להחזיר דחייה - אחרת, לחפש מה NODE הנ"ל את TO, אם נמצא להחזיר דחייה - אחרת, להחזיר אישור למי שלא סגור על זה, לא צריך שום רקורסיה ! מעבר על עץ צריך להיות משהו בסגנון הבא : (ותעתיקו כי זה הורס פה תאנגלית-עברית) currentNode = root; while (currentNode != null) { if (ValueToFind == CurrentNode.Data.Get() ) return true; else if (ValueToFInd > CurrentNode.Data.Get() ) currentNode = currentNode.Right else currentNode = currentNode.Left; } כן ויש להם קטע מוזר שבשביל לגשת ל PROPERTY עושים Data.Get או Data.Set ולא פשוט DATA, או Data = 4 כנראה מועתק מ-JAVA.. אבל בקטנה.. ---------------------------------------------------------------------------------- 2. מקבלים הודעה וצרכים לדחות או לאשר (כמו קודם) בהתאם להאם היא מכילה וירוסים משתמשים במחלקה שלהם עם שם ארוך שאני לא זוכר קודם צריך ליצור MEMBER של זה, לאתחל את זה ב CTOR, וגם לקרוא ל SETUP (פונקצית אתחול כלשהיא) וצריך לקרוא לפונקציה של המחלקה הזאת ולשלוח לה את ההודעה והיא מחזירה אם יש או אין וירוס הפונקציה מקבלת כל מני פרמטרים נוספים ולא מתועדים ולא ברורים. מהות השאלה הזאת היא לראות איך מתמודדים עם קוד לא מתועד ואם מבינים דברים לבד ממה שאני זוכר : 1.אם נכנסים לקוד של הפונקציה רואים שהפרמטר הראשון לא בשימוש וקיים בשביל לבלבל (חח קוראים לו "UseLast" או משהו כזה, ואני יושב וחושב "?!use last what" ) 2. לשלוח FALSE בפרמטר של FULL_SCAN, אחרת זה ימשיך לחפש גם אם כבר מצאנו וירוס כלשהו בהודעה (אחד מספיק בשביל לדחות אותה) 3. היה עוד פרמטר עם שם מבלבל בסוף, לא זוכר מה הקטע איתו, הוא לא משפיע על כלום אם אני לא טועה.. ציון יעילות שקיבלתי היה בסביבות 1200, קריאה לפונקציה עם פרמטרים בצורה שונה, רק מעלה את זה. (אם אני לא טועה לא רשום באף מקום להגיע בדיוק ל 1000, רק להתקרב כמה שיותר) ---------------------------------------------------------------------------------- 3. איכס !, חד משמעית תשאירו לסוף, ואם אתם בנאדם ולא רובוט, כנראה שתיכנסו אליה בהתחלה סתם בשביל הסקרנות ולהעריך זמנים, אבל אחרי זה פשוט תתעלמו ותחזרו שסיימתם תשאר. (כמובן שהכל בגדר המלצה, אתם מכירים את עצמכם יותר ממני) - צריך לפתור באגים ורשום שגם וטעויות קימפול וחוסר יעילות.. - גם כאן מהות המפונקציה היא שמקבלים הודעה וצריך לאשר או לדחות, בהתאם להאם בהודעה יש מילים לא רצויות שנתונות ברשימה כלשהיא. - כל הבאגים הם כמו שתוארו כאן, אני לא יחזור. (הקטע שממש רשום בהערה "אם ההודעה ריקה אז צריך פשוט לאשר אותה" ואז הם בעצם עושים הפוך קצת הצחיק אותי) אז ככה : להודעה יש DATA , שזה STRING כלשהו להודעה יש גם סוג, והוא אחד מ-3 ערכים אפשריים לכל הודעה צריך לעבור על ה DATA ולחפש אם מופיעות שם מילים לא רצויות, יש פונקציה שעושה את זה. הDATA בהודעות מסוג SMTP אמור להראות ככה : "SUBJECT:blablabla BODY:blablalba" להודעות מסוג SMTP צריך לחפש מילים לא בכל ה-string אלה רק בחלקים מסוימים ממנו, כמו שתואר פה כבר. הבעיה שלי שהטקסט של כל הודעה שהפונקציה קיבלה (סתם בהתחלה, עוד לפני השלב שמחליטים איזה סוג הודעה זה ומה לעשות עם זה) לא היה בפורמט הנ"ל, לא היה בפורמט כלשהו, לא היה קריא בכלל, אלה היה מבולגן ומזובל, משהו בסגנון : "SA@#!$# AO G32$%@HDF@ iRC5" נדמה שזה שמר בין הודעות על הסדר של הרווחים וכמות אותיות בכל "מילה" או שזה יום רע ממש, וזה מהבאגים שהולכים לישון ובבוקר שאחרי ישר פותרים כי בדיוק פיספסתי איזה נקודה פסיק או משהו שולי, או שחמאס חיבלו במבחן שלי. דברים שניסיתי : - חיפשתי במחלקות שלהם ולא היה זכר לאיזה משהו שיפענח את זה לפורמט נכון - לא עשיתי משהו שאולי בעקבות זה זה נהיה ככה, פשוט לשים BREAKPOINT, ולבדוק - בדקתי לכל ההודעות, לא היתה אחת נורמלית - היה שם אופציה לעשות SERIALIZE \ DESERIALIZE להודעה, זה לא קשור שתדעו למקרה שאתם נתקלים בזה - שמריצים את התונית אז דוח שגיאה עם מידע קצר על ההודעה הראשונה שהטיפול בה נכשל, מתוך מלא הודעות שהם מריצים את זה עליהם, ושם מופיע ה-DATA בפורמט קריא. - גם אם כוונת המשורר היא לא לחטט להם מאחורי הקלעים, הרי מתישהו הטקסט של אובייקט ההודעה שהם שוליחים לפונקציה שלנו נהיה קריא ומודפס בדוח שגיאה, אז אמרתי שווה לבדוק מה עושה את זה.. - לכן דיבגתי גם "מאחורי הקלעים" וזה בכוונה מבולגן ולא קריא ומלא פונקציות ותנאים שלא עושים כלום וקיימים בשביל להטעות, ומשתנים לא קריאים וכו'... זה לא סתם קוד שמתכנת מתחיל כתב, בברור מדובר על קוד שתוכנן להיות לא קריא. (ועולים לי קונספירציות בראש, אם זה בשביל שלא נרמה ונשנה את מה שבודק את הקוד, או כי הבעיה באמת שם ורוצים לראות איך מתמודדים עם קוד שנכתב ע"י השטן...) קשה להבין משהו בקוד המבולגן הזה וזה גזל לי זמן. עשיתי עוד מלא מלא דברים .. אבל בגדול לא מצאתי איך להפוך את זה למה שצריך די מבאס שעל זה ישבתי שעתיים ובעצם שאר 99% מהמבחן פתרתי בצ'יק.. אם אתם מוצאים מה הבעיה, שטפו !!! שאלתי בסוף את המשיח אבל לא הוא זה שכתב תמבחן ויודע מה הולך שם לעומק. חח אז קשה להסביר לו שבשאלה של למצוא באגים אולי יש באג.. הקטע הוא שלא לכולם הזה את זה ולכן אני חושד. אבל יצא לי לשאול אנשים שלא נבחנו ב C#, אז הכל יכול להיות. (אני כבר לא זוכר באיזה שפה הם עשו את המבחן, נרא לי C) ---------------------------------------------------------------------------------- 4. יש פונקציה שמקבלת הודעה, ונזכור לשהודעה יש כתובת שולח יש פונקציה שצריכה להחזיר את כל כתובות השולחים שמהם נשלחו יותר מ 10% מההודעות עד עכשיו. רשום שהפונקציה של השנייה נקראת הרבה פעמים (אחת לכל הודעה) ולא סתם כמה פעמים רנדומלים וזהו.. הפיתרון הפשוט הוא : ----------------------- - צריך כמובן משתנה סטטי שסופר את כמות ההודעות הכוללת - צריך Dictionary כך שKEY זה כתובת שולח ו ה VALUE זה כמות ההודעות מהשולח הזה - בפונקציה שמקבלת הודעה : * אם השולח עוד לא ב DICTIONARY להוסיף, עם ערך 1 * אם קיים, אז להגדיל את הערך ב 1 - בפונקציה שמחזירה את השולחים יותר מ 10% : - לחשב את כמות ההודעות שצריך לעבור בצורה הבאה: m_totalMessageCount * 0.1 אין יותר פשוט מזה ! (כמובן להמיר ל DOUBLE) - לעבור על ה DICTIONARY ולהוסיף ל HASH_SET שאותו מחזירים כתובות של אלה שכמות ההודעות שלהם עברה את הנ"ל זה פשוט, ובציון של היעילות זה נותן 1000 שזה מה שרשום שהם מחפשים אם בא לכם ,יש דרך לשפר את זה, ( אישית לא ניסיתי כי הגעתי ל-1000 והעדפתי להתרכז על שאלה 3 אם הייתי פותר את 3, חד משמעית הייתי מנסה לשפר את 4) המלצות שלי, בהשראת מה שנכתב פה בעבר : -------------------------------------------------- לא צריך לעבור על כל ה DICTIONARY זה מיותר. ובעולם האמיתי יש מצב של מליוני שולחים ואז גם זה יהיה לא יעיל. אם היינו צריכים למשל להחזיר את אלה ששלחו יותר מ 50% אז יש מקסימום 2 כאלה ,אם בכלל, תחשבו על זה. אם 25%, אז מקסימום 4 כאלה.. במקרה שלנו זה מקסימום 10, אבל נחשוב גנרי ואפשר בהינתן אחוז הרצוי, לחשב את המספר מקסימלי של השולחים (תמצאו לבד כי העברית-אנגלית פה הורס את זה ואני מעדיף לא להטעות) - אפשר ליצור DICTIONARY נוסף, או כל COLLECTION של KeyValuePairs בגודל שקיבלנו או 2 מערכים (אני פחות אוהב, כי זה בגודל קבוע, ומה אם מחר נחליט לשנות את האחוז) במטרה לאחסן שם בכל רגע נתון את השולחים עם הכי הרבה הודעות - בשביל הנוחות, לתחזר משתנה שאומר מה הערך המינימאלי באוסף הזה - בפונקציה שמקבלת הודעה : * נעלה ב-1 את כמות ההודעות ב DICTIONARY הרגיל כמו קודם, * אם כמות ההודעות של השולח הזה עוברת את המינימום באוסף שלנו אז נתרח לעדכן את האוסף כך שיכלול את השולח הזה במקום מישהו שכבר לא מגניב מספיק. - בפונקציה שמחזירה את השולחים מעל אחוז מסוים : נעבור רק על האוסף שלנו, ונחזיר מתוכו את אלה שעוברים את האחוז שימו לב לא להחזיר את כל האוסף כי הוא אמנם הוא מכיל את אלה ששלחו הכי הרבה אבל לא כולם עוברים את האחוז בכל מקרה הפונקציה עברה להיות מתלויה בגודל המילון למהירה הרבה יותר את האוסף הזה, המשתנה של המימינום, וכל התפעול הזה הייתי שם ב CLASS פנימי בשביל הסדר והקריאות וכאלה, הייתי עושה שם פונקציה UPDATE שמקבלת הודעה ומעדכנת אם צריך. ---------------------------------------------------------------------------------- 5. התבלבתי ממה שכתוב פה, מדובר על תת-קבוצות ולא פרמוטציות כלומר עבור {a,b,c} התוצאה צריכה להיות משהו בסגנון הזה : {ABC} {AB} {AC} {BC} {A} {B} {C} {קבוצה ריקה} אין משמעות לסדר, כלומר AB ו- BA זה אותו איבר נבחנתי ב- C# מבחינה טכנית הפונקציה מקבלת string וצריכה להחזיר IEnumarable (כרצונכם, נגיד List) שמכיל IEnumarables (כי מה שבודק את זה זה אוטומטי ולא בנאדם) להלן מימוש ישן שלי לא בטוח לגבי היעילות של זה (איכס עברית-אנגלית) : כתוב ב- #C private static List<List<string>> Subgroups2(params string items) { // Definitions List<List<string>> result = new List<List<string>>(); bool usedItems = new bool; // Adding empty group result.Add(new List<string>()); // for the empty group // Adding sub groups by size for (int groupSize = 1; groupSize <= items.Length; groupSize++) { Subgroups2(items, result, groupSize, new List<string>(), usedItems); } ///////////////////////////// foreach (var list in result) { Console.WriteLine(string.Join(" ", list)); } ///////////////////////////// return result; } private static void Subgroups2(string items, List<List<string>> result, int groupSize, List<string> currentGroup, bool usedItems, int currentSlot = 0, int indexOfLastItem = -1 ) { if (currentSlot >= groupSize) { // copy current group to new item in result List<string> newGroup = new List<string>(); newGroup.AddRange(currentGroup); // Add new group result.Add(newGroup); } else { for (int currentItemIndex = 0; currentItemIndex < items.Length; currentItemIndex++) { if (usedItems == true) continue; if (currentItemIndex <= indexOfLastItem) continue; usedItems = true; currentGroup.Add(items); Subgroups2(items, result, groupSize, currentGroup, usedItems, currentSlot + 1, currentItemIndex); currentGroup.RemoveAt(currentGroup.Count-1); usedItems = false; } } } שימו לב שבפונקציה השנייה, אם מורידים את התנאי עם IndexOfLastItem אז מקבלים גם את כל הפרמוטציות של כל תתי הקבוצות, (וזה לא מה שהם מחפשים, אבל תראו פשוט תהבדל) ------------------------------------------------------------------------------------------ וזהו , תהיו נחמדים ותשטפו ראיונות, יש אנשים שישקיעו ולימדו ויצליחו בעבודה וחבל שזה יתפספס, למי שחושב אחרת, ברור, צריך ששזה יהיה הוגן כלפי החברה ושהעובד ידע מה הוא עושה, ואנשים צרכים ללמוד ולהשקיע, אבל מבחנים כאלה זה פשוט לא הדרך. שונא ראיונות עם מבחנים אוטומטים כאלה במקום שיחה עם בנאדם. לא לדעת מה זה עץ בינארי זה משהו אחד, אבל להתקע על באג שכזה לא מייצג. ואני אומר את זה בתור תוכניתן מנוסה שעבד בכמה פרוייקטים גדולים, אז הינה P: יהיה בסדר ! בהצלחה חברים !!!!!!!!!
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    הי לכולם יש לי יום מבחנים ביום ראשון ואשמח לעזרה של אנשים תותחים שהיו שאלת הפרמוטציות מישהו יכול לתת דוגמה ?(השאלה החדשה)
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    אהלן, יש לי יום מבחנים בחמישי הקרוב - משרת פיתוח, משרה מלאה אמרו לי שאני אצטרך לבחור בין C , C# , Java או python מישהו יודע לומר אם השאלות השתנו? על מה לשים דגש וכו'? תודה רבה!
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    למישהו שמבין, לא חסר לך בתוצאה AC?
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    איפה מריצים בC? visual studio? תודה רבה
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    כמה שאלות: 1) לגבי שאלה 2 המוזכרת, מה הכוונה לסרוק כל מסר? היכן נמצאים כל המסרים? טוב זהו בינתיים אולי יהיה בהמשך
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    ואללה גם לי יש מחר יום מבחנים, מעניין כמה המידע פה היה רלוונטי בהצלחה!
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    הי, יש לי ביום חמישי מבחנים למשרת סטודנט פיתוח האם השאלות מהמבחן שנאמרו כאן זה למשרת סטודנט? והאם מישהו היה לאחרונה ויכול להגיד אם יש שינוי כלשהו בשאלות?
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    אני דווקא הבנתי אחרת, עבור הדוגמא הנ"ל, התוצאה צריכה להיות: A B C AB BC ABC "", שוב אבל זה מה שאני הבנתי
  • לפני 10 שנים
    ע"י: 1_אורח_כללי
    בנוגע ל permutation. לפי מה שהבנתי המשמעות של permutation היא, אם נשתמש בדוגמה למעלה: "ABC" התוצאה תהיה: ABC, ACB, BAC, BCA, CAB, CBA דהיינו כל הצירופים האפשריים של כל האברים אבל לא חלקים מהם (לא רק A או B וכו'). מישהו יכול קצת יותר לפרט מה הכוונה בשאלה הזו?