מבחן ממוחשב (codility) ואחר כך ראיון עם אחת המתכנתות בחברה. האווירה בראיון היתה מאוד נחמדה וקלילה. לא יודע לגבי ההמשך כי עוד לא קיבלתי תשובה.
שאלות מתוך הראיון
המבחן הממוחשב כלל מימוש של שתי פונקציות:
1. פונקציה שמקבלת עץ בינארי לא ממויין ומחזירה את מספר הצמתים שהן visible, כלומר צמתים שהערך שלהן גדול מהערך של כל האבות במסלול אליהן.
2. פונקציה שמקבלת מערך של מספרים, צריכה למצוא את שני הערכים הכי קטנים במערך שהם לא שכנים ולא נמצאים בקצוות ולהחזיר את סכום שני הערכים האלה.
לגבי הראיון, היתה רק שאלה אחת קצרה בעלת שני סעיפים (תשובה בפסאודו קוד):
1. ממש פונקציה שמקבלת מערך ואינדקס, מזיזה את הערך באותו אינדקס לסוף המערך ועושה shift אחד שמאלה של כל האינדקסים שגדולים ממנו.
2. ממש פונקציה שמקבלת מערך לא ממויין ומחזירה את המספר המינימלי של קריאות לפנוקציה הקודמת שצריך לבצע על מנת למיין את המערך. (לא צריך למיין את המערך)
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2019
לגבי השאלה סעיף 2
נתון שכל המספרים מ 1 עד גודל המערך נמצאים כאיברים
פברואר 2019
ולגבי התשובה שאני נתתי לשאלה עם מיון המערך
לעבור על המערך מההתחלה לסוף למצוא את המספר הבא בסדרה כאשר מתחילים מהספר 1 ואז הספרה האחרונה שתמצא נחסיר אותה מגודל המערך וזה יהיה כמות הפעמים המינימלית שנצטרך לקרא לפונקציה הקודמת כלומר
עבור [3] [2] [1] [4] נעביר רק את 4 לסוף המערך
עבור [2] [3] [4] [1] נעביר קודם את 3 ואחריו את 4 ויהיה לנו מערך מסודר
משום מה הפתרון שלי לא העביר אותי לשבלב הבא אז יכול להיות שיש אופטימיזציה שלא עלית עליה
מרץ 2020
חושבת שהמספר הזה הוא כמספר הפעמים בו
האיבר הi לא שווה להאיבר ה i+1 (כי נתון שכל האיברים מופיעים במערך).
תהליך שכולל בין 3 ל-4 ראיונות מתוכם 3 מקצועיים ואחד עם hr. תהליך קצת מייאש אבל סביר. לקח להם הרבה זמן להחזיר תשובה והייתי צריך לפנות אליהם כדי שיחזרו אליי עם תשובה שלילית.