שאלה ״מיוחדת״ בראיון עבודה

לא מזמן היה לי ראיון עבודה מול ראש צוות שכנראה היה חובב חידות מתמטיות. לכן הוא החליט להשתמש בראיון בחידה מתמטית בסגנון השאלה הזו (זו לא השאלה הספציפית שהוא שאל).

במעבר על השאלות, אני רואה בהן שאלות שבהחלט יכולות לבחון לא מעט דברים כחלק מראיון עבודה מעניין - הן דורשות הבנה של בעיה מורכבת שדורשת תשומת לב לפרטים, ולא פעם גם הפורמט של התשובה שצריך להחזיר דורש תשומת לב לפרטים כזו (נניח להחזיר סכום של מערך במקום את המערך עצמו, או את המספר הכי גדול או קטן שלו).

הבעיה? אני הרגשתי שהראיון נערך בלחץ זמן שבו המראיין ציפה שמיד אדע לתת את התשובה לחידה המתמטית ואתחיל לכתוב קוד, ואני הרגשתי שאני לא מצליחה לפצח את העקרון המתמטי מאחורי החידה ולכן בעצם לא יכולתי להתחיל לכתוב קוד. כשהתחלתי לחשוב בקול על איך לפתור את הבעיה, המראיין פחות או יותר נפנף אותי, ו״הציע״ לי לשלוח אליו פתרון שאכתוב עצמאית בלעדיו. כתבתי מה שיכולתי מתוך המסקנות שהגעתי אליהן, והוא לא חזר אלי.

בסופו של דבר נכשלתי בראיון בלי שבכלל בחנו את יכולות התכנות שלי, אלא פשוט כי לא הצלחתי לפתור חידה מתמטית.

אני לא חלילה מתלוננת כי ברור שאלו חוקי המשחק - המראיין בוחר לשאול שאלות שלדעתו מראות את יכולת החשיבה שמתאימה לתפקיד, ומי שלא מצליח לענות לא מתאים.

אבל אני שואלת את עצמי עד כמה שאלות כאלו שאנשים רבים לא בהכרח מתרגלים ביום יום ולכן אין להם תשובה ב״שלוף״ הן באמת יעילות. נכון, לשאלות ״ליטקוד״ יש את הבעיה ההפוכה שרבים כנראה כבר תרגלו אותן, אבל עדיין אפשר לראות מי הבין את הפתרון לעומק או לא.
 

vinney

Well-known member
שאלות כאלה לא מראות שום דבר מבחינת יכולת פתרון בעיות הנדסיות. במקום העבודה הנוכחי שלי יש איסור מוחלט לשאול כאלה שאלות (זה פעם היה מקום ידוע לשמצה בראיונות כאלה, הפסיקו עם זה כי זה פשוט לא תורם שום דבר לגיוסים).

לחידה המתמטית הספציפית של collatz sequence אפשר למצוא פתרון אלגוריתמי. אני לא יודע אם לזה הייתה הכוונה במקרה שלך, או שבאמת ציפו לאיזה טריק מתמטי. אחד הראיונות שהיה לי לפני אי אילו שנים בארץ היה לזהות איזשהו סוג של סדרה מתכנסת ולפתור למה היא מתכנסת. תרגיל חדוו"א כזה. שנאתי כל רגע. הם הציעו לי חוזה אגב, לא הלכתי.
 

Lucifer LightBringer

Well-known member
שאלות כאלה לא מראות שום דבר מבחינת יכולת פתרון בעיות הנדסיות. במקום העבודה הנוכחי שלי יש איסור מוחלט לשאול כאלה שאלות (זה פעם היה מקום ידוע לשמצה בראיונות כאלה, הפסיקו עם זה כי זה פשוט לא תורם שום דבר לגיוסים).

