|
|
|
הוסיפו מידע על מעסיק
|
|
מתכנת C++ / C
|
|
שאלות מראיונות עבודה לתפקיד
|
|
|
|
|
|
|
Theworker >
תוכנה
>
פירוט שאלות מראיונות עבודה לתפקיד מתכנת C++ / C
פירוט שאלות מראיונות עבודה לתפקיד מתכנת C++ / C
470 - 461 מתוך 1066
|
|
|
|
|
ראיון לתפקיד מתכנת 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 |
|
|
|
|
|
|
הוסף מידע על החברה
|
עוד מידע על יבמ :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת ורינט
ינואר 2020
|
09.03.2020
|
|
|
| פרטים לגבי התהליך |
המראיין היה ראש הצוות.
תחילה הוא הסביר על החברה, ואז שאל עלי.
לבסוף המראיין ביקש שאני אכתוב מתודה בcpp או בפסאודו-קוד. |
|
| שאלות מתוך הראיון |
המראיין ביקש שאני אכתוב מתודה בcpp או בפסאודו-קוד, המקבלת קובץ טקסט עם העמודות הבאות:
שם פרטי | שם משפחה | טלפון | כתובת | דוא"ל
ויוצרת קובץ המכיל רק את העמודות הבאות:
שם פרטי | כתובת
לאחר מכן, המראיין שאל אם אפשר ליעל את התשובה ואם צריך לתקן משהו (היה צריך לבצע בדיקה כדי למנוע גישה לאינדקס שלא קיים במערך מחרוזות, במקרה שהמערך לא התמלא). |
|
| תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
| |
מרץ 2020
|
| |
void CreateSubFile(ifstream * detailsFile)
{
string line;
ofstream resultFile("result.txt");
if (detailsFile->is_open())
{
streampos size = detailsFile->tellg();
getline(*detailsFile, line); // Skip the first line (The title)
while (getline(*detailsFile, line))
{
//cout << line << endl; // Print the input line
char index = 0;
char * pch;
char char_array[101];
strcpy(char_array, line.c_str());
pch = strtok(char_array, "\t ");
while (pch != NULL)
{
if (index == PRIVATE_NAME)
{
cout << pch << '\t'; // Print the private name
resultFile << pch << '\t';
}
if (index == ADDRESS)
{
cout << pch << endl; // Print the address
resultFile << pch << endl;
}
pch = strtok(NULL, "\t ");
index++;
}
if (index <= ADDRESS)
{
cout << endl;
resultFile << endl;
}
}
detailsFile->close();
}
else cout << "Unable to open file";
}
|
| |
|
| |
|
|
|
הוסף מידע על החברה
|
עוד מידע על ורינט :
|
|
|
ראיון לתפקיד מתכנת C++ / C בחברת ינטוביו
פברואר 2020
|
08.03.2020
|
|
|
| פרטים לגבי התהליך |
ראיון עם סמנכ"ל הפיתוח |
|
| שאלות מתוך הראיון |
שאלה מתמטית (אנשים עומדים במעגל, כל אחד בתורו יורה באדם שמימינו ואז האדם החי שאחריו יורה הבא. באיזה מקום במעגל יש לעמוד ביחס ליורה הראשון על מנת לשרוד?)
שאלה תכנותית (בנה תכנה המציירת קו על המסך) |
|
| תשובות |
הוסף תשובה
|
לצפיה בתשובות
|
|
|
|
|
| |
מרץ 2020
|
| |
באופן ניסויי עם מעגלח
ים של 8,6,9 אנשים יוצא שכדאי לעמוד 4 מקומות מהכיוון שהיורה הראשון ירה כך שביני לבין היורה הראשון ישנם 3 אנשים.
|
| |
|
| |
|
|
|
הוסף מידע על החברה
|
עוד מידע על ינטוביו :
|
|
|
יש לכם מה להוסיף ?
|
|
|
|
|
|