ראיון בהייטק פגישה 5 - programer interview lesson 5

Post on 28-Jul-2015

183 views 3 download

Tags:

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