Anonymous : |
שאלות כמו
* מציאת האיבר הגדול ביותר במערך * sorting למערך ושאר שאלות חשיבה לוגית (ופחות סינטקס) השפה לא משנה, אבל אני מתכוון לענות על התשובות בפרל/פיתון/js (לפי הסדר) |
mksoft : |
אף פעם לא הבנתי את השאלות מהסוג הזה. בטח, בוא נשאל אותך שאלות על דברים שהם בעיות פתורות מזמן וכל מפתח/ת מתחיל/ה ימצאו תשובה תוך שניה ב-StackOverflow וכד'.
אפשר לחשוב זה ממש קשור למה שעליך לעשות בחברה. |
elcuco : | ||
בראיונות טכניים ביקשו ממני: * לממש סקיצה של אלגוריתם להקצאת זיכרון. אתה מבקש איזור זכרון, ואת כות וקורה ממנו. הקוד לא מסובך - אבל רוצים לראות איך הקוד של המהנדס נראה (וכמה טריקים פשוטים מאוד בהקצאת זכרון). * הסבירו לי על רגל אחת איך עובד אלגוריתם של 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). |
elcuco : |
* נותנים רשימה של מספרים ואומרים וביקשו ממני לברר איזה חסר, זה ב־O(1). |
elcuco : |
מאיר, תפסיק לבלבל את השכל, השפות ההיפסטריות עם הזקנקן המגוחך הזה כתובות ב-C++ אז... כן. ולא, הן לא מתאימות לכל מטרה.
ומה אתה היית שואל מרואיין לתפקיד של פיתוח ווב? |
mksoft : |
* שאלה טכנית ששאלו: תכתוב קוד שמקבל שתי מחרוזות, וכתוצאה אתה מקבל העתק של המחרוזת הראשונה ללא השנייה. זה צריך להיעשות ב־O(n). אפשר לעשות את זה בעזרת העתקה למחרוזת שנייה, אבל אז זה לא inplace. ומי שחושב לעשות strstr טועה, כי זה O(n^2). |
קוד: |
void copy (const std::string & s1 , const std::string & s2, std::string & s3) {s3 = s1;} |
elcuco : | ||||
אבל אפשר פשוט להשתמש ב string_view ואז זה אתה חוסף העתקה. |
קוד: |
char * epic_func( char* s1, const char *s2); char *s1 = strdup("1122aabb22cc"); epic_func( s1, "22" ); // s1 = "11aabbcc" |
קוד: |
//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 |
Anonymous : | ||
|
קוד: |
% 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] >>> |
צפריר : |
14: בום. 701: בום. |
mksoft : |
ככל הזכור לי, זה גם דורש עבור מספר שמתחלק ב-7. |
mksoft : |
פשוט זה המקרה הסטנדרטי של 7 בום. זו הסיבה שצפריר הזכיר שם את 14.
יכול להיות שהמראיין שלך לא מכיר, אז הוא צריך ראיון למראיינים. |