הגשתי קורות חיים דרך האתר שלהם ולאחר כמה שבועות התקשרו לקבוע ראיון.
ראיון קצר בטלפון על נושאים של OOP והעברת פרמטרים לפונקציות ב-C.
לאחר מכן הזמין אותי לראיון טכני במכון לשם. אחד המראיינים היה נוראי וגרם לי לסרב להצעה שלהם.
שאלות מתוך הראיון
1) אילו תכונות יש לשפה שתומכת בתכנות מונחה עצמים?
2) מה ההבדל בין C ל-C++?
3) מה זה הורשה ופולימורפיזם ומה ההבדל ביניהם?
4) מה זאת מחלקה אבסטרקטית ואיך יוצרים כזאת? איך עובדות פונקציות וירטואליות?
5) מה זה אנקפסולציה?
6) מהי מערכת הפעלה? למה צריך אותה? האם תמיד צריך כזאת?
7) מה ההבדל בין חוט לתהליך?
8) בעזרת איזה מבנה נתונים מממשים סמפור?
9) מה הן פסיקות ואיך אפשר לשנות את האופן שבו פסיקה מטופלת?
10) לבסוף ביקשו שאכתוב פונקציה שמקבלת שתי מטריצות ומכפילה אותן.
ראיון טלפוני עם מנהל הקבוצה, לאחריו קבע ראיון ולאחר שעברתי אותו ניקבע ראיון נוסף איתו ועם המנהל שלו.
בראיון האחרון הרגיש שהתפקיד היה מכור מראש.
סיכמנו שהעבודה היא בC# ושאני לא יודע C++ ולא אשאל עליה בראיונות.
בראיון האחרון הוא התעקש שאפתור שאלה בC++ וכשלא ידעתי הוא סיים את הראיון באמצע.
שאלות מתוך הראיון
איזה DESINGN PATTERNS אתה מכיר?
הרחב על עקרונות של תכנות מונחה עצמים.
תשווה בין JAVA לבין C.
מזה STRUCT? ומה ההבדל שלו לעומת מחלקה?
מזה פונקציה וירטואלית?
איזה פרוייקטים עשית?
ניתן גם קטע קוד בJAVA ונישאל מה יודפס.
שפה מבוססת אובייקטים מבוססת על הרעיון של אובייקטים כאינטראקציה. המשתנים הם אובייקטים class (מורכבים יותר מint) שעובדים בינם לאובייקטים אחרים.
עקרונות: 1. קיפסול: לכל אובייקט יש משתנים פרטיים שניתן לגשת רק דרך מתודות מובנות
2. אבסטרציה: הקונספט שכל אובייקט חושף מנגנון פעולה עילי שלא חושף את התוכן וכך ניתן לעבוד על הקוד מבחוץ בלי שמשנה מה הולך בפנים.
3. פולימורפיזם והורשה: היכולת לממש אלגוריתמים ומבני נתונים לשימוש כללי, ולגזור מהם צורות שימוש שונות בהתאם לעצמים ולנסיבות המשתנות.
א. יכולת עבודה עם אובייקטים ומימוש אופרטורים עליהם (שמאפשרים עבודה בצורה נוחה)
ב. יכולת ליצור מחלקות אבסטרקציות, להשתמש בהורשה, מתודות וירטואליות ומתודות טהורות.
ג. השימוש בC++ עדיף על C גם מבחינת הקומפיילר הגמיש שעוזר למנוע זליגת זיכרון.
1.נתון מערך a מספר d וגודל המערך n. צריך להזיז את האיברים במערך d פעמים שמאלה בצורה מעגלת ולהדפיס את מערך התוצאה עם רווחים.
למשל a= 1 2 3 4 5 d=2 n=5.
a= 1 2 3 4 5 => a= 2 3 4 5 1 => a= 3 4 5 2 1
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוגוסט 2020
1. לעשות פונקציה שעושה רוטציה 1 ע"י שמירה של הערך הראשון במערך והזזה של כל הערכים לאינדקס ה- i-1 והשמה של הערך השמור במקום האחרון במערך. קריאה לפונקציה הזאת d פעמים מתוך פונקציה אחרת שבסוף מחזירה את המערך. כאשר d=n סיבוכיות של n בריבוע. ניתן גם לבצע ב-n ע"י הדפסה של הערך במקום ה i+d %n ללא שינוי של המערך. חיסרון שהמערך לא באמת משתנה.
אוקטובר 2020
להקצות מערך חדש בגודל n, לעבור על המערך הקיים ולהעתיק ממנו מכל תא i לתא i+d מודלו n של המערך החדש. בהנחה ורוצים כי השינוי יעשה על המערך הקיים מעתיקים את המערך החדש למערך הישן. (אם נכתב ב-C נשחרר לאחר מכן את המערך החדש).
סיבוכיות n
מאי 2021
יצירת מערך חדש brr בגודל d והעתקה מהמערך המקורי את המספרים עד מקום d.
הזזת המספרים ממקום d לתחילת המערך.
העתקת brr למערך המקורי ממקום d.
שאלה איזה אלגוריתם היית משתמש כדי למצוא הכי מהר את הגזר הכי קרוב לארנב שייפול באקראי בשדה?
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2020
לשים את כל הגזרים בטבלת גיבוב וכאשר הארנב נוחת בנק מסויימת בודקים את הנק הקרובה ביותר מבין התאים שמויינו לפי הפונקציית מיון בתאים של הטבלה שמעליו ומתחתיו וגם באותה נק
מפתחת ומייצרת אמצעי לחימה מהמתקדמים ביותר עבור צה”ל ומערכת הביטחון, תוך ביסוס חוסנה הכלכלי ע”י פעילות בשוק הבינלאומי. החברה מציעה היום ללקוחותיה מגוון רחב ביותר של פתרונות חדשניים בחזית הטכנולוגיה העולמית, החל ממערכות תת-מימיות, עבור דרך אמצעים ומערכות ימיות, יבשתיות ואוויריות וגמור במערכות בחלל.