ראיון בהייטק פגישה 5 - programer interview lesson 5
TRANSCRIPT
5פגישה
2015
(с) Igor Kleiner
הייטק למשרת עבודה לראיון הכנה סדנת
PROGRAMMING INTERVIEWS EXPOSED
ABOUT COURSE
REMINDER
RESUMES
RESUMES
• Everyone will ask you to see resume
RESUMES
• Everyone will ask you to see resume
• Good resume is necessary but not sufficient
RESUME EXAMPLE
RESUMES
• Sell yourself
את • לספר לא היא החיים קורות של המטרה , עבודה למצוא אלה שלך ההסטורייה
RESUMES
• Keep it short
מספיק סטודנט או מתחיל למהנדס כלל בדרך1עמוד
RESUMES
• List the right information: use buzzwords – R, JAVA, OPENCL, …
RESUMES
• Be clear: don’t use many fonts or formats
RESUMES
• Include only relevant informationנלדתה • איפה לציין חייבים לא
סיימתה • ספר בית איזה
אבל • לעזור יכול שלא מידע לרשום כדאי לאלפגוע עלול
RESUMES
• Use reverse chronological order
RESUMES
• Always proofread
כתיב • טעויות שאין לבדוק כדאי
RESUME - EXAMPLE
RESUME - EXAMPLE
RESUME - EXAMPLE
RESUME• Checklist
• 1 page
• only relevant information
• well structured
• reverse chronological order
• buzzwords
RESUMEהחיים • קורות מספר להכין כדאי לפעמים
מסוימים לתפקידים יתור שמתאים
בעיברית • החיים קורות להכין עדיף לפעמיםבאנגלית ולפעמים
INVARIANT QUESTIONS
INVARIANT QUESTIONSCHESS
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
•2*2
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 2*2• אי
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
•4*4 -
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
ניחוש:•
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
אפשרית ניחוש:• בילתי המשימה כנראה
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
אפשרית ניחוש:• בילתי המשימה כנראה
•? נוכיח איך
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
אפשרית ניחוש:• בילתי המשימה כנראה
•? נוכיח איך
שחורה – • משבצת מכסה דומינו כל אינוריאנטאחד 1 לבנה ומשבצת
INVARIANT QUESTIONSCHESS
לוח • על השאלה את לפתור לנסות אפשר
אפשר – 4*4• אי
אפשרית ניחוש:• בילתי המשימה כנראה
•? נוכיח איך
שחורה – • משבצת מכסה דומינו כל 1אינוריאנט , יש אבל אחד לבנה משבצות 30 – 32ומשבצת
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
INVARIANT QUESTIONSMARBLES
•? כאן שמורה מה
INVARIANT QUESTIONSMARBLES
•: כאן שמורה מה
• , האדומים שכמות נראה קצת נחשוב אםזוגי במספר משתנה פעם 2או 0כל
יש • אם 5בהתחלה בסוף ולכן אדמים. אדומה היא אז אחד אבן ישאר
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
1 2 3 4 5 6 7
1 2 3 5 8 13 ?
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פתרון:•למראיין( • שאלות א
•: הבעיה( את לחקות נתחיל ב
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
ניחוש – •
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פיובנצי – • סדרת ניחוש
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פיובנצי – • סדרת ניחוש
• ? נכונות נוכיח איך
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
פיובנצי – • סדרת ניחוש
נכונות • נוכיח איך
באינדוקציה • אפשר
דינמי • תכנות
יוצרת • פונקצייה
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•- ב האפשריות a(n)נסמם העליות כמות את.nממדרגה הסוף עד
•? שלנו המטרה אזי
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•- ב האפשריות a(n)נסמם העליות כמות את.nממדרגה הסוף עד
שלנו • המטרה = :a(1) אזי
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•- ב האפשריות a(n)נסמם העליות כמות את.nממדרגה הסוף עד
שלנו • המטרה = :a(1) אזי•a(N)=1
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•- ב האפשריות a(n)נסמם העליות כמות את.nממדרגה הסוף עד
שלנו • המטרה = :a(1) אזי• a(N)=1a(N-1)=1
•a(k)=a(k+1)+a(k+2)
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•- ב האפשריות a(n)נסמם העליות כמות את.nממדרגה הסוף עד
שלנו • המטרה = :a(1) אזי• a(N)=1a(N-1)=1
•a(k)=a(k+1)+a(k+2) המשוואות את בידיוק ואלופיובנצי סדרת של
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•a(k)=a(k+1)+a(k+2)
סיבוכיות:
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: דינמי תכנות בעזרת השאלה את נפתור
•a(k)=a(k+1)+a(k+2)
O(n)סיבוכיות:
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: פשוט תחתון חסם
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
•: פשוט תחתון חסם
MAGIC STAIRS
בן • בסולם לעלות ניתן אפשרויות Nבכמהבגודל, הוא צעד כל כאשר 2או 1מדרגות
יוצרת – • פונקצייה כסם פתרון
MISSING ELEMENT
מערך . Aנתון חיובים שלמים מספרים שלמערך : Bבונים איברי את אקראית מערבבים הבא באופן
אחרון Aשל איבר ומוחקים
MISSING ELEMENT
מערך . Aנתון חיובים שלמים מספרים שלמערך : Bבונים איברי את אקראית מערבבים הבא באופן
אחרון Aשל איבר ומוחקים
MISSING ELEMENT
האלמנט את שמחזיר יעיל אלגוריתם פתחבמערך Bהחוסר
MISSING ELEMENT
האלמנט את שמחזיר יעיל אלגוריתם פתחבמערך Bהחוסר
MISSING ELEMENT•? למראיון שאלות
•? זהים מספרים במערך יש האם
נראה • פתרונות 6האם
לבד • האפשריות פתרונות על חשבו
MISSING ELEMENT• : נאיבי פרתרון
MISSING ELEMENT•: הנאיבי פרתרון
•- מ איבר כל על הוא Aנעבור האם ונבדוק Bב-
MISSING ELEMENT•: הנאיבי פרתרון
•- מ איבר כל על הוא Aנעבור האם ונבדוק Bב-
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
MISSING ELEMENT•: הנאיבי פרתרון
•- מ איבר כל על הוא Aנעבור האם ונבדוק Bב-
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
• time complexity:
MISSING ELEMENT•: הנאיבי פרתרון
•- מ איבר כל על הוא Aנעבור האם ונבדוק Bב-
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
• time complexity: size(A)*size(B)= O(n^2)
MISSING ELEMENT•: סיכום הנאיבי פרתרון
יעיל • יור לפתרון חסם מהווה נאיבי פתרון
מפחדים • לא שאתם מראה נאיבי פתרוןאותה לפתור ומתחילים משאלה
נאיבי • פתרון על חשיבה בזמן לפעמיםאותו לשפר האך להבין אשר
MISSING ELEMENT•: משופר הנאיבי פרתרון
MISSING ELEMENT•: משופר הנאיבי פרתרון
•? יעיל לא באופן פעם כל לחפש למה
את • בינרי Bנמיין בחיפוש נעזר ואז
MISSING ELEMENT•: משופר הנאיבי פרתרון
•? יעיל לא באופן פעם כל לחפש למה
את • בינרי Bנמיין בחיפוש נעזר ואז
את • נמיין ?Bאיך•? מיונים על לשאלות מוכנים תהיו
MISSING ELEMENT•: משופר הנאיבי פרתרון
•? יעיל לא באופן פעם כל לחפש למה
את • בינרי Bנמיין בחיפוש נעזר ואז
את • נמיין B? quick sortאיך
•? מיונים על לשאלות מוכנים תהיו
SORTING ALGORITHMS
MISSING ELEMENT•: משופר הנאיבי פרתרון
• Sort(B)
• For each a in A
• Check if a is in B
• end
MISSING ELEMENT•: משופר הנאיבי פרתרון
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
MISSING ELEMENT•: משופר הנאיבי פרתרון
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
• Time complexity:
MISSING ELEMENT•: משופר הנאיבי פרתרון
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
• Time complexity: n*lg(n)
MISSING ELEMENT•: ב משופר הנאיבי פרתרון
מערך • גם נמיין ?Aאולי
MISSING ELEMENT•: ב משופר הנאיבי פרתרון
מערך • גם נמיין ?Aאולי• Sort(B), Sort A // nlgn
• for i=1 to N
• check if A[i]==B[i]
• end
• time complexity:
MISSING ELEMENT•: ב משופר הנאיבי פרתרון
מערך • גם נמיין ?Aאולי• Sort(B), Sort A // nlgn
• for i=1 to N
• check if A[i]==B[i]
• end
• time complexity: n lg(n) + אם גם עובוד אלגוריתםזהים מספרים יש
MISSING ELEMENT•: טוב פרתרון
•? לינארי בזמן שעובד פתרון קיים האם
MISSING ELEMENT•: טוב פרתרון
•? לינארי בזמן שעובד פתרון קיים האם
!HASHלינארי? •
MISSING ELEMENT•: טוב פרתרון
•? לינארי בזמן שעובד פתרון קיים האם
!HASHלינארי? •על • לשאלות מוכנים HASHתהיו
MISSING ELEMENT•: טוב פרתרון
• for each b in B insert b in HASH and increment it counter
• for each a in A decrement it counter. If counter of a <=0 return a
MISSING ELEMENT•: טוב פרתרון
• for each b in B insert b in HASH and increment it counter
• for each a in A decrement it counter. If counter of a <=0 return a
• Time complexity:
• Space complexity:
MISSING ELEMENT•: טוב פרתרון
• for each b in B insert b in HASH and increment it counter
• for each a in A decrement it counter. If counter of a <=0 return a
• Time complexity: O(n)
• Space complexity: O(n) + להתמודד יותר אלגוריתםזהים מספרים עם
MISSING ELEMENT•: ופשוט טוב פרתרון
MISSING ELEMENT•: ופשוט טוב פרתרון
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
MISSING ELEMENT•: ופשוט טוב פרתרון
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity:
• space complexity:
MISSING ELEMENT•: ופשוט טוב פרתרון
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
MISSING ELEMENT•: ופשוט טוב פרתרון
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
• Pitfalls:
MISSING ELEMENT•: ופשוט טוב פרתרון
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
• Pitfalls: overflow ?
MISSING ELEMENT•: טריק עם מצויין פתרון
• return xor(a_1,a_2,…,a_n,b_1,b_2,…,b_(n-1)
• time complexity:
• space complexity:
• pitfalls:
MISSING ELEMENT•: טריק עם מצויין פתרון
• return xor(a_1,a_2,…,a_n,b_1,b_2,…,b_(n-1)
• time complexity: O(n)
• space complexity: O(1)
• pitfalls: no
MISSING ELEMENTלסיכום:•הפתרונות • כל את להראות חייבים לא
MISSING ELEMENTלסיכום:•הפתרונות • כל את להראות חייבים לא
ביותר • הטוב הפתרון את למצוא חייבים לא
MISSING ELEMENTלסיכום:•הפתרונות • כל את להראות חייבים לא
ביותר • הטוב הפתרון את למצוא חייבים לא
שאלות • עם להתמודד יכולת להרות חשוב
MISSING ELEMENTלסיכום:•הפתרונות • כל את להראות חייבים לא
ביותר • הטוב הפתרון את למצוא חייבים לא
שאלות • עם להתמודד יכולת להרות חשוב
עקבית • חשיבה דרך להרות חשוב
MISSING ELEMENTלסיכום:•הפתרונות • כל את להראות חייבים לא
ביותר • הטוב הפתרון את למצוא חייבים לא
שאלות • עם להתמודד יכולת להרות חשוב
עקבית • חשיבה דרך להרות חשוב
שאלות • ולשאול לעזרה מוכנות להרות חשובצורך יש כאשר
NEXT TIME
NEXT TIME