פנו אלי בלינקדאין, שלחתי קו"ח ואז הופניתי למבחן ONLINE של 90 דקות עם 2 שאלות קידוד, שאח"כ היה צריך להסביר את הפתרון (כגון סיבוכיות וכו')
לאחר מכן נקבע לי ראיון טלפוני (עם וידאו)
שאלות מתוך הראיון
איך היית מציב במבנה נתונים היררכיה של עובדים, לכל עובד יכול להיות עובדים מתחתיו
להגדיר פונקציות של הדפסה מחיקה והוספה, מה יכול להיות הבעיות ברקורסיה
אם רוצים לגשת לעובד ספציפי עם ID איך לגשת במהירות (אם זה עץ - זה לוקח הרבה זמן)
ראיון ראשוני טלפוני - התבצע בשיחת ווידאו. נדרש לכתוב קוד ולא רק פסודו קוד
שאלות מתוך הראיון
נשאלתי שתי שאלות -
1. פונקציה שמקבלת שני מערכים ממוינים, ומחזירה מה החיתוך ביניהם
2. פונקציה שמקבלת מערך ממוין וסטרים לא ממוין, ומחזירה מה החיתוך ביניהם
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2020
בשאלה הראשונה הפתרון האופטימלי הוא שני אינדקסים, אחד על כל מערך, וכל פעם לקדם אחד מהם. O(n) ריצה, o(1) זכרון
בשאלה השנינ צריך להפוך את המערך ל hashSet. זה ייתן לנו o(n+k( ריצה, כאשר n אורך המערך ו k אורך הסטרים, ו o(n) זכרון
2 ראיונות מקצועיים ואישיים וראיון נוסף מסכם עם מנהל מחלקה
שאלות מתוך הראיון
לשרותך מערך עם N מקומות, פונקציית malloc, free המקצות ומשחררות בייט אחד בלבד.
סיבוכיות O(1) להקצאת זכרון, שחרור ומקום נוסף. ממש את הפונקציות malloc, free
היו 2 ראיונות המראיינים די נחמדים אבל לא נתנו הרבה זמן לחשוב.
שאלות מתוך הראיון
נתונה קופסה המקבלת 2 ערכים ומחזירה מקסימום ומינימום. צייר מימוש של קופסה המקבלת 4 ערכים ומחזירה ממוינים(הקופסה מורכבת מהקופסה שלהלן). וכן קופסה המקבלת 6 וכנל(ניתן להשתמש בקופסה של 4)וכן כתוב נוסחת נסיגה של האלגוריתם לעיל
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2020
נשמע ממש כמו bubble sort
אוקטובר 2020
למיון של 4: מכניסים כל 2 לקופסא של 2(2 קופסאות)
את שני המקסימלים ממינים שוב ומוציאים את המקסימלי כמקסימלי
את שני המינימלים(מהמיון הראשוני) ממינים שוב ומוציאים את המינימלי כמינימלי
את שני הנותרים שעוד לא הוצאנו: מכניסים לקופסא נוספת של 2 ומוציאים אותם לאמצע
למיון של 6: אותו רעיון של מציאת מקסימום ומינימום (בעזרת קופסא של 4 ו3 קופסאות של 2)
ואז מיון ארבעת הנותרים בעזרת קופסא של 4
ינואר 2022
אפשר לממש גם עם 11 קופסאות ולא 13 (2 קופסאות של 4 + 3 קופסאות של 2):
1.ניקח 3 קופסאות של 2 ונעשה לכל זוג.
2. ניקח את כל המקסימלים מהקופסאות של 2 ונכניס לקופסה של 4, בנוסף נכניס עוד יציאה אחת (מינימום של אחת הקופסאות) אל תוך הרביעייה.
* 3 היציאות מהקופסה של 4 הם המקסימלים מכל ה 6.
3. משתי הקופסאות שלא נגענו במינימום שלהם ניקח את המינימליים ונכניס לקופסה.
4. את המוצא המקסימלי מהקופסה נשווה מול המינימלי בקופסה של ה 4, את המקסימום מביניהם נוציא החוצה.
5. ואת המינימום נשווה עם קופסה נוספת מול המינימום של הקופסה מסעיף 3 ונוציא את היציאות כפי שהן.
כל 6 הכניסות ממויינות תוך שימוש ב 11 קופסאות של סה"כ.