|
|
הוסיפו מידע על מעסיק
|
מתכנת C++ / C
|
|
שאלות מראיונות עבודה לתפקיד
|
|
|
|
|
Theworker >
תוכנה
>
פירוט שאלות מראיונות עבודה לתפקיד מתכנת C++ / C
פירוט שאלות מראיונות עבודה לתפקיד מתכנת C++ / C
460 - 451 מתוך 1058
|
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת יבמ
מרץ 2015
|
23.05.2020
|
|
|
פרטים לגבי התהליך |
התהליך היה מתוכנן בצורה טובה מאוד |
|
שאלות מתוך הראיון |
איזה תוכנות פתחת? |
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על יבמ :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת PTC
אפריל 2020
|
13.05.2020
|
|
|
פרטים לגבי התהליך |
זימון לראיון דרך חברת השמה. |
|
שאלות מתוך הראיון |
ראשונה:
מיון של מערך עם פונקציה אחת בלבד בשם reverse. הדבר היחד שמותר לעשות על המערך זה לעבור עליו ולא לשנות כלום, כדי לשנות מותר רק להשתמש בפונקציה.
הפונקציה תקבל מערך ואינדקס, ועושה היפוך לכל האיברים מאותו אינדקס ועד סוף המערך.
שאלה שנייה:
מעבר על עץ לא בינארי שצריך להעתיק את כל העץ לתוך מערך, ההעתקה תתבצע לפי שורות (קודם שורה ראשונה, אח"כ כל השנייה וכו'). |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
מאי 2020
|
|
התשובה לשאלה היא לעשות איטרציה שבכל אחת יש פעמיים reverse.
התשובה לשאלה השנייה היא לעשות את זה דרך queue.
|
|
|
|
אוקטובר 2020
|
|
לא הבנתי את השימוש בפונקציה reverse.
אפשר לשלוח כל פעם חלק מהמערך לפונקציה הזאת?
|
|
|
|
פברואר 2021
|
|
בכל איטרציה: למצוא את המספר הכי קטן ואז לעשות reverse ממנו עד הסוף (ככה שהוא יופיע בתור האיבר האחרון) ואז לעשות עוד פעם reverse, כדי לשים אותו במקום הנכון.
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על PTC :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת אמזון
מרץ 2020
|
03.05.2020
|
|
|
פרטים לגבי התהליך |
זה היה ראיון טלפוני, אני הייתי צריכה להתקשר.
בהתחלה המראיין הסביר לי על התפקיד שאליו התראיינתי.
אח"כ עברנו בגדול על הקורות חיים שלי, הוא רצה שאני אספר לו על עצמי.
אח"כ הוא שאל שאלה לא מאד מסובכת שהייתי צריכה לפתור בקונסול שלהם והוא ראה את זה בלייב. אפשר היה לעשות באיזה שפה שרוצים.
אח"כ הוא שאל איך אפשר לשפר את הפתרון, ושאל אותי על כל מיני מקרי קצה.
אח"כ הוא שאל לגביי זמן ריצה.
בסוף הוא הסביר לי איך עובד תהליך הגיוס באמזון, שזה סדרה של ראיונות ביום אחד.
הראיון נמשך בערך שעה.
חזרו אליי יום למחרת במייל שאני לא התקבלתי. |
|
שאלות מתוך הראיון |
מקבלים בתור קלט מערך ומספר n.
צריכים לחפש במערך תת מערך בגודל n שהממוצע שלו הוא הגדול ביותר, ולהחזיר את הממוצע.
לדוגמא: [1,5,3,4,7] ו- 2.
תת המערך בגודל 2 עם הממוצע הגדול ביותר הוא [4,7], ולכן התשובה היא 5.5 כי זה הממוצע של 4 ו- 7. |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
יוני 2020
|
|
יוצרים תור בגודל k (תת המערך) וסכום כאשר כל פעם שנכנס איבר מעבר לk אז מורידים את האחרון בתור
|
|
|
|
יוני 2020
|
|
בנוסף שומרים נתון נוסף את הסכום המקסימלי וכל פעם שמשתנה הסכום בתור (כי מכניסים איבר נוסף ואיבר יוצא במקומו) אז בודקים אם הוא גדול יותר מהסכום המקסימלי
לבסוף מחזירים את הסכום המקסימלי חלקי גודל תת המערך (k)
|
|
|
|
יוני 2020
|
|
זה לא בעצם זהה למציאת n המספרים הגדולים?
ניתן לעשות מיון בינארי logn ואז חישוב על n המספרים הגדולים.
|
|
|
|
יוני 2020
|
|
בקשר לתשובה האחרונה -> המטרה היא למצוא איברים צמודים במערך
|
|
|
|
אוקטובר 2020
|
|
תשובה לשאלה הראשונה בלי תור ושום דבר פשוט יש לוגיקה של sliding window פשוטה , לולאה ראשונה עוברים על ה N הראשונים וסוכמים לתוך משתנה בסוף מחשבים ממוצע ושומרים את הגדול ,
לולאה שניה מתחילה מ N עד אורך הקלט ובכל איטרציה מוסיפים את arr[i] ומורדים את arr[i-n] ובודקים ממוצע זה הכל
זמן של N ומיקום של 1
|
|
|
|
נובמבר 2020
|
|
או שלא הבנתי את השאלה או את התשובה. אבל למה לא פשוט לעשות TOP N? כלומר בעיית מקסימום N פעמים. בהכרח ש-N המקסימליים הממוצע שלהם יהיה הגבוה ביותר. לא?
|
|
|
|
מרץ 2021
|
|
עוד יותר פשוט ובזמן של O(n) אפשר לשמור 2 מצביעים במרחק m (גודל תת המערך) פחות אחד לסכום את המספרים ביניהם ואז לקדם את הימני אחד ימינה ולהוסיף לסכום את המספר שהוא עליו עכשיו ולהוריד מהסכום את המספר שכתוב בשמאלי ואז לקדם גם אותו אחד ימינה. להחזיר את המקסימום של הסכומים חלקי m
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על אמזון :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת אימפרבה
דצמבר 2019
|
25.03.2020
|
|
|
פרטים לגבי התהליך |
1.התקשרו וקבעו ראיון |
|
שאלות מתוך הראיון |
1.לממש ירושה ב C (לבנות virtual tabel ב C)
2.ללמש את הפקודה ls -R (רקורסיבית ואיטרטבית)
3.להסביר איך Threds Pool עובד ולממש את הקוד (עניין אותו בעיקר איך לטפל ב Readers–writers problem) |
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על אימפרבה :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת אורבוטק
מרץ 2020
|
16.03.2020
|
|
|
פרטים לגבי התהליך |
ראיון מקצועי ראשון
תחילה הסבירו על החברה ואז שאלו עלי, ועל החברה שאני עובד בה היום. לאחר מכן שאלו 3 שאלות תכניות. |
|
שאלות מתוך הראיון |
1. ביקשו שאסרטט קלאס חדש בדיאגרמת קלאסים, ולהראות איך הוא מתחבר לתוכנה שלנו.
בנוסף לכך ביקשו לכתוב את הקלאס (רק משתנים ומתודות מרכזיים והאם יש ירושה).
2. האם משהו לא בסדר בקוד הבא:
class A
{
public:
A()
{
}
~A()
{
}
void foo()
{
cout << "A" << endl;
}
};
class B : public A
{
public:
B()
{
}
~B()
{
}
virtual void foo()
{
cout << "B" << endl;
}
};
void main()
{
A * p = new B;
p->foo();
delete p;
}
3.1. מה הפלט של הקוד הבא:
class A
{
public:
A()
{
}
~A()
{
}
virtual void foo()
{
cout << "A" << endl;
}
};
class B : public A
{
public:
B()
{
}
~B()
{
}
virtual void foo()
{
cout << "B" << endl;
}
};
void main()
{
A * px = NULL;
A * pa = new A;
B * pb = new B;
px = pa;
px->foo();
px = pb;
px->foo();
delete px;
}
3.2. מה יהיה הפלט אם נחליף את הפונקציה הראשית בזו:
void main()
{
A a;
B b;
A& x = a;
x.foo();
x = b;
x.foo();
} |
|
תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
מרץ 2020
|
|
2. כן, צריך להגדיר את foo של קלאס A כvirtual, אחרת התוכנה תקרוס בפקודה delete p.
3.1.
A
B
3.2.
A
A
|
|
|
|
מאי 2020
|
|
2. אם תבצעו את מה שנאמר בתשובה הקודמת הפלט יהיה B.
3.1. צריך להגדיר A::foo() בקריאה הראשונה לפונ' כדי שלא תקרוס, והפלט יהיה:
A
B
3.2. צריך להחליף את השורה:
A & x = a;
בשורה:
A & x = b;
כדי שהתוכנה לא תקרוס, ואז הפלט יהיה:
B
B
|
|
|
|
פברואר 2022
|
|
לא מדוייק התגובה האחרונה בכל אופן לסעיף האחרון ברגע שעם & התשטבה BB ובלי BA
|
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על אורבוטק :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת יבמ
מרץ 2020
|
11.03.2020
|
|
|
פרטים לגבי התהליך |
ראיון טלפוני בו נשאלות מושגים טכניים |
|
שאלות מתוך הראיון |
הגדר מה זה: shared memory, malloc, procees vs thread, static, link list, binary tree, context switch, compilation stages |
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על יבמ :
|
|
יש לכם מה להוסיף ?
|
|
|
|
|
|