לחידה המתמטית הספציפית של collatz sequence אפשר למצוא פתרון אלגוריתמי. אני לא יודע אם לזה הייתה הכוונה במקרה שלך, או שבאמת ציפו לאיזה טריק מתמטי. אחד הראיונות שהיה לי לפני אי אילו שנים בארץ היה לזהות איזשהו סוג של סדרה מתכנסת ולפתור למה היא מתכנסת. תרגיל חדוו"א כזה. שנאתי כל רגע. הם הציעו לי חוזה אגב, לא הלכתי.
ולי נתנו שאלה על מערכות ספרתיות ונתתי את הפיתרון הסאב אופטימלי.
ובאתי אז על תקן המתמטיקאי...

כנראה לא המשיכו איתי כי אמרתי להם את האמת לאורך כל הריאיון.
מוסר השכל, לא לומר את האמת לא משנה מה.
ללמוד מראש הממשלה שלנו. :-D
 

דיברגנט חדש

Well-known member
שאלות כאלה לא מראות שום דבר מבחינת יכולת פתרון בעיות הנדסיות. במקום העבודה הנוכחי שלי יש איסור מוחלט לשאול כאלה שאלות (זה פעם היה מקום ידוע לשמצה בראיונות כאלה, הפסיקו עם זה כי זה פשוט לא תורם שום דבר לגיוסים).

לחידה המתמטית הספציפית של collatz sequence אפשר למצוא פתרון אלגוריתמי. אני לא יודע אם לזה הייתה הכוונה במקרה שלך, או שבאמת ציפו לאיזה טריק מתמטי. אחד הראיונות שהיה לי לפני אי אילו שנים בארץ היה לזהות איזשהו סוג של סדרה מתכנסת ולפתור למה היא מתכנסת. תרגיל חדוו"א כזה. שנאתי כל רגע. הם הציעו לי חוזה אגב, לא הלכתי.
נראית לי שאלת רקורסיה פשוטה.
 

vinney

Well-known member
collatz sequence? השאלה שאליה מחפשת עבודה קישרה היא לא שאלת רקורסיה פר סה. רקורסיה זה חישוב הסדרה. התרגיל עצמו זאת שאלת DP די סטנדרטית.
 

Be1n

Member
collatz sequence? השאלה שאליה מחפשת עבודה קישרה היא לא שאלת רקורסיה פר סה. רקורסיה זה חישוב הסדרה. התרגיל עצמו זאת שאלת DP די סטנדרטית.

אפשר לפתור גם רקורסיבית, לא?.
(יהיה יותר יקר, אבל תיאורטית ניתן)
 

vinney

Well-known member
בוודאי, אבל זאת לא הנקודה בשאלה. הסדרה מוגדרת ברקורסיה, אז וודאי שאפשר לממש את החישוב ברקורסיה.
 

Be1n

Member
בוודאי, אבל זאת לא הנקודה בשאלה. הסדרה מוגדרת ברקורסיה, אז וודאי שאפשר לממש את החישוב ברקורסיה.
מאתחל מילון. (שהמפתח הוא מספר בסדרה והערך שלו הוא מספר הצעדים עד ל1)
מאתחל משתנה longest
לולאה מ1 ל999,999:
בכל איטרציה:
סופר את מספר הצעדים עד להגעה ל-1. (משתמש במילון איפה שאפשר)
בודק האם זה גדול מlongest ואם כן - מציב בו.
שומר את זה במילון: הספרה הפותחת -> מספר הצעדים.

מחזיר את longest

הערות:
יש לי עוד התלבטות אם הייתי עושה גם מילון (מספר -> מספר הצעדים עד ל1)
מאתחל מילון. (שהמפתח הוא מספר בסדרה והערך שלו הוא מספר הצעדים עד להגעה ל1 )

יש לי חשש קטן לגבי המילון עם המיליון רשומות.

^ סתם בשבילי :)
 
נערך לאחרונה ב:

Be1n

Member
לא בטוח אם הייתי מקבל כזה פתרון.
צודק, הייתי לפני האוכל :censored: .
נראה לי שעכשיו הוא נכון. יש לי רק עוד התלבטות אחת אם לעשות גם מילון שהמפתח הוא המספר והערך הוא מספר הצעדים.
 
למעלה