שחזורי ראיונות עבודה -> עידכונים מ - jungo
  • עידכונים מ - jungo
  • ע"י: בוגר26
    אתמול כשלתי חזק ב JUNGO , בכל מקרה הנוסח של שאלת הMALLOC התעדכן קצת ממה שמתואר פה אז חשבתי לעדכן - הומצאה מערכת הפעלה ובה 4 פונקציות סיפרייה חדשות - mallocbig mallocsmall freebig freesmall ה BIG נועדו להקצות ולשחרר בלוקים של מעל 512K והSMALL נועדו להקצות ולשחרר כל מה שמתחת ל 512K . שתי פונק' ההקצאה הנ"ל לא מסוגלות לקבל מספרים שהם לא כפולה של 16 , כלומר מקצות רק בלוקים של כפולות של 16 . עכשיו בשימוש ב 4 הנ"ל - צריך לממש שתי פונ' - MALLOC הרגילה - שיכולה לקבל כל גודל של בלוק , ובעיקר של בלוקים שלא מתחלקים ב 16 . ו FREE הרגילה - כאשר יש לשים לב שכל בלוק משוחרר בהתאמה לפונ' שהקצתה אותו . בהצלחה !
  • ע"י: 1_אורח_כללי
    דנצ'וקקקקקקקקק, אם תעלה את הפתרון שלך לפה נוכל להגיד לך מה לא תקין בו.
  • ע"י: 1_אורח_כללי
    אני היתי שם לפני חודש בערך חבל על הדלק הם מחפשים סופרמנים כנראה!
  • ע"י: 1_אורח_כללי
    חבל על הזמן שלכם אנשים.. אני הייתי שם ב25 ליולי השנה. שורה תחתונה שלי היא חבל על הזמן ועל הדלק. צילמתי את הפתרון שלי עם השאלה וכשיצאתי משם בדקתי עם אחי מתכנת עם 8 שנים נסיון.. הפתרון שלי נכון .. אבל הם לא קיבלו אותו מכיוון שלטענתם לא התקמפל וזה בולשיט על בולשיט.
  • ע"י: 1_אורח_כללי
    Help!!! מי שהיה בזמן האחרון ויכול לשתף.... הטבות מפנקות לעוזרים
  • ע"י: 1_אורח_כללי
    מישהו היה בשזמן האחרון בראיון אצלם? רוב הדיונים עליהם פה ישנים. קראתי את התגובות עליהם אבל בא לי ללכת בכל זאת. מישהו יכול לעדכן ? תודה
  • ע"י: 1_אורח_כללי
    שלום, יש לי שבוע הבא ראיון בג'אנגו בJAVA האם אלו יהיו שאלות דומות? אני מבין שכל מה שנכתב כאן הוא בC נכון?
  • ע"י: 1_אורח_כללי
    חבל הזמן, הדלק והחניה שתבזבז בראיון עבודה בג'אנגו. כל מרואין ישב בחדר ההמתנה וראה את החוברות שג'אנגו מוציאה כל שנה. בדפים האחרונים יש להם תרשימים המציגים כמה עובדים נשואים, רווקים ולכמה יש ילד, אחד, שניים וכו'. אחד התרשימים הוא חלוקת העובדים לגילאים. יש שם אחוז וחצי עובדים מעל גיל 40 - והמבין יבין ... מציע לקבוע ראיון ולא להגיע. פשוט לא להגיע.
  • ע"י: 1_אורח_כללי
    הייתי בראיון בג'אנגו לפני כשבועיים. נתחיל מהתרשמות כללית. אנשים היום מאוד נחמדים. נתנו לי קפה וכו' המהנדס שהוצמד לי היה בחור מאוד נחמד וגרם לי להרגיש מאוד בנוח. השאלה הראשונה זו השאלה עם MALLOC בגודל של 16. כמו שרבים כבר רשמו. עשיתי אותה בלי בעיות. הבדיקה נעשתה על ידי בנאדם ולא מחשב. זאת אומרת לא באמת קימפלו אותה. לגבי השאלה יש לי עצה על תוסיפו SUZE OF INT . בת'כלס צקיך רק BIT אחד. כדי לדעת אם הבלוק גדול מ512 או קטן. בMALLOC הקצאב נעשית בBYTE לכן יש צורך להוסיף בית אד ולא גודל של IN T. זה בזבוז של מקום. וזה מסוג הדברים שמאוד חשובים להם בג'אנגו. החלק השני- אתם יושבים עם מהנדס שמתחיל לכתוב דברים בנוטפד ושואל שאלות. אין תלום שבו הוא לא נוגע. עם השאלות הוא עובד על כל הדברים החשבום פוינטרים , מערכים, סוגי משתנים. משתנים גלובליים וכו. אם אתה לא יודע C בשלמות יהיה קשה לענות נכון. היו מספר דברים שלא ידעתי. בשאלה עצמה אני עשיתי טעות , אותה טעות שעושים רוב האנשים שמפרסמים פתרון של שאלה על טיימרים, לאחר שהם מבקשים להקצות שטח על ידי MALLOC . הם לא בודקים אם בפועל הוקצה שטח. זאת טעות שלי נראתה שולית אבל זה מאוד חשוב להם כי הם עובדים עם EMBEDDED ומקום זה משהו שמאוד חשוב להם. הייתה לי עוד בעיה קטנה , לכ לא עברתי. אבל חייב לציין שזה היה מאוד הוגן. וכן אני מעדיף שיטת מבחן שלהם שבה אתה יושב לבד וכותב ואין אנשים שבוהים בך ומלחיצים אותך, וזה אמת בודק ידע , לא כמו חידות ושאלות מפגרות על אופי בחברות אחרות. תלמדו בכל על C לפני הראיון, אין קיצורי דרך
  • ע"י: 1_אורח_כללי
    דורון שלום, יש לי ראיון בג'ונגו בקרוב. תוכל בבקשה לפרסם את מה ששאלו אותך בדיוק בראיון הראשון והשני? ואם יש לך פתרונות אני אשמח תודה רבה
  • ע"י: דודרון
    סתם מעניין האם מישהו עבר וא"כ גם נשאר לעבוד תקופה מסויימת שם. חברה קצת מוזרה.. בילבלו לי את המוח יום שלם, עברתי 2 ראיונות וב-3 פסלו אותי ללא סיבה מיוחדת.. לא הייתי ממליץ למי שיש אופציות אחרות ללכת לשם. http://dronkin.blogspot.com
  • ע"י: 1_אורח_כללי
    אני הייתי שם די מזמן ולטובתכם אל תלכו לשם בזבוז זמן !!! בהתחלה רשמתי קוד להכנסה אמרה אוקיי, תשפר את זה כך שברגע שהלולאה עוצרת האיבר נכנס ללא תנאים, זה מה שרשמתי, היא אישרה שזה נכון ובכל זאת קיבלתי במייל שהם החליטו להמשיך עם מועמד אחר... void insert(Node * head, Node * item) { Node ** temp; for(temp=&head; (*temp)!=NULL && (*temp)->next!=NULL && (*temp)->next->val<item->val; temp=&((*temp)->next)); item->next=(*temp)->next; (*temp)->next=item; }
  • ע"י: 1_אורח_כללי
    שלום לכולם.חשבתי לכתוב מדריך השלם לג'אנגו-לפחות לכל השאלות שאני ראיתי ,לגבי השאלה (הראיון) השלישית אני לא יודע,תסתכלו בפורום של אס"ט-יש שם איזשהו איזכור,ניסיתי לפתור את זה ,הורדתי מדריך לכל המאקרו העליתי את השאלה ל-STACK OVERFLOW,זה לא עזר.אני באמת לא יודע מה באמת רוצים שם. לגבי השאלה הראשונה (וגם לגבי השנייה)-אפשר להעתיק בקלות מדף או במקרה של השאלה השנייה פשוט לעשות העתק+הדבק מקובץ טקסט (זה חוסך את הטרחה). הפיתרון נמצא בפוסט הזה,רק לשנות את הALLIGNMENT ל-32 וכמובן לשנות קצת את שמות המשתנים,שלא יהיה שקוף לגמרי שהבאתם את זה מפה. לגבי השאלה השנייה-הפיתרון נמצא גם הוא בפורום של אס"ט.האלגוריתם הוא בעצם להכניס איברים לרשימה המקושרת לפי הסדר של מספר השניות ,לדוגמא 1-2-3-4-5-6-7-9-19 ו-NULL בסוף ,אחרי 19 (אי אפשר לכתוב פה את זה בצורה נורמלית... ).הפיתרון באס"ט הוא פיתרון עם שימוש ב-WHILE ולא מטופל בו מקרה הקצה של רשימה ריקה.מה שבעצם צריך לעשות זה להשתמש בטריק הידוע של מצביע כפול ו(מאוד חשוב) להשתמש בלולאת FOR.כך בעצם הקוד של ההוספה מצטמצם לשורה או שתיים.אז אם מישהו פה ירים את הכפפה ובאמת יפרסם את הקוד ,כל מי שהולך לראיון הזה ירוויח. בהצלחה
  • ע"י: בוגר28
    היית בראיון שני?
  • ע"י: 1_אורח_כללי
    אני מציע להתייחס לכל אחד ששואל על JUNGO כאל כלבת קוד. ולנוכחי: כלבת קוד יקרה, כמו כל אישה מוכה את מאשימה את עצמך בהתעללות של אחרים בך. אנא ממך אל תגיעי לראיונות בחברה כזאת. חבל על הזמן, דלק ועוד. וגם אם תתקבלי למשרה שם את לא הייתי רוצה לעבוד שם. אם את לא מבינה למה, פשוט תעייני בפורום. שוברים את מעגל ההתעללות - קובעים ראיון ולא מגיעים אליו!
  • ע"י: 1_אורח_כללי
    למה הם מראיינים אנשים ? אולי הם חברת השמה שבונה איזה DB של מהנדסי הייטק פנויים בשוק ? שאלו אותי את השאלה על ה-MALLOC ועניתי עליה נכון תוך 10 דקות. מהנדס שם אמר לאשת HR שהפתרון יקרוס והוא לא מקצה מספיק זיכרון וזה קשקוש בדקתי את הפתרון שלי מספר פעמים לפני שהגעתי אליהם והוא פתרון אופטימלי שעומד בכל הקריטריונים של השאלה. הנה התשובה שקיבלתי מהם: Thank you for taking the time to meet with us. We were very impressed by you. At this point we have decided to continue the process with another candidate. We wish you the best of luck מרוב שהם התלהבו הם לא רצו להמשיך בתהליך הגיוס כמה חבל
  • ע"י: 1_אורח_כללי
    מה ענית לגבי איפוס הזכרון?
  • ע"י: טומקאט
    מה ענית לגבי איפוס הזכרון? אורנה היקרה ישלי את התשובה באם תרצי לקבלה. מצטער על העיכוב פשוט לא הייתי בסביבה. הרעיון שהציע פה אחד האנשים הוא ה"ראיון" הכי טוב ב-JUNGO פשוט לקבוע ולא להגיע. וש-JUNGO יעלו על JUMBO לרשה"פ. אם NDS לא הייתה רוכשת אותם (למיטב ידיעתי) הם לא היו איתנו היום.
  • ע"י: 1_אורח_כללי
    לכל מי שמוזמן לראיון שם - חבל על הנסיעות לנתניה ... ביזבוז זמן ! ממליץ לך לוותר על התענוג ולא ללכת לראיון - הם בכלל לא מגייסים, סתם מראיינים אנשים !ממליץ לא להתקרב לשם!
  • ע"י: 1_אורח_כללי
    למה לכם ללכת לראיון בחברה כמו jungo יש הרבה חברות אחרות שהם רציניות בהרבה ומעונינות בחברה צעירים שרק סיימו תואר ואפילו יש כאלה שיממנו קורס שלם בשבילכם למה ללכת לעבוד בחברה מתנשאת וקרה כשאפשר למצוא מקום שנעים לעבוד בו אני יכול להבין את התסכול שבמציאת עבודה, גם אני חיפשתי כמה חודשים אבל הייתי בראיונות במקומות כמו גאנגו ( RAD למשל ) ואתה יכול ממש לקלוט שגאנגו היא חברה זבל ממש כמוהם גם בלי ללכת לראיון שם רק מלקרוא כל מה שחברה טובים כתבו פה, יש הרבה מקומות עבודה טובים ששווה להתאמץ במיוחד כדי להתקבל אליהם ניתן לדוגמה את: אמדוקס, נייס, אינטל, ויש עוד! לאחר כמה חודשים מצאתי משרה בחברה טובה וזה היה שווה הכל אז אני מציע לכם, לפני שאתם רצים לג'אנגו תחשבו טוב אם זה בכלל מקום שאתם הייתם רוצים לעבוד בו...
  • ע"י: 1_אורח_כללי
    הם בכלל לא מגייסים, סתם מראיינים אנשים ! למה לדבר על דברים שאתה לא יודע בוודאות? לא חבל להטעות אנשים אחרים?
  • ע"י: מנשה
    הייתי לא מזמן בראיון, השאלה הראשונה היא בדיוק מה שמציינים כאן בפורום. זה לא היה קשה, במיוחד שכבר מפורסמת התשובה. אח"כ ישבתי עם מתכנת ונדרשתי לכתוב את התכנית של הרשימה המקושרת עם הפונקציות שצריך להפעיל ע"י טיימר. המתכנת לא אהב את סגנון הכתיבה שלי. הוא טען שיכולתי פחות למחזר קוד, ומצא כמה שגיאות בתכנית. התכנית לא קשה, אבל קצת קשה לכתוב תכנית כזו בלחץ, ושמישהו מסתכל על כל צעד שלך. במיוחד שאתה לא עובד על סביבת עבודה, אלא על NOTEPAD. בכל מקרה, לא כל כך אהבתי את השלב הזה. המתכנת היה מאוד מתנשא. וממש לא היה נעים בחלק הזה של הראיון.
  • ע"י: 1_אורח_כללי
    הייתי שם לאחרונה וזה מה ששאלו אותי בראיון הראשון: כתוב 2 פונקציות: void * xxx_malloc_xxx (int sz) (1 xxx_free_xxx (void *p) (2 הראשונה צריכה להחזיר פוינטר לזיכרון בגודל של sz לפחות ושהכתובת תתחלק ב-32 וגם שהזיכרון יהיה מאותחל לאפסים. לדעתי הפתרון נעוץ בהקצאת מקום גדול מ-32+SZ כך שיהיה גם מספיק מקום ל-SZ הנבחר וגם שאחד הכתובות בטוח יתחלק ב-32 כי יש יותר מ-32. וצריך לחפש את הכתובת שמתחלקת ב-32 אחרי ההקצאה עם מודולו וכאלה. ואולי גם צריך לשמור את ההפרש ביו הכתובת המקורית לכתובת שחוזרת (זאת שמתחלקת ב-32) בחלקת הזכרון שלנו עבור ה-FREE. חוץ מזה הם לא מרו שזה בחומר סגור ולא היה כתוב גם על התרגיל אז פתחתי ספר לוודא סינטקס של פקודות (גם כי אמרו שהתוכנית חייבת להיות מקומפלת ועובדת). אחרי זה היא באה לראות שהכל בסדר וראתה את הספר ועשתה לי פרצופים ואמרה שהבחינה בחומר סגור. איך יכולתי לדעת? מזה הסיקה שהעתקתי הכל למרות שלא. אחרי זה שלחה אותי הביתה כי כמובן היא לא היתה מעונינת בגלל החומר שהיה לי. אבל גם אני לא מעונין ולא נראה לי שאני צריך לזכור את כל הסינטקס בעל פה ועוד תת תוכנית שאמורה להתקמפל. למה לא פסאודו קוד כדי לראות או פתרון כללי כדי לראות איך הבן אדם חושב ומתמודד. אפשר לחשוב שבעבודה עצמה אנשים לא פותחים ספר או בודקים בגוגל או בגל חומר שיש להם. לא מתכוון לפגוע, אבל לא סביר\מקובל לבוא עם ספר ולהשתמש בו במבדקים מקצועיים.
  • ע"י: 1_אורח_כללי
    יש גרסאה חדשה לשאלה הראשונה. הם רוצים שתגדיר בעזרת malloc ו free פונקציה של aligned_malloc32/free32 מה צריך לעשות זה להעתיק את הקובץ מהשרשור הזה על aligned_malloc ולשנות את הבאים: ב off למחוק את ה -32 ואת השאר להשאיר רגיל. ובשתי שורות אחרונות איפה שמופיע off להחליף ב 32 פחות off.
  • ע"י: 1_אורח_כללי
    הבאתי איתי...
  • ע"י: 1_אורח_כללי
    מאיפה היה לך ספר?
  • ע"י: 1_אורח_כללי
    הייתי שם לאחרונה וזה מה ששאלו אותי בראיון הראשון: כתוב 2 פונקציות: void * xxx_malloc_xxx (int sz) (1 xxx_free_xxx (void *p) (2 הראשונה צריכה להחזיר פוינטר לזיכרון בגודל של sz לפחות ושהכתובת תתחלק ב-32 וגם שהזיכרון יהיה מאותחל לאפסים. לדעתי הפתרון נעוץ בהקצאת מקום גדול מ-32+SZ כך שיהיה גם מספיק מקום ל-SZ הנבחר וגם שאחד הכתובות בטוח יתחלק ב-32 כי יש יותר מ-32. וצריך לחפש את הכתובת שמתחלקת ב-32 אחרי ההקצאה עם מודולו וכאלה. ואולי גם צריך לשמור את ההפרש ביו הכתובת המקורית לכתובת שחוזרת (זאת שמתחלקת ב-32) בחלקת הזכרון שלנו עבור ה-FREE. חוץ מזה הם לא מרו שזה בחומר סגור ולא היה כתוב גם על התרגיל אז פתחתי ספר לוודא סינטקס של פקודות (גם כי אמרו שהתוכנית חייבת להיות מקומפלת ועובדת). אחרי זה היא באה לראות שהכל בסדר וראתה את הספר ועשתה לי פרצופים ואמרה שהבחינה בחומר סגור. איך יכולתי לדעת? מזה הסיקה שהעתקתי הכל למרות שלא. אחרי זה שלחה אותי הביתה כי כמובן היא לא היתה מעונינת בגלל החומר שהיה לי. אבל גם אני לא מעונין ולא נראה לי שאני צריך לזכור את כל הסינטקס בעל פה ועוד תת תוכנית שאמורה להתקמפל. למה לא פסאודו קוד כדי לראות או פתרון כללי כדי לראות איך הבן אדם חושב ומתמודד. אפשר לחשוב שבעבודה עצמה אנשים לא פותחים ספר או בודקים בגוגל או בגל חומר שיש להם.
  • ע"י: 1_אורח_כללי
    לבחור שעבר ראיון ראשון - חבל לך על הנסיעות לנתניה ... ביזבוז זמן ! ממליץ לך לוותר על התענוג ולא ללכת לראיון - הם בכלל לא מגייסים, סתם מראיינים אנשים !
  • ע"י: 1_אורח_כללי
    אופיר, אתה יכול בבקשה להגיד מה שאלו אותך בראיון הראשון ? תודה.
  • ע"י: 1_אורח_כללי
    שלום, אני עברתי ראיון ראשון בג'אנגו ויש לי ראיון שני עוד מספר ימים. אם מישהו היה בראיון שני ויש לו טיפים כלשהם... גישה של המראיין, שאלות ששואלים, אני אשמח לעזרה. תודה, אופיר.
  • ע"י: 1_אורח_כללי
    הי, הייתי בראיון ב JUNGO. "הסיפורים" עליהם "בערך" נכונים. זאת אומרת, אתה נפגש עם נציגת כ"א והיא מתשאלת אותך קצת לגבי הנסיון שלך, אח"כ היא משאירה אותך לבד עם דף שבו בעיה שעליך לפתור. מאחר וראיתי את כל השאלות שהיו בפורום לגבי חבר'ה שהתנסו ב JUNGO – הכנתי לי (מבעוד מועד) תוכניות ב C (ע"ג Linux – יכול להיות שב- Windows צריך לעשות includeים קצת אחרים) שפותרות את הבעיות האלה – כדי שלא יהיה מצב שאני כותב משהו שלא מתקמפל/רץ נכון. צירפתי ת'קבצי C,H הרלוונטים כדי שכ"א יוכל להתרשם ולהבין: 1. בקבצי ה- aligned_malloc.* יש פתרון לבעיית ה- aligned malloc הידועה: a. יש להם טוויסט חדש – לפחות בשבילי זה היה חדש – הם רוצים שהבלוק שמוקצה יהיה מאותחל לאפס – אז הוספתי לולאת for שמאפסת אותו – לא ידעתי אם מותר להשתמש ב- memset(…). b. העיקרון המנחה כאן הוא לשמור את ה- offset לתחילת הבלוק המוחזר (מתחילת הבלוק שהוקצה) ע"י unsigned char (כדי שזה "יכנס" ב- byte 1) ולזכור בדיוק את המיקום שלו... c. נ.ב. – בגלל שזה unsigned char – זה (ה- offset) לא יכול להיות > 255... 2. בקבצי ה- multiple_malloc.* יש פתרון לבעיית ה aligned malloc "ההפוכה": a. נתונות 2 פונ' malloc: big_malloc (עבור בלוקים > 512), small_malloc (עבור בלוקים שאינם > 512). 2 פונ' אלו מקצות בלוקים בגדלים של כפולות שלמות של 16. b. נתונות 2 פונ' free: big_free (עבור בלוקים > 512), small_free (עבור בלוקים שאינם > 512). c. כעת צריך לממש פונ' malloc & free סטנדרטיות שיכולות להקצות/לשחרר כל גודל. d. המוטיבציה ל"המציא" שאלה כזאת כנראה מגיעה מ- embedded – שם יכול להיות מצב שבו בלוקים "גדולים" "לוקחים" ממקום אחד ובלוקים "קטנים" ממקום אחר... e. העיקרון המנחה כאן מתחלק לכמה חלקים: i. כאשר מקצים בלוק – צריך "לזכור" האם הוא גדול/קטן (כי אח"כ אנחנו צריכים להשתמש בפונ' free המתאימה). ii. אם רוצים להקצות בלוק בגודל X כלשהו – צריך למעשה למשתמש בפונ' malloc הרלוונטית עבור בלוק שגודלו = הכפולה השלמה של 16 הקטנה ביותר שהיא עדיין > X (יעני בקיצור: הכפולה השלמה של 16 "הראשונה" אחרי X). 3. בקבצי ה- my_timer.* יש פתרון לבעיית "בניית ספריית scheduler": a. צריך לממש 2 פונ': add_timer (מוסיפה אלמנט ל database שמכיל פוינטר לפונ' וזמן שבו צריך להריץ ת'פונ' הזאת), run_timers (פונ' שעוברת על ה- database הזה מריצה את הפונ' לפי סדר הזמנים). b. יעני מובטח לך שאחרי שמריצים את run_timers, יותר לא קוראים ל add_timer. c. יכול להיות מעין טוויסט לשאלה הזאת לפיו יתכנו קריאות נוספות גם אחרי תחילת ההרצה... d. העיקרון המנחה כאן הוא database של רשימה מקושרת ממויינת לפי הזמן (ואז אפשר להריץ כל פונ' מבלי "לקפוץ" קדימה/אחורה...). השאלות האלה יכולות לעזור גם לחבר'ה שלא "הולכים" ל- JUNGO – יש כאן אלמנטים בסיסיים חשובים שכדאי לזכור אותם לפני שניגשים לראיון אצל חברה עם מוצר embedded...
  • ע"י: בוגר28
    היי רון, המון תודה על המדריך שכתבת לג'אנגו, מועיל במיוחד אני חייב לציין. היית גם בראיון שני? המון תודה וסופ"ש מהנה
  • ע"י: 1_אורח_כללי
    בשני הפתרונות האחרונים יש טעות קטנה . האחרון מחשב div*16 שזה בעצם השארית מהחלוקה ב16 וזה שכתב לפניו רשם new_size=((size/16)+1)*16; מבלי לבדוק האם הגודל מתחלק ב 16 ואז למשל אם size==16 אנחנו נקצה 32 בתים ( 2 בלוקים) במקום 16 בלבד. בהצלחה
  • ע"י: 1_אורח_כללי
    void* my_malloc(int size) { int new_size, div; void* ptr = NULL; if(size<=0) return NULL; /* //the usage og sizeof(int) is for knowing the actual size we allocate, we need this information //later on my_free function */ size = size + sizeof(int) + 16; div = size % 16; new_size = div * 16; if(new_size <= 512) ptr = small_malloc(new_size); else ptr = big_malloc(new_size); *((int*)ptr) = new_size; ((int*)ptr++); return ((void*)ptr); } void my_free(void* ptr) { int size; size = *((int*)--ptr); if (size <= 512) small_free(ptr); else big_free(ptr); }
  • ע"י: 12novice
    מישהו יכול להסביר לי למה בפתרון מופיע (size+=sizeof(int ?
  • ע"י: 1_אורח_כללי
    אני הייתי ממליץ לכולם להיכנס רגע לאתר הבא http://smartkitchens.wordpress.com מקסים ויפה...
  • ע"י: 1_אורח_כללי
    חבר'ה מי היה לאחרונה ויכול לעדכן לגבי הראיון השני?
  • ע"י: אורח_פורח
    מישהו יודע מה שואלים בראיון השני בג'נגו?
  • ע"י: id2008
    ניתן לפשט את my_malloc , להוסיף מקרה קצה בו size==0 , ולמנוע שכפול קוד - את החישוב הכפול של div = sz/16+1 : void* my_malloc(int size) { int new_size; int *tmp; if(size<=0) return NULL; size+=sizeof(int); new_size=((size/16)+1)*16; if(new_size<=512) tmp=(int*)malloc_small(new_size); else tmp=(int*)malloc_big(new_size); *tmp=new_size; tmp+=sizeof(int); return (void*)tmp; }
  • ע"י: 1_אורח_כללי
    void * my_malloc(int sz) { extern void *OS_malloc_big(int sz); extern void *OS_malloc_small(int sz); int *tmp, div; if(sz<0) return NULL; sz += sizeof(int); if(sz <= 512) { if(sz%16) { div = sz/16+1; tmp = (int*)OS_malloc_small(div*16); *tmp = div*16; tmp++; return (void*)tmp; } tmp = (int*)OS_malloc_small(sz); *tmp = sz; tmp++; return (void*)tmp; } if(sz%16) { div = sz/16+1; tmp = (int*)OS_malloc_big(div*16); *tmp = div*16; tmp++; return (void*)tmp; } tmp = (int*)OS_malloc_big(sz); *tmp = sz; tmp++; return (void*)tmp; } void my_free(void *p) { extern void OS_free_big(void *p); extern void OS_free_small(void *p); int *tmp = (int*)(p); tmp--; if(*tmp<=512) { OS_free_small(tmp); } else { OS_free_big(tmp); } }
  • ע"י: 1_אורח_כללי
    לישהו יש פתרון לשאלה הזו? תודה מראש!
  • ע"י: אבג
    זה שלב א'.מישהו היה בשלב ב'