ראיון לתפקיד PRODUCT ENG. לא משהו מיוחד, ובשאלות רצו לשמוע את הפתרון שאליו הם מכוונים למרות שדווקא הפתרון שהוצע ע"י פחות יעיל. לצערי לא חזרו עם תשובה ופשוט הקפיאו את המשרה.
שאלות מתוך הראיון
1). שאלת קוד.
א. נתון : מערך ממויין בגודל N עם ערכים מ-1 עד N-1 ואיבר חסר במערך.
צ"ל : את הערך החסר.
ב. שני ערכים חסרים n1,2
צ"ל : למצוא את שני האיברים.
2). נתון מערך מחרוזות , צריך לסדר את המערך לפי ה-a,b,c
3). רכיב EPROM וה-datasheet שלו, למצוא את ה-Address bus
לפי הנתונים.
ראיון לתפקיד PRODUCT ENG. לא משהו מיוחד, ובשאלות רצו לשמוע את הפתרון שאליו הם מכוונים למרות שדווקא הפתרון שהוצע ע"י פחות יעיל. לצערי לא חזרו עם תשובה ופשוט הקפיאו את המשרה.
שאלות מתוך הראיון
1). שאלת קוד.
א. נתון : מערך ממויין בגודל N עם ערכים מ-1 עד N-1 ואיבר חסר במערך.
צ"ל : את הערך החסר.
ב. שני ערכים חסרים n1,2
צ"ל : למצוא את שני האיברים.
2). נתון מערך מחרוזות , צריך לסדר את המערך לפי ה-a,b,c
3). רכיב EPROM וה-datasheet שלו, למצוא את ה-Address bus
לפי הנתונים.
התנהל ב-TEAMS + קישור לאתר קידוד. הסבר על התפקיד ; הסבר על הקבוצה ; ומה מצפים מהמהנדס/ת.שאלו על הערך המוסף שאותו המועמד מביא איתו והקשיים שאאיתם התמודד.
שאלות מתוך הראיון
1). חידת הגיון: פרח וזחל.
פרח שגובהו 10 ס"מ (כולל הגבעול), וזחל שמטפס על הגבעול בקצב אחיד ועולה 2 ס"מ בשעה , לאחר-מכן נח שעה שבמהלכה הזחל מחליק מטה ס"מ 1. השאלה אחרי כמה שעות הזחל יגיע לפרח לראשונה (לגובה 10 ס"מ).
2). תרגיל קוד. לכתוב פונקציה המקבלת שתי כתובות IPs אשר משווה בינהן, ומחזירה איזו כתובת יותר גדולה. פורמט כתובת IP
www.xxx.yyy.zzz .
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2024
1. חידה שחוזרת על עצמה. ההבנה שהזחל בעצם בשעתיים עולה 1 ס"מ הפתרון הבנאלי זה שלאחר 20 שעות הוא יהיה בוודאות בפרח (2 - שעתיים כפול 10 ס"מ - גובה הפרח). אבל שואלים על הפעם הראשונה שזחל מגיע לפרח: אחרי 16 שעות הפרח יהיה לאחר מנוחה בגובה 8 ס"מ, ואחרי השעה ה-17 הוא יטפס 2 ס"מ נוספים - לכן אחרי 17 שעות הזחל יגיע לפרח עצמו.
2). פתרון פייתוני עם שימוש במתודות ידועות.
ספטמבר 2024
1.בצעד ה-N, הזחל יגיע לגובה N+1 ואז יירד לגובה N. מה שחשוב להבין זה ששואלים מתי הוא יגיע לראשונה לפרח, גם אם אח"כ הוא יירד ממנו.
לכן לפי הנוסחא, הוא יגיע לראשונה לפרח בשעה 9.
do {
original_list_pointers[idx] = start_point;
node* new_node = (node*)malloc(sizeof(node));
if (!new_list_head) new_list_head = new_node;
if (temp_p) temp_p->next = new_node;
new_node->value = start_point->value;
new_node->random_pointer = start_point->random_pointer;
new_node->next = 0;
temp_p = new_node;
start_point = start_point->next;
new_list_pointers[idx++] = new_node;
} while (start_point);
for(idx++;idx<10;idx++) {
original_list_pointers[idx] = 0;
new_list_pointers[idx] = 0;
}
start_point = original_list_pointers[0];
temp_p = new_list_pointers[0];
while (start_point) {
printf("handling item (original list) : 0x%x\tit's original random poitner: 0x%x, place in original list: %d\n" , start_point,start_point->random_pointer, idx_of_item_in_list(original_list_pointers,start_point->random_pointer)+1);
int i = idx_of_item_in_list(original_list_pointers,start_point->random_pointer);
temp_p->random_pointer = new_list_pointers[i];
printf("the cell in the new list : 0x%x\tNew random poitner: 0x%x, place in new list: %d\n" , temp_p,temp_p->random_pointer, idx_of_item_in_list(new_list_pointers,temp_p->random_pointer)+1);
start_point = start_point->next;
temp_p = temp_p->next;
}
}