שיחזור של ראיון עבודה שלם בחברת Marvell DSPC למשרת מהנדס אלק
לפני 16 שנים
ע"י: erezkal
הייתי היום בראיון עבודה בחברת Marvel DSPG , מהנדס אלקטרוניקה-משרת סטודנט
אלה השאלות שנשאלתי במרוול:
1) מערכות ספרתיות:
נתונה מערכת בעלת שתי כניסות, בכניסה 1 ישנו X בעל 4 סיביות ובכניסה 2 ישנו X+2 גם כן בעל 4 סיביות.
המוצא של המערכת הוא X+1 בעל 4 סיביות.
צריך לממש את המערכת הנ"ל מבלי להשתמש במחברים או מחסרים.
פתרון: אם X הוא זוגי אז במוצא ניתן את X כאשר הסיבית הLSB שלו עם NOT.
אם X הוא אי זוגי אז במוצא ניתן את X+2 כאשר הסיבית ה-LSB שלו עם NOT.
מימוש עם MUX כאשר LSB של X היא הכתובת הבוחרת.
2) נתון מערך בגודל N של מספרים אי שליליים.
צריך למצוא 5 מספרים הכי גדולים אבל כך שהם לא יהו שכנים במערך. (כלומר אף זוג מחמשת המספרים האלה לא יכול להיות צמוד במערך המקורי)
הראה דרך פתרון.
פתרון: לוקחים מערך של אינדקסים מ-0 עד N-1 וממינים את המערך המקורי בסדר יורד.
המספר הכי גדול הוא המספר הראשון, ואז לפי זה בודקים את המספר השני במערך הממוין אם הוא השכן של הראשון, אם כן אז מדלגים למספר השלישי ומבצעים את
אותה הבדיקה אם לא אז מצאנו עוד מספר ועוברים למספר השלישי וכך הלאה עד שמגיעים ל5 מספרים הכי גדולים שהם לא שכנים.
3) (סיבוך של 2)
כעת בגלל אילוצי המערכת לא ניתן לרוץ על המערך המקורי יותר מפעם אחת.
השאלה נשארת זהה. רמז: ניתן להשתמש במערך עזר אך אסור להעתיק את כל המערך המקורי למערך עזר (ואז בעצם לפתור כמו מקודם)
פתרון: נקח מערך בגודל של 15 כך שבתא אחד נוכל לשמור גם את הערך של תא מסוים וגם את האינדקס שלו.
נמצא בריצה אחת על כל המערך המקורי 15 מספרים הכי גדולים, נשמור אותם ואת האינדקסים שלהם במערך העזר.
וכעת הגענו למצב שבמקרה הכי גרוע יש לנו 2 שכנים למספר אחד הכי גדול. ובגלל שיש לנו 15 הכי גדול אז נוכל למיין את מערך העזר ולבחןר על בטוח 5 מספרים הכי
גדולים שהם לא שכנים
4) המשך:
מערך עזר יכול להיות יותר קטן מ-15! מהו גודלו המינימלי כך שעדיין יעמוד בדרישות?
פתרון: 13
לפני 10 שנים
ע"י: admin
צודק תיקנתי!
תודה רבה על ההערה
לפני 10 שנים
ע"י: 1_אורח_כללי
למנהל השרשור ולכולם: הכל אחלה. השאלות, התשובות, באמת יפה.
רק דבר אחד צריך לשנות. שם החברה זה MARVELL DSPC (מארוול קנתה את DSPC מאינטל שרכשה אותה לפני הרבה שנים
DSPG זאת בכלל חברה אחרת, מהרצליה, שעושה צ'יפים לטלפונים אלחוטיים, VOIP ועוד כל מיני.
לפני 13 שנים
ע"י: 1_אורח_כללי
וואי שאלות אותי בול שאלות מהשירשור !
תודה תודה
לפני 13 שנים
ע"י: 1_אורח_כללי
אותי שאלו שאלות אחרות כמו החידה על 3 הקערות עם כדורים שחורים ולבנים
לפני 13 שנים
ע"י: צייד
#define MULTIPLY(X, Y) ((X) * (Y))
Parentheses should be added around parameters in the function definition to avoid order of operations errors when someone uses the macro as such:
x = MULTIPLY(x + z, y);
לפני 13 שנים
ע"י: 1_אורח_כללי
הבעיה עם המאקרו היא side effect
תחשוב מה קורה אם תקרא למאקרו כך multiple(x++,y) זו הבעיה לפי דעתי
לפני 13 שנים
ע"י: 1_אורח_כללי
שלום תוכל בבקשה להסביר את הבעיה עם המאקרו?
תודה
לפני 13 שנים
ע"י: 1_אורח_כללי
קודם כל רציתי להודות לכם על כל הראיונות שיש באתר.
דבר שני אשמח לשתף בשלוש שאלות ששאלו אותי בראיון למשרת סטודנט במארוול.
1. בחן את פקודת המאקרו הבאה ותגיד אם יש בה בעיות:
#define MULTIPLY(x,y) x*y.
2. נתון בית בעל 8 סיביות מה הדרך להפוך אותו בrealtime כך שמספר הבא:
X7 X6 X5 X4 X3 X2 X1 X0
יהיה כך:
X0 X1 X2 X3 X4 X5 X6 X7
(פתרון: צריך להבין שהבית מייצג מס' בין 0 ל256 ולכן יש לבנות בתוכנה מערך בן 256 תאים שבכל תא נמצא הערך שאמור להתקבל אחרי ההפיכה כך שהמערכת פשוט תקרא את המס' ותתרגם אותו לתא מסויים במערך והוא כבר יתן בדיוק את המס' ההפוך)
3. כעת המס' הנתון הוא בן 32 סיביות ולבנות מערך בגודל של 4 גיגה זה המון זיכרון אז איך אפשר עכשיו לעשות את זה ב realtime?
(פתרון: את המס' הזה נוכל לחלק ל4 מספרים בני 8 סיביות כל אחד ולהכניס אותו למערך שבנינו קודם ורק להחליף את הסדר של המערכים שנשלחו).
מקווה שהועלתי ...
לפני 13 שנים
ע"י: 1_אורח_כללי
קודם כל רציתי להודות לכם על כל הראיונות שיש באתר.
דבר שני אשמח לשתף בשלוש שאלות ששאלו אותי בראיון למשרת סטודנט במארוול.
1. בחן את פקודת המאקרו הבאה ותגיד אם יש בה בעיות:
#define MULTIPLY(x,y) x*y.
2. נתון בית בעל 8 סיביות מה הדרך להפוך אותו בrealtime כך שמספר הבא:
X7 X6 X5 X4 X3 X2 X1 X0
יהיה כך:
X0 X1 X2 X3 X4 X5 X6 X7
(פתרון: צריך להבין שהבית מייצג מס' בין 0 ל256 ולכן יש לבנות בתוכנה מערך בן 256 תאים שבכל תא נמצא הערך שאמור להתקבל אחרי ההפיכה כך שהמערכת פשוט תקרא את המס' ותתרגם אותו לתא מסויים במערך והוא כבר יתן בדיוק את המס' ההפוך)
3. כעת המס' הנתון הוא בן 32 סיביות ולבנות מערך בגודל של 4 גיגה זה המון זיכרון אז איך אפשר עכשיו לעשות את זה ב realtime?
(פתרון: את המס' הזה נוכל לחלק ל4 מספרים בני 8 סיביות כל אחד ולהכניס אותו למערך שבנינו קודם ורק להחליף את הסדר של המערכים שנשלחו).
מקווה שהועלתי ...
// האלגוריתם נכון
// זהוא פסודו קוד !!
// PLS copy THE LTR
int foo(int num)
{
int in=sizeof(num)/2;
int son=(in*2)-1;
for(int index=0;index<in;index++)
{
setbit(num,index)=getbit(num,index)XOR getbit(num,son-index);
setbit(num,son-index)=getbit(num,index)XOR getbit(num,son-index);
setbit(num,index)=getbit(num,index)XOR getbit(num,son-index);
}
}
לפני 15 שנים
ע"י: ronen
(אם לא רוצים לשנות את המערך המקורי מעתיקים אותו למערך חדש) מחפשים את המקסימום במערך , מצאנו את המספר הראשון, משנים אותו ואת המספרים בתאים הסמוכים אליו ל0 .שוב מחפשים את המקסימום, וזה המספר השני, שוב מסמנים אותו ואת התאים הסמוכים אליו ב 0 . כך ממשיכים הלאה 5 פעמים.
לפני 15 שנים
ע"י: 1_אורח_כללי
המטריקס של שוק העבודה
לפעמים אנשים שמגיעים אלי שואלים איך זה יכול להיות שהם שולחים את קורות החיים שלהם למודעה שמתאימה בול ולא מקבלים אפילו תשובה ...
קחו את המקרה של מרוול כדוגמא - כרגע החברה במשבר די רציני והם מפטרים המון אנשים, כ-110 אנשים בארץ כבר פוטרו ויש עוד - סה"כ קיצוץ גדול של כ-30% מהעובדים, ראו כתבה:
http://www.globes.co.il/news/article.as ... 1&fid=3077
מסיבות שונות ובניהם - כדי להראות לשוק ולמשקיעים שהכל כרגיל והמצב מעולה הם מפרסמים כאילו הם מגייסים והחברה מפרסמת רשימה ארוכה של משרות ...
כבוגר אוניברסיטת ב"ג קיבלתי היום רשימה ארוכה של משרות מהם תחת הכותרת "אנחנו מפתחים את הדור הבא"
מפתחים את הדור הבא של המובטלים אולי ...
אתה הבנת את זה ברוך
לכן לפעמים הדברים לא תמיד כמו שהם נראים למתבונן מבחוץ - מטריקס אמיתי !
לפני 16 שנים
ע"י: 1_אורח_כללי
נראה לי שחוץ מהשאלה הראשונה, השאר לא שייכות לחומרה.
לפני 16 שנים
ע"י: 1_אורח_כללי
ברור שיש
לינק למאגר שאלות מראיונות עבודה
אוסף של השאלות מחולק לפי תחומים ושמות החברות
לפני 16 שנים
ע"י: 1_אורח_כללי
איזה מאגר? האם יש מאגר שמקבץ את כל השאלות? איפה הוא?
תודה