שני ראיונות-ראשון כללי יותר עם מנהל בכיר, שני מול ראש צוות אליו מנתבים אותך- ראיון טכני יותר.
שאלות מתוך הראיון
צריך לבנות מכונה שמקבלת שרשרת של ביטים שהולכת וגדלה. השרשרת גדלה כך שכל פעם נוספים 0 או 1 חדשים בתור הLSB החדש של המספר. צריך להוציא 1 אם ברגע נתון המספר הבינארי המתקבל ע"י השרשרת מתחלק ב5, ו0 אחרת.
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2020
פתרון ע"י מכונת מצבים. צריך להתחיל ממצב התחלתי שבו אין לנו אף ביט. נשים לב שכל פעם שמצטרף ביט חדש לשרשרת זה שקול לשתי פעולות: אם מצטרף 0- אז זה בעצם שיפט שמאלה או הכפלה ב2, אם מצטרף 1- אז זה הכפלה ב2 והוספה של 1. ניתן להתחיל ממצב התלתי ולהגיע למס' סופי (5 או 6, לא זוכר...) של מצבים שמכסים את כל המצבים האפשריים.
המצבים הבאים שעוברים אליהם הם לפי השארית בחלוקה בחמש, למשל כאשר מקבלים ביט ראשון שהוא 0, אז הפלט הוא 1, וכאשר הביט הראשון הוא 1 אז הפלט הוא 0 ואנחנו במצב שבו יש לנו שארית 1, וזה המצב שנעבור אליו. וכך בונים את כלל המצבים בשרשרת.
האם ניתן להגיע לתוצאה 24 על ידי שימוש בארבעת המספרים 1,5,5,5 כאשר מותר להשתמש בארבע פעולות החשבון הבסיסיות ובסוגריים (ואם כן, איך?). והשאלה היותר מעניינת: איך לכתוב תוכנה שתענה על שאלה מהסוג הזה (האם וכיצד ניתן להגיע לתוצאה מסוימת ע"י שימוש בכמה מספרים מסוימים...)
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2020
עבור המקרה הספציפי:
(5-1/5)*5
אבל עיקר השאלה הוא בניית התוכנה. יש כמה דרכים שאפשר להציע..