פורסם: 12/09/2017 - 19:06
נושא ההודעה: אני צריך מאגר של שאלות גנריות בתחום התכנות בראיונות עבודה.
|
שאלות כמו
* מציאת האיבר הגדול ביותר במערך
* sorting למערך
ושאר שאלות חשיבה לוגית (ופחות סינטקס)
השפה לא משנה, אבל אני מתכוון לענות על התשובות בפרל/פיתון/js (לפי הסדר)
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 08:01
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 09:47
נושא ההודעה:
|
אף פעם לא הבנתי את השאלות מהסוג הזה. בטח, בוא נשאל אותך שאלות על דברים שהם בעיות פתורות מזמן וכל מפתח/ת מתחיל/ה ימצאו תשובה תוך שניה ב-StackOverflow וכד'.
אפשר לחשוב זה ממש קשור למה שעליך לעשות בחברה.
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 09:55
נושא ההודעה: Re: אני צריך מאגר של שאלות גנריות בתחום התכנות בראיונות עבוד
|
Anonymous : | שאלות כמו
* מציאת האיבר הגדול ביותר במערך
* sorting למערך
ושאר שאלות חשיבה לוגית (ופחות סינטקס)
השפה לא משנה, אבל אני מתכוון לענות על התשובות בפרל/פיתון/js (לפי הסדר) |
הדבר הזה זה פשוט ביזבוז זמן, תיקח ספר בחינות של מדעי המחשב בנושאי אלגוריתמים.
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 10:23
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 16:17
נושא ההודעה:
|
המון תודות לעונים.
קיבלתי "טיפ" לפני ראיון שאבחן בכל שפה שאבחר על שאלות כאלה.
חבר שלי סיפר לי שיש גם את crack the code מסתובב היכן שהוא אבל אני שומר חוק. (מציין זאת לדורות הבאים)
בכל אופן הראיון קרוב מדי בשביל לעכל משהו מכל הלינקים הנ"ל. לדבר כזה צריך ללמוד.
מאיר(?) - וזו בכלל משרה של סיסטם. לך תבין.
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 16:21
נושא ההודעה:
|
mksoft : | אף פעם לא הבנתי את השאלות מהסוג הזה. בטח, בוא נשאל אותך שאלות על דברים שהם בעיות פתורות מזמן וכל מפתח/ת מתחיל/ה ימצאו תשובה תוך שניה ב-StackOverflow וכד'.
אפשר לחשוב זה ממש קשור למה שעליך לעשות בחברה. |
בראיונות טכניים ביקשו ממני:
* לממש סקיצה של אלגוריתם להקצאת זיכרון. אתה מבקש איזור זכרון, ואת כות וקורה ממנו. הקוד לא מסובך - אבל רוצים לראות איך הקוד של המהנדס נראה (וכמה טריקים פשוטים מאוד בהקצאת זכרון).
* הסבירו לי על רגל אחת איך עובד אלגוריתם של path finding. בשלוף נתתי למראיון אלרוגיתם שהיכרתי ב־O(n^3), ואז הוא נתן לי אלרגוריתם וביקשו ממני לממש ב־pseudo code, ואז שאלו האם זה BFS או DFS. ואז ביקשו ממני לממש אלגוריתים שעובד בצורה אחרת (פה הייתי כבר גמור כי היה אחרי שעתיים של ראיון ושאלות מהסוג הזה).
* בראיון אחר שאלו אותי משהו וברגע שאמרתי state machine השאלה נסגרה. זה מה שרצו לשמוע.
* נותנים רשימה של מספרים ואומרים וביקשו ממני לברר איזה חסר, זה ב־O(1).
* נותנים רשימה של מספרים, ורוצים לדעת האם יש רצף מסויים של מספרים עוקבים שהסכום שלהם הוא "x".
* בראיון אחר ביקשו ממני לממש מין תחביר פשוט של regex. עשינו את התרגיל על לוח, צילמתי ובינינו, הוא לא עבד.
* בראיון אחר, נתנו לי שאלה מסובכת (רק להסביר ולהבין אותה לקח 20 דקות), והתשובה שחיפשו הייתה std::atomic (ואני סתם רציתי לשים mutex).
* שואלים אותי הרבה על mutex vs semaphore vs critical section.
* נותנים לי תרגילי בית, חלקים לא מסובכים (משהו פשוט עם מצלמה על אנדראיד, להפעיל מטריצות אפיניות על ביטמפים וכו'). שוב - פה המטרה היא לבדוק את הקריאות של הקוד.
* שאלה טכנית ששאלו: תכתוב קוד שמקבל שתי מחרוזות, וכתוצאה אתה מקבל העתק של המחרוזת הראשונה ללא השנייה. זה צריך להיעשות ב־O(n). אפשר לעשות את זה בעזרת העתקה למחרוזת שנייה, אבל אז זה לא inplace. ומי שחושב לעשות strstr טועה, כי זה O(n^2).
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 16:50
נושא ההודעה:
|
elcuco : | mksoft : | אף פעם לא הבנתי את השאלות מהסוג הזה. בטח, בוא נשאל אותך שאלות על דברים שהם בעיות פתורות מזמן וכל מפתח/ת מתחיל/ה ימצאו תשובה תוך שניה ב-StackOverflow וכד'.
אפשר לחשוב זה ממש קשור למה שעליך לעשות בחברה. |
בראיונות טכניים ביקשו ממני:
* לממש סקיצה של אלגוריתם להקצאת זיכרון. אתה מבקש איזור זכרון, ואת כות וקורה ממנו. הקוד לא מסובך - אבל רוצים לראות איך הקוד של המהנדס נראה (וכמה טריקים פשוטים מאוד בהקצאת זכרון).
* הסבירו לי על רגל אחת איך עובד אלגוריתם של path finding. בשלוף נתתי למראיון אלרוגיתם שהיכרתי ב־O(n^3), ואז הוא נתן לי אלרגוריתם וביקשו ממני לממש ב־pseudo code, ואז שאלו האם זה BFS או DFS. ואז ביקשו ממני לממש אלגוריתים שעובד בצורה אחרת (פה הייתי כבר גמור כי היה אחרי שעתיים של ראיון ושאלות מהסוג הזה).
* בראיון אחר שאלו אותי משהו וברגע שאמרתי state machine השאלה נסגרה. זה מה שרצו לשמוע.
* נותנים רשימה של מספרים ואומרים וביקשו ממני לברר איזה חסר, זה ב־O(1).
* נותנים רשימה של מספרים, ורוצים לדעת האם יש רצף מסויים של מספרים עוקבים שהסכום שלהם הוא "x".
* בראיון אחר ביקשו ממני לממש מין תחביר פשוט של regex. עשינו את התרגיל על לוח, צילמתי ובינינו, הוא לא עבד.
* בראיון אחר, נתנו לי שאלה מסובכת (רק להסביר ולהבין אותה לקח 20 דקות), והתשובה שחיפשו הייתה std::atomic (ואני סתם רציתי לשים mutex).
* שואלים אותי הרבה על mutex vs semaphore vs critical section.
* נותנים לי תרגילי בית, חלקים לא מסובכים (משהו פשוט עם מצלמה על אנדראיד, להפעיל מטריצות אפיניות על ביטמפים וכו'). שוב - פה המטרה היא לבדוק את הקריאות של הקוד.
* שאלה טכנית ששאלו: תכתוב קוד שמקבל שתי מחרוזות, וכתוצאה אתה מקבל העתק של המחרוזת הראשונה ללא השנייה. זה צריך להיעשות ב־O(n). אפשר לעשות את זה בעזרת העתקה למחרוזת שנייה, אבל אז זה לא inplace. ומי שחושב לעשות strstr טועה, כי זה O(n^2). |
במה אתה עובד?
שאלות ממש מורכבות (בשבילי, נכון להיום)
הלוואי ויבוא יום שבו אדע לענות על שאלות כאלו בראיון עבודה וכמובן שהיום שלי יהיה מלא בחידות מהסוג הנ״ל
לצערי נכון להיום זנחתי את לימודי הסי שלי בשביל משרת פיתוח ג׳אווה/ווב ואני אפילו לא קרוב לידע מעניין ומורכב בג׳אווה, ובכלל ווב זה התעללות ואונס בJS.
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 17:41
נושא ההודעה:
|
elcuco : |
* נותנים רשימה של מספרים ואומרים וביקשו ממני לברר איזה חסר, זה ב־O(1).
|
מה זאת אומרת "מי חסר"? אני אומר ש-7 חסר, בדוק. זה ב-O(1)
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 19:18
נושא ההודעה:
|
כל מה שציינת קשור לזה ש-C++ שפה מסריחה
בכל מקרה איך זה רלוונטי לכתיבת:
- microservices
- שירותי rest
- פיתוח פרוייקט בסביבה של אחד מספקי הענן עם כל שירותיו
- serverless
- עבודה מול בסיסי נתונים
- פיתוח frontend בווב
- פיתוח backend בווב
- פיתוח יישומי gui
- עבודה עם מאגרי version control
- אוטומציה
וכן הלאה...
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 20:21
נושא ההודעה:
|
מאיר, תפסיק לבלבל את השכל, השפות ההיפסטריות עם הזקנקן המגוחך הזה כתובות ב-C++ אז... כן. ולא, הן לא מתאימות לכל מטרה.
ומה אתה היית שואל מרואיין לתפקיד של פיתוח ווב?
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 22:05
נושא ההודעה:
|
לא מצליח להבין את הרעה החולה הזו שנקראת js
פשוט לא מצליח להבין.
גילוי נאות: לכותב אין שמץ ב c/cpp
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2017 - 22:21
נושא ההודעה:
|
elcuco : | מאיר, תפסיק לבלבל את השכל, השפות ההיפסטריות עם הזקנקן המגוחך הזה כתובות ב-C++ אז... כן. ולא, הן לא מתאימות לכל מטרה.
ומה אתה היית שואל מרואיין לתפקיד של פיתוח ווב? |
מה הקשר? האם הם הולכים לממש את השפות האלה בעצמם? את מי זה מעניין?
או לצורך העניין לממש דברים שהם כבר בעיה פתורה?
נ.ב., ככל הידוע לי, Go בונה את עצמה כעת, אין שום C או C++ שם.
מאחר וראיינתי מספיק מפתחים למשרות ווב בחברה הקודמת שלי, מה שאני שואל זה ידע בסיסי בטכנולוגיות ווב (רק כדי לראות שיש להם מושג) ואז אני מחפש יותר גישה של מפתחים: האם הם מעודכנים בתחום, אלו תשתיות הם מעדיפים, מדוע, איך הם ניגשים לפרוייקט שהם צריכים להתחיל בו, אלו שפות (כן, גם ב-frontend יש מספר שפות), ולא פחות חשוב: מה הם שונאים בתשתיות/כלים.
זה מה שבאמת מעניין, לא אם הם מכירים ספציפית תשתית כזו או אחרת.
המבנה יהיה גם שונה אם מראיין למשרה של מישהו שאמור להקים את הפרוייקט ולהוביל אותו לעומת מישהו שאמור להשתלב בו.
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 08:28
נושא ההודעה:
|
יש ב github רשימה של חברות אשר לא עושות סוגי בחינות בסגנון הזה:
https://github.com/poteto/hiring-without-whiteboards
אני אישית לא מאמין במבחנים, עברו אצלי כאלו שלא הצליח לעבוד, והיו כאלו שלא הצליחו לעבור, אבל בכל זאת כשהתקבלו, הוכיח שהם מצויינים, ויש את כל האמצע.
אם כבר מבחן, אז לתת אותו על סוג או סגנון של מה שנעשה בחברה לצורך התקפיד. אפילו בעיה אמיתית שהתמודדו איתה ופתרו.
הרעיון הוא בד"כ להבין איך הבן אדם חושב ומתמודד מאשר אם הוא יודע לספק את התשובה שעובדת.
במידה ואני מבקש ממישהו שב יום בבית ותענה על צורת של המשימה תגיש לי אותה ונמשיך משם (עם הוראות מה כן ומה לא), זה יעבוד הרבה יותר טוב.
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 12:41
נושא ההודעה:
|
איש C++ למשרה שמספקת interface (web) ל מערכת BI.
שאלות ששאלו אותי בעבר כללו בדיקות של האם יש מעגל בתלויות שטוענים (לממש פסאודו קוד ).
שאלות לגבי אלגברה רציליונית (לא יודע מה היה הקשר בגלל שזה היה למקום שעובד עם מונגו ).
הביאו שאילתה פשוטה (join + where clause + aggregate) ושאלות לגבי איך שאילתת T-SQL עובדת (קדימויות).
ביקשו לבנות פרסר json בפסאודו קוד.
להראות שימוש בעצים וגרפים ב PHP.
ביקשו להראות איך משתמשים ב E-TAGs .
ביקשו לעשות state machine בשביל להתאים ביטוי רגולרי פשוט.
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 12:46
נושא ההודעה:
|
[quote="elcuco"] mksoft : |
* שאלה טכנית ששאלו: תכתוב קוד שמקבל שתי מחרוזות, וכתוצאה אתה מקבל העתק של המחרוזת הראשונה ללא השנייה. זה צריך להיעשות ב־O(n). אפשר לעשות את זה בעזרת העתקה למחרוזת שנייה, אבל אז זה לא inplace. ומי שחושב לעשות strstr טועה, כי זה O(n^2). |
קוד: |
void copy (const std::string & s1 , const std::string & s2, std::string & s3)
{s3 = s1;}
|
אבל אפשר פשוט להשתמש ב string_view ואז זה אתה חוסף העתקה.
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 13:43
נושא ההודעה:
|
[quote="Anonymous"] elcuco : | mksoft : |
* שאלה טכנית ששאלו: תכתוב קוד שמקבל שתי מחרוזות, וכתוצאה אתה מקבל העתק של המחרוזת הראשונה ללא השנייה. זה צריך להיעשות ב־O(n). אפשר לעשות את זה בעזרת העתקה למחרוזת שנייה, אבל אז זה לא inplace. ומי שחושב לעשות strstr טועה, כי זה O(n^2). |
קוד: |
void copy (const std::string & s1 , const std::string & s2, std::string & s3)
{s3 = s1;}
|
אבל אפשר פשוט להשתמש ב string_view ואז זה אתה חוסף העתקה. |
לא הסברתי את עצמי מספיק טוב:
קוד: |
char * epic_func( char* s1, const char *s2);
char *s1 = strdup("1122aabb22cc");
epic_func( s1, "22" );
// s1 = "11aabbcc"
|
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 15:29
נושא ההודעה:
|
קוד: | //let's screw with elcucu
//will your code work with such a call ?
char you_dont_mess_with_c[4] = {'a','b','c','d'};
epic_func(s1,you_dont_mess_with_c); //how to teach people not to ask for char * but use either char * + length or something like std::string or a vector for saner code
|
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 15:32
נושא ההודעה:
|
Anonymous : | קוד: | //let's screw with elcucu
//will your code work with such a call ?
char you_dont_mess_with_c[4] = {'a','b','c','d'};
epic_func(s1,you_dont_mess_with_c); //how to teach people not to ask for char * but use either char * + length or something like std::string or a vector for saner code
|
|
או וריאציות אחרת (אתה מבין את הרעיון של const ו חוסר ב NULL)
const char s1[] = "abc22";
epic_func(s1,"22");
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2017 - 22:56
נושא ההודעה: שולה מוקשים
|
עדכון.
היום בראיון השאלה היתה שבע בום (עד מאה)
כמובן שלא התכוננתי אז בהתחלה חשבתי על לולאה שמתחילה משבע בצעדים של עשר. (ככה דורכים על כל המוקשים. כפילויות לא נחשבות. שאלתי. שאלת קיטבג)
אחר כך הבנתי שצריך להדפיס גם מספרים. אז הלכתי על המודולוס וההופכי לי.
כתבתי על הלוח פסאודו קוד שנראה כמו פיתון (בשתים זה כנראה היה אפילו מתקמפל כי כתבתי פרינט בלי סוגריים)
האבחנה שלי היא שאני מתאבד על מקרי קצה. לא מחפש להלך בין הביצים.
נפלא. בזה הרגע קידמתי את עצמי לדרגת ילדת HR
|
|
חזרה לתוכן הדיון |
פורסם: 15/09/2017 - 14:41
נושא ההודעה:
|
אגב חשבתי בבית על תשובה הולמת (הגעתי אליה בעצמי. הלוואי והייתי נותן אותה בראיון) לשבע בום -
קוד: | % python
Python 3.6.2 (default, Jul 20 2017, 03:52:27)
[GCC 7.1.1 20170630] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print([ 'boom!' if x//10 == 7 or x%10 == 7 else x for x in range(100)])
[0, 1, 2, 3, 4, 5, 6, 'boom!', 8, 9, 10, 11, 12, 13, 14, 15, 16, 'boom!', 18, 19, 20, 21, 22, 23, 24, 25, 26, 'boom!', 28, 29, 30, 31, 32, 33, 34, 35, 36, 'boom!', 38, 39, 40, 41, 42, 43, 44, 45, 46, 'boom!', 48, 49, 50, 51, 52, 53, 54, 55, 56, 'boom!', 58, 59, 60, 61, 62, 63, 64, 65, 66, 'boom!', 68, 69, 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 'boom!', 80, 81, 82, 83, 84, 85, 86, 'boom!', 88, 89, 90, 91, 92, 93, 94, 95, 96, 'boom!', 98, 99]
>>> |
אשמח לריג'קטים.
|
|
חזרה לתוכן הדיון |
פורסם: 15/09/2017 - 16:06
נושא ההודעה:
|
14: בום. 701: בום.
|
|
חזרה לתוכן הדיון |
פורסם: 15/09/2017 - 16:24
נושא ההודעה:
|
צפריר : | 14: בום. 701: בום. |
הדרישה היתה להדפיס פוף כאשר מופיעה הסיפרה 7 בין המספרים 1 עד 100
השוואת סטרינגים לא באה בחשבון.
עכשיו תסביר לי למה בחרת כריג'קט את 701.
תודה.
|
|
חזרה לתוכן הדיון |
פורסם: 17/09/2017 - 09:18
נושא ההודעה:
|
ככל הזכור לי, זה גם דורש עבור מספר שמתחלק ב-7.
|
|
חזרה לתוכן הדיון |
פורסם: 17/09/2017 - 15:42
נושא ההודעה:
|
mksoft : | ככל הזכור לי, זה גם דורש עבור מספר שמתחלק ב-7. |
גם אתה היית שם בחדר ?
לא היתה דרישה לחלוקה ב7 ואם היתה היה מתווסף עוד or x%7==0 , זה לא העניין.
ריג'קטים מבחינתי זה נגיד...
* הזן של פיתון שקוד צריך להיות קריא.
* או שימוש בזבזני של זיכרון (אפשר להשתמש ב set כי הוא mutable)
דברים כאלה...
|
|
חזרה לתוכן הדיון |
פורסם: 17/09/2017 - 15:58
נושא ההודעה:
|
פשוט זה המקרה הסטנדרטי של 7 בום. זו הסיבה שצפריר הזכיר שם את 14.
יכול להיות שהמראיין שלך לא מכיר, אז הוא צריך ראיון למראיינים.
|
|
חזרה לתוכן הדיון |
פורסם: 17/09/2017 - 20:29
נושא ההודעה:
|
mksoft : | פשוט זה המקרה הסטנדרטי של 7 בום. זו הסיבה שצפריר הזכיר שם את 14.
יכול להיות שהמראיין שלך לא מכיר, אז הוא צריך ראיון למראיינים. |
אני מבין שתשובות אני לא אקבל פה.
יש לך המלצות לאתרים בהם כן עונים?
(בקשר למה זה mutable ומה זה hashable והאם שימוש ב set יותר נכון במקרה הנ"ל)
|
|
חזרה לתוכן הדיון |
פורסם: 18/09/2017 - 00:12
נושא ההודעה:
|
לא, הוא לא יעזור לך פה, set הוא גם mutable.
אם צריך רק להדפיס את התוצאות, לא הייתי עושה פה list comprehension, מאחר ואתה בונה עוד רשימה (מערך) בזכרון, הייתי עושה לולאה פשוטה שמדפיסה מה שצריך וזהו.
set עוזר כאשר אתה רוצה להבטיח ייחודיות ערכים ו/או לבצע פעולות על קבוצות (מכיל, הבדל, וכד'). אם ממש היית רוצה set שהוא לא mutable, היית יכול להשתמש ב-frozenset, למרות ששוב, כאן לא היה נותן לך ממש יתרון.
מידע נוסף תוכל למצוא בתיעוד של הטיפוסים הסטנדרטיים:
https://docs.python.org/3/library/stdtypes.html
|
|
חזרה לתוכן הדיון |
פורסם: 18/09/2017 - 09:37
נושא ההודעה:
|
תודה על התשובה המפורטת (עושה חשק לעוד)
מתברר שיש משהו בדבריו של הקוקו. בעוד אני משתולל עם אופרטור טרנרי (או הכי קרוב לזה בפיתון) וגנרטור ומרגיש מה זה מגניב כי כתבתי את זה בשורה אחת - בפרוייקט קצת יותר רציני הגרבג' קולקטור יעיף אותי מכל המדרגות
ראה דיון על האלקטרון.
|
|
חזרה לתוכן הדיון |
פורסם: 18/09/2017 - 10:05
נושא ההודעה:
|
נראה לי שאתה קצת מתפזר בין דברים שאתה קורא/מתרשם/אחרים אומרים, עדיף לבחור בסוג העבודה שאתה רוצה ואז להתמקד בתחום.
|
|
חזרה לתוכן הדיון |
|