שלום,
אודה למי שהיה שם בראיון ויוכל לרשום מהן השאלות ששאלו אותו בעיקר בתחומים של OOP ו-C++ ובמתמטיקה.
אם אפשר לענות מהר כי הראיון קרוב...
תודה רבה לעונים!!!
ע"י: 1_אורח_כללי
מישהו היה בזמן האחרון ויודע מה שואלים?
אני מתמיין למשרת פיתוח סטודנט c/c++
ע"י: 1_אורח_כללי
מישהו היה שם לאחרונה ויכול להגיד מה שואלים?
הסניף בחיפה
ע"י: 1_אורח_כללי
מישהו היה לאחרונה בראיון למשרת C++/C?
אשמח לשמוע כמה זמן נמשך הראיון וכיצד הוא מתנהל.
בנוסף, האם השאלות שהיו כאן חוזרות על עצמם או שיש שאלות חדשות.
תודה מראש.
ע"י: 1_אורח_כללי
מישהו היה לאחרונה בראיון למשרת C++/C?
אשמח לשמוע כמה זמן נמשך הראיון וכיצד הוא מתנהל.
בנוסף, האם השאלות שהיו כאן חוזרות על עצמם או שיש שאלות חדשות.
תודה מראש.
אז הלכת לראיון בסוף? אתה זוכר להגיד מה היה לך שם?
ע"י: 1_אורח_כללי
היי
תוכל/י לעזור לי עםם השאות ששאלו אותך בראיון ל c++, אודה לך מאוד
ע"י: 1_אורח_כללי
ב JAVA לא ידעת מה שאלות, הייתי לתבקיד של C++.
ע"י: 1_אורח_כללי
היה לי את כל השאלות שהעלו פה ובנוסף 2 שאלות יותר כבדות:
ראשונה:
מיון של מערך (מספרים) עם פונקציה אחת בלבד בשם reverse. הדבר היחד שמותר לעשות על המערך זה לעבור עליו ולא לשנות כלום, כדי לשנות צריך להשתמש בפונקציה reverse.
הפונקציה reverse, מקבל מערך ואינדקס, ועושה flip לכל האיברים מאותו אינדקס ועד סוף המערך.
התשובה היא לעשות איטרציה שבכל אחת יש פעמיים reverse (ואין לי כוח לפרט)
שאלה שנייה:
מעבר על עץ לא בינרי שצריך להעתיק את כל העץ לתוך מערך, ההעתקה תתבצע לפי שורות (קודם שורה ראשונה, אח"כ כל השנייה וכו'). התשובה היא לעשות את זה דרך queue (יש תשובות באינטרנט).
כנ"ל כמו הרוב פה, גם לי הלך טוב ולא התקבלתי ונראה שהם סתם מזמינים לריאיונות
ע"י: 1_אורח_כללי
ז"א כל מה ששאלו בC/C++ שאלו בJAVA ? זה לא הכי הגיוני כי יש שאלות על מצביעים שאי אפשר לשאול בJAVA (כמו החלפה בין שני פוינטרים של void*)
צר לי שלא עברת :/
ע"י: 1_אורח_כללי
הקפצה, מישהו?
ע"י: 1_אורח_כללי
הקפצה, מישהו?
הייתי שם לפני כמה שבעות, היה הכול משהו כתוב פה פתרתי את כול השאלות אך לא עברתי.
ע"י: 1_אורח_כללי
מישהו היה לאחרונה במשרת פיתוח לc++ \ java ויכול לפרט על השאלות?
ע"י: 1_אורח_כללי
בבקשה האם יש למשהו עדכון מראין?
ע"י: אלון_ניתאי
כן. אותו ויטלי (לא בטוח שזה ויטלי יכול להיות גם אולג או משהו בסגנון) שאל אותי כל מיני שאלות "אישיות" כמו מה אני אעשה אם הבוס שלי יגיד לי משהו שאני יודע שהוא לא נכון? אלך עם זה עד המנכ"ל? אשמור לעצמי?
ובמקביל הוא נתן לי כמה אתגרים מקצועיים. לדוגמה, הייתה לי שאלת מה ידפיס הקוד. היה לי מערך שאמור לבצע העתקה למערך אחר בדרך של צמצום. המערך הראשון (זה שמכיל את הנתונים) כל פעם קטן באחד ואיבר ממנו מועתק למערך השני (עד שהמערך הראשון הוא בגודל 0) והמערך השני מכיל את כל האיברים. הקוד היה מאוד מסורבל ולא טריוואלי והוא ישב איתי עד שהסברתי לו בדיוק מה זה עושה.
אחר כך הוא נתן לי שוב את השאלת צורות. זאת שאלה שבעצם מבקשת ממך לחשוב על מודל לתאר צורות במישור. השלב השני הוא לבצע סיארליזיציה ודיסיאריליזציה לצורות (כלומר לכתוב אותן לקובץ לקרוא אותן מקובץ). הקטע של המודל הוא פשוט אבל הן כיוונו לתבנית עיצוב מסויימת (לדעתי תבנית פקטורי) ולא כל כך ידעתי מה הוא רוצה. הוא חיכה לשמוע בדיוק את מה שישב לו בראש וכשהוא ראה שזה לא קורה הוא פשוט שלח אותי הבייתה.
ע"י: 1_אורח_כללי
תוכל להגיד מה היה בראיון השני בבקשה?
ע"י: אלון_ניתאי
גם אני הייתי, וגם אותי שאלו את כל השאלות. ראיון ראשון עברתי, ראיון שני לא (היה לי ראיון עם בחור רוסי בשם איליה או ויטלי או משהו בסגנון. לא בחור סימפטי. היה מאוד בגישה "סובייטית", לא מחייך קשוח וכל זה...).
שמעתי על מישהו שעבר את הראיון אבל שמעתי על עוד 200 שלא עברו.
אני חושב שהם פשוט מראיינים בסיטונאות (כל שבוע מרואיין אחר) ומחפשים מישהו שעונה פיקס על מה שהם רוצים לשמוע (מישהו שענה בדיוק על השאלה מידול צורות שלהם בתבנית עיצוב פקטורי עם הדגשים שהם רוצים)... הבעיה היא שהם מחפשים כבר שנים אנשים לאותו תפקיד ומאחר שזו לא חברת ענק כנראה שהם מבזבזים את הזמן של המרואיינים שלהם ופוסלים 99 אחוז (או לחילופין, לא צריכים מישהו כרגע, ועד שלא יבוא הגאון המושלם (שכנראה יבחר לעבוד בגוגל ולא בפאקינג PTC עלאק) הם לא יקבלו אף אחד). ממליץ לא ללכת להתראיין שם. פשוט חבל לכם על הזמן, מילולית.
ע"י: 1_אורח_כללי
יש מערך עם 1000 תאים כשהמספרים בתוכו מתפלגים נורמלית בטווח של 1-1000000 (10^6) איל תוכלו ביעילות להגיד אם יש מספר שחוזר על עצמו פעמיים.
ע"י: 1_אורח_כללי
לבעיית ה swap :
לבעיה של ה swap נראה לי שחייב להעביר לפונקציה גודל ב bytes של מה שנרצה להעתיק.
void swap(void* a, void* b, size_t s){
void* tmp = malloc(s);
memcpy(tmp, a, s);
memcpy(a, b, s);
memcpy(b, tmp, s);
free(tmp);
}
לבעיית המסלול הארוך ביותר:
ברגע שאנו יודעים איך לחשב גובה עץ, נגיד לכל קודקוד שיבצע את הדבר הבא
גובה העץ השמאלי + 1
גובה העץ הימני + 1
נחבר את שתי התוצאות ונקבל את המסלול המקסימלי בקודקוד
נחזיר את המסלול המקסימלי ביותר מבין:
-הקודקוד שלנו
- תת העץ הימני
-תת העץ השמאלי
ע"י: 1_אורח_כללי
הייתי שם לפני יותר מחצי שנה למשרת מפתח
שאלו אותי בדיוק את אותם שאלות
עד היום לא חזרו אלי , האמת אני לא מכיר מישהו שהם חזרו אליו
נירא לי סתם בזבוז זמן...
ע"י: 1_אורח_כללי
אחי אני באמת לא רוצה להלחיץ אותך. הייתי שם בראיון למשרת QA.
זה הראיון הכי קשה שהיה לי בחיים.
שים דגש בתכנות על השמה ועל תוצאה. מה ההבדל המתמטי בכתיבה !!!
קח בחשבון שבאמצע הראיון עוברים לדיבור שוטף באנגלית.
חידות היגיון תלמד טוב טוב !!
למשל אותי שאלו על החידה של שלושה נורות, ושלושה קווי מתח,
בכמה מינימום איטרציות ( הדלקה של נורה אחת או אחרת ) תוכל לגלות לאיזה קו מתח שייכת כל נורה.
ע"י: 1_אורח_כללי
"לדפוק אותם"
תוכל בבקשה לפרט לגבי החלק השלישי של הראיון שלך בו דיברו על מחלקה בשם Shape והתעסקו עם קבצים. מה בדיוק שאלו אותך לגבי זה? אתה זוכר?
תודה!
ע"י: 1_אורח_כללי
פתרון נוסף לשאלה עם ה SWAP :
void swap (void * &a, void * &b ) {
void * tmp = a;
a=b;
b=tmp;
return;
}
int main() {
void * a;
void * b;
swap (a,b);
return 0;
}
ע"י: 1_אורח_כללי
היית צריך לכתוב מימוש שלם של מבנה נתונים של עץ בינארי???
לא הייתי צריך.
ובלי קשר, מה הבעיה לכתוב מימוש למבנה של עץ בינארי?
מה מכיל NODE? הוא מכיל בן ימין ובן שמאל מסוג "עצמו". ובנוסף דאטה(מסוג T).
ע"י: 1_אורח_כללי
היית צריך לכתוב מימוש שלם של מבנה נתונים של עץ בינארי???
ע"י: 1_אורח_כללי
הנה השחזור שלי מראיון לפני שנה. בגלל שהרגשתי שמבזבזים לי את הזמן שם, אני מפרסם.
קיבלתי הרגשה שאפילו אם תעשה מבחן טוב הם לא ימשיכו איתך - כנראה חברה שמחפשת למלא את המאגרים שלה או למצוא אחד מ אלף.)
שחזור שהיה לי(הם בוחרים שאלות דפים אקראים):
חלק ראשון:
*שאלה על משתנים לוקאלים שמוקצים על ה STACK מול HEAP.
*שאלה על העברת פרמטר BYVAL ועדכונו בפוקנציה.
*לכתוב SWAP שתחליף בין 2 טיפוסים void* .
חלק שני:
*לכתוב מבנה נתונים לעץ בינארי.
*לכתוב פונקציה שמחשבת גובה עץ(לדעת סיבוכיות זמן + מקום).
*לכתוב פונקציה שמחשבת שרשרת כבדה ביותר בעץ בינארי.הפלט יהיה וקטור של int's עם הערך של ה data שיש בכל איבר בשרשרת.
חלק שלישי:
החלק הזה נותנים API לכתיבה\קריאה מקובץ וצריך:
*לכתוב מחלקה אבסטרקטית SHAPE וכמה נורשים שלה.
*לכתוב פונקציה שיודעת לשמור VECTOR שמחזיק פוינטרים לSHAPE לקובץ(צריך בפולימורפיזם שכל מחלקה תכתוב את עצמה).
*לכתוב פונקציה שיודעת לקרוא ל VECTOR קובץ של SHAPES(גם כאן פולימורפיזם).
חלק רביעי(חידות):
*חידת כדורי הזכוכית:יש 2 כדורי זכוכית ובניין עם N קומות.מצא את הקומה המינילית שבה כדור שיזרק נשבר.כמובן ביעילות מקסימלית.
*בהינתן רשימה מקושרת חד כיוונית שיש בה מעגל תמצא את הקודקוד שיש עליו 2 הצבעות(הצבעה רגילה ועוד ההצבעה שיוצרת מעגל).אי אפשר לשנות את הטיפוס נתונים(כלומר אסור לשים בוליאני שביקרת כבר ב NODE ואסור לשכפל את הרשימה).יש זכרון בגודל קבוע (ואין גם את גודל הרשימה).
חלק חמישי(ידע כללי):
*הבדלים בין פרוסס לטרד.
*ליניקינג נגד קומפילציה.תן דוגמא לשניהם.
היו עוד כמה דברים שלא זכרתי.
אני עשיתי מבחן טוב והודיעו לי שלא ממשיכים איתי. כיום אני עובד במיקרוסופט
ע"י: 1_אורח_כללי
היי,
סתם מתוך סקרנות מישהו יודע מה הפתרון לswap???
לדעתי לא ניתן למשש אותו רק בעזרת הפויינטרים של void* אלא יש צורך במשנה שאומר מה הגודל של הפרמטרים.
מישהו חושב אחרת?
ע"י: 1_אורח_כללי
היי,
סתם מתוך סקרנות מישהו יודע מה הפתרון לswap???
לדעתי לא ניתן למשש אותו רק בעזרת הפויינטרים של void* אלא יש צורך במשנה שאומר מה הגודל של הפרמטרים.
מישהו חושב אחרת?
void func(void** a,void** b)
{
void* temp = *a;
*a = *b;
*b = temp;
}
int main()
{
void* a;
void* b;
func(&a,&b);
}
ע"י: 1_אורח_כללי
שלום לכולם,
אני נורא לחוץ לקראת המבחן הזה.
אם יש מישהו שהיה שם לאחרונה ויודע על עוד שאלות,
בבקשה בבקשה תהיו אנשים טובים ותכתבו כאן מה ידוע לכם.
ע"י: 1_אורח_כללי
הייתי גם שם לא מזמן ושאלו את השאלות האלה בדיוק, בנוסף הייתה שאלה של להציג את המסלול הכי ארוך בעץ (זאת שאלה אחרי שמוצאים את הגובה של העץ)
ע"י: 1_אורח_כללי
אורח 9898, האם היית בראיון ואתה יכול לאמת בבקשה את מה שנאמר? להוסיף חומר חדש?
תודה מראש
ע"י: אורח9898
תודה רבה על השיתוף והזמן שהקדשת. כל הכבוד!!!!
ע"י: 1_אורח_כללי
זה מה ששאלו. לא היה מתמטיקה ולא OOP
אבל יכול מאוד להיות שזה לא אותו תפקיד...
שיהיה בהצלחה בכל אופן
ע"י: אורח9898
קודם כל, תודה רבה!!
האם שאלו אותך שאלות ב-OOP ו-C++ גם? ובמתמטיקה? כי אמרו לי להתכוננן לשאלות במתמטיקה.
שוב המון תודה!
ע"י: 1_אורח_כללי
אהלן,
אלו השאלות שהיו לי בראיון האחרון לפני כחודש ב- PTC לפיתוח C/C++.
שיהיה בהצלחה !!
1) נתונה פונקציה שמקבלת מצביעים לשם פרטי ושם משפחה. היא מגדירה בתוכה באפר באורך 100 ומכניסה את השמות לבאפר בעזרת :
sprintf(buff,"%s %s",first,last);
ומחזירה את הבאפר
return (buff);
להגיד מה הבעיות בתוכנה ואיך אפשר לתקן אותן.
2) נתונה הפונקציה הבאה :
int main()
{ int a=5;
add(a);
printf("%d",a);
return;
}
void add (int a)
{ a+=5;
}
שאלו מה הפונקציה תדפיס.
איך לפתור?
3) נתונים 2 מצביעים, וצריך לממש פונקציה שתחליף בין המצביעים. המצביעים הם מסוג void * וככה בעצם זה מממש פונקציית החלפה לכל סוג של משתנה.
void *a,*b;
swap (_______,_______)
צריך היה לקבוע מה לשלוח לפונקציה ומה תהיה החתימה של הפונקציה עצמה, ולממש את הפונקציה עצמה.
4) נתון עץ וצריך לממש Node. אח"כ צריך לממש פונקציה שבודקת מה גובה העץ.
לבסוף היה צריך להגיד מה הסיבוכיות מבחינת זמן ומבחינת זכרון.
5) אתה מקבל מסמך כלשהו. נותנים לך לעבור עליו פעם אחת ולעשות מה שאתה רוצה, ואז גורסים את המסמך. אח"כ שואלים אותך שאלות כמו: האם הופיעה המילה "Hey" במסמך. איך פותרים את זה ?