מאוד נחמדים ומסודרים, התרשמתי מהם מאוד לטובה.
הייתי ב2 סשנים של ראיונות מקצועיים - כל סשן מורכב מ-2 ראיונות עוקבים עם מראיינים שונים. אח"כ אמור להיות ראיון HR למיטב זכרוני, ואולי עוד ראיון לא מקצועי.
שאלות מתוך הראיון
ממליץ לקרוא באופן כללי על זכרון NAND. לצערי אני לא זוכר במדויק את השאלות עצמן.
1. מיון מערך שמייצג זכרון (key, value) לפי ה-value
ואם המערך הוא רשימה מקושרת חד כיוונית - key, value, *next.
2. שאלות סביב מערך בסדר גודל עצום של מבנה נתונים, אם ידוע שכל הערכים הדרושים (value) הם בטווח 1-100. למשל, מציאת מספר המופעים של ערך מסויים.
איך תכניס ערך חדש למערך הזה? מה הסיבוכיות?
3. כמה שאלות באותו סגנון של ניהול של זכרון NAND לפי container לבחירה, כאשר יש לזכרון הזה אופי של מפתח וערך - יש לממש פונקצית read, write לזכרון וכן יש לסדר את הזכרון כך שיהיה נגיש לפי הערך האחרון שנקרא - כלומר, ערך שנקרא זה עתה יהיה פחות או יותר "מעניין" מערך שעוד לא נקרא.
4. הדפס את כל הפרמוטציות של ABC
5. פעולות חישוביות בבסיסים שונים, בעיקר בבסיס 3
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2024
1. אפשר למצוא דוגמאות בלי סוף, בפתרון C - אפשר לעשות פונקצית swap משלך או להשתמש בqsort. בC++ אפשר לעשות וקטור ולסדר אותו עם std::sort
2. אני לא זוכר בדיוק את השאלות הספציפיות,אבל הרעיון היה לעשות מערך בגודל 100, כאשר האינדקס של המערך הזה הוא בעצם מיפוי של הערך מהמערך הגדול.
אם השאלה הייתה למצוא מספר המופעים, יש לרוץ פעם אחת על המערך הגדול ולעדכן את המונה לפי האינדקס המתאים במערך השני. עדיף לדאוג לפונקצית הכנסה/עדכון שעושה את העדכון הזה במערך הקטן.
3. בעקרון זאת שוב סוג של שאלת מיון מבנה נתונים, אפשר לממש ב-C או C++. השאלה נשמעת יותר מסובכת ממה שהיא בפועל, אני לא זוכר את הפתרון שלי כל כך אבל זה לא היה בשמיים.
4. מודה שהסתבכתי שם ברקורסיה ולא ממש הצלחתי דווקא את השאלה הזאת בראיון...
5. האמת, למרות שמדובר באחד הבכירים הכי נחמדים שיצא לי לפגוש - לא הבנתי את פשר השאלות, פשוט חיבור וחיסור על הלוח - לא כל כך הבנתי מה רצה לראות פה.
כמה פעמים מופיעה הספרה 0 בסוף הייצוג העשרוני של המספר 100 עצרת?
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2025
בתצוגה בינארית כל מספר אי זוגי יסתיים ב lsb =1
מכפלות של מספרים אי זוגים תמיד יסתיימו ב1
ולכן יש לספור כמה רכיבי 2 יש ב100!
ישנם רכיבים בהם יש יצוג של 2 כמה פעמים ולכן נחלק ב2 כמה פעמים:
התשובה היא 50+25+12+6+3+1 =97 אפסים בחלק הימני של 100!
Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target number. Let these two numbers be numbers[index1] and numbers[index2] where 1 <= index1 < index2 <= numbers.length.
Return the indices of the two numbers, index1 and index2, added by one as an integer array [index1, index2] of length 2